# Intrinsics for Permute Operations

Parent topic: Intrinsics for Intel® Advanced Vector Extensions

- _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.
- _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.
- _mm256_permutevar_pd, _mm_permutevar_pd
  Permutes float64 values into a 256-bit or 128-bit destination vector. The corresponding Intel® AVX instruction is VPERMILPD.
- _mm_permutevar_ps, _mm256_permutevar_ps
  Permutes float32 values into a 256-bit or 128-bit destination vector. The corresponding Intel® AVX instruction is VPERMILPS.
- _mm256_permute2f128_pd
  Permutes 128-bit double-precision floating point containing fields into a 256-bit destination vector. The corresponding Intel® AVX instruction is VPERM2F128.
- _mm256_permute2f128_ps
  Permutes 128-bit single-precision floating point containing fields into a 256-bit destination vector. The corresponding Intel® AVX instruction is VPERM2F128.
- _mm256_permute2f128_si256
  Permutes 128-bit integer containing fields into a 256-bit destination vector. The corresponding Intel® AVX instruction is VPERM2F128.