diff --git a/test/CodeGen/X86/vector-shuffle-combining-avx512bw.ll b/test/CodeGen/X86/vector-shuffle-combining-avx512bw.ll index c4568eaf722..d6541f68608 100644 --- a/test/CodeGen/X86/vector-shuffle-combining-avx512bw.ll +++ b/test/CodeGen/X86/vector-shuffle-combining-avx512bw.ll @@ -855,6 +855,22 @@ define <8 x double> @combine_vpermi2var_8f64_identity(<8 x double> %x0, <8 x dou ret <8 x double> %res1 } +define <8 x double> @combine_vpermi2var_8f64_as_shufpd(<8 x double> %x0, <8 x double> %x1) { +; X32-LABEL: combine_vpermi2var_8f64_as_shufpd: +; X32: # BB#0: +; X32-NEXT: vmovapd {{.*#+}} zmm2 = [1,0,8,0,2,0,10,0,5,0,13,0,6,0,15,0] +; X32-NEXT: vpermt2pd %zmm1, %zmm2, %zmm0 +; X32-NEXT: retl +; +; X64-LABEL: combine_vpermi2var_8f64_as_shufpd: +; X64: # BB#0: +; X64-NEXT: vmovapd {{.*#+}} zmm2 = [1,8,2,10,5,13,6,15] +; X64-NEXT: vpermt2pd %zmm1, %zmm2, %zmm0 +; X64-NEXT: retq + %1 = call <8 x double> @llvm.x86.avx512.mask.vpermi2var.pd.512(<8 x double> %x0, <8 x i64> , <8 x double> %x1, i8 -1) + ret <8 x double> %1 +} + define <8 x i64> @combine_vpermi2var_8i64_identity(<8 x i64> %x0, <8 x i64> %x1) { ; X32-LABEL: combine_vpermi2var_8i64_identity: ; X32: # BB#0: