インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス
インテル® ストリーミング SIMD 拡張命令 (インテル® SSE) は、単精度浮動小数点値の 4×4 行列を転置する次のマクロ関数を用意しています。
_MM_TRANSPOSE4_PS(row0, row1, row2, row3)
引数 row0、row1、row2、row3 は __m128 値であり、引数内の各要素が、4×4 行列の行に対応します。転置した行列は、引数 row0、row1、row2、row3 の形式で返されます。row0 には元の行列の列 0 が格納され、row1 には元の行列の列 1 が格納されます (以下同様)。
次の図に、このマクロの転置機能を示します。