インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

行列の転置を行うマクロ関数

インテル® ストリーミング SIMD 拡張命令 (インテル® SSE) は、単精度浮動小数点値の 4×4 行列を転置する次のマクロ関数を用意しています。

_MM_TRANSPOSE4_PS(row0, row1, row2, row3)

引数 row0row1row2row3__m128 値であり、引数内の各要素が、4×4 行列の行に対応します。転置した行列は、引数 row0row1row2row3 の形式で返されます。row0 には元の行列の列 0 が格納され、row1 には元の行列の列 1 が格納されます (以下同様)。

次の図に、このマクロの転置機能を示します。

_MM_TRANSPOSE4_PS マクロによる行列の転置