diff options
Diffstat (limited to 'llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll')
| -rw-r--r-- | llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll b/llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll index c1e60a73dbf..351c91e7acf 100644 --- a/llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll +++ b/llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll @@ -91,6 +91,16 @@ define <8 x float> @combine_vpermilvar_8f32_identity(<8 x float> %a0) { ret <8 x float> %2 } +define <8 x float> @combine_vpermilvar_8f32_10326u4u(<8 x float> %a0) { +; ALL-LABEL: combine_vpermilvar_8f32_10326u4u: +; ALL: # BB#0: +; ALL-NEXT: vpermilps {{.*#+}} ymm0 = ymm0[1,0,3,2,6,u,4,u] +; ALL-NEXT: retq + %1 = tail call <8 x float> @llvm.x86.avx.vpermilvar.ps.256(<8 x float> %a0, <8 x i32> <i32 3, i32 2, i32 1, i32 0, i32 0, i32 1, i32 2, i32 undef>) + %2 = tail call <8 x float> @llvm.x86.avx.vpermilvar.ps.256(<8 x float> %1, <8 x i32> <i32 2, i32 3, i32 0, i32 1, i32 2, i32 3, i32 0, i32 undef>) + ret <8 x float> %2 +} + define <8 x float> @combine_vpermilvar_vperm2f128_8f32(<8 x float> %a0) { ; ALL-LABEL: combine_vpermilvar_vperm2f128_8f32: ; ALL: # BB#0: |

