Developer Guide and Reference

Contents

_mm256_permute_ps, _mm_permute_ps

Permutes 256-bit or 128-bit float32 values into a 256-bit or 128-bit destination vector. The corresponding Intel® AVX instruction is
VPERMILPS
.

Syntax

extern __m256 _mm256_permute_ps(__m256 m1, int control);
extern __m128 _mm_permute_ps(__m128 m1, int control);
Arguments
m1
a 256-bit or 128-bit float32 vector
control
an integer specified as an 8-bit immediate;
  • for the 256-bit
    m1
    vector this integer contains four 2-bit control fields in the low 8 bits of the immediate
  • for the 128-bit
    m1
    vector this integer contains two 2-bit control fields in the low 4 bits of the immediate
Description
The
_mm256_permute_ps
intrinsic permutes single-precision floating point elements (float32 elements) in the 256-bit source vector
m1
, according to a specified 2-bit control field,
control
, and stores the result in a destination vector.
The
_mm_permute_ps
intrinsic permutes single-precision floating point elements (float32 elements) in the 128-bit source vector
m1
, according to a specified 2-bit control field,
control
, and stores the result in a destination vector.
Returns
A 256-bit or 128-bit float32 vector with permuted values.