# Macro Function for Matrix Transposition

The Streaming SIMD Extensions (SSE) also provide the following macro
function to transpose a 4 by 4 matrix of single precision floating point
values.

_MM_TRANSPOSE4_PS(row0, row1, row2, row3)

The arguments row0, row1,
row2, and row3 are __m128 values whose elements form the corresponding
rows of a 4 by 4 matrix. The matrix transposition is returned in arguments
row0, row1, row2,
and row3 where row0 now
holds column 0 of the original matrix, row1 now
holds column 1 of the original matrix, and so on.

The transposition function of this macro is illustrated in the "Matrix
Transposition Using the _MM_TRANSPOSE4_PS"
figure.

### Matrix Transposition Using _MM_TRANSPOSE4_PS Macro