Developer Guide and Reference

Contents

_mm256_permute_pd, _mm_permute_pd

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

Syntax

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

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804