[x86] Enable the new vector shuffle lowering by default.
[oota-llvm.git] / test / CodeGen / X86 / avx512-build-vector.ll
index 20f837129eb512b494fee95c22bda7a61fee0fdf..38f0cbcc8d171859aa2f6a4dd83ddaa5adae3dc1 100644 (file)
@@ -4,11 +4,10 @@ define <16 x i32> @test1(i32* %x) {
 ; CHECK-LABEL: test1:
 ; CHECK:       ## BB#0:
 ; CHECK-NEXT:    vmovd (%rdi), %xmm0
-; CHECK-NEXT:    vmovdqa32 {{.*}}(%rip), %zmm1
-; CHECK-NEXT:    vpxord %zmm2, %zmm2, %zmm2
-; CHECK-NEXT:    vpermt2d %zmm0, %zmm1, %zmm2
-; CHECK-NEXT:    vmovdqa32 {{.*}}(%rip), %zmm0
-; CHECK-NEXT:    vpermd %zmm2, %zmm0, %zmm0
+; CHECK-NEXT:    vpbroadcastq %xmm0, %ymm0
+; CHECK-NEXT:    vpxor %ymm1, %ymm1, %ymm1
+; CHECK-NEXT:    vpblendd {{.*#+}} ymm0 = ymm1[0,1,2,3],ymm0[4],ymm1[5,6,7]
+; CHECK-NEXT:    vinserti64x4 $1, %ymm1, %zmm0, %zmm0
 ; CHECK-NEXT:    retq
    %y = load i32* %x, align 4
    %res = insertelement <16 x i32>zeroinitializer, i32 %y, i32 4
@@ -27,7 +26,7 @@ define <16 x i32> @test2(<16 x i32> %x) {
 define <16 x float> @test3(<4 x float> %a) {
 ; CHECK-LABEL: test3:
 ; CHECK:       ## BB#0:
-; CHECK-NEXT:    vmovhlps %xmm0, %xmm0, %xmm1
+; CHECK-NEXT:    vpermilpd {{.*#+}} xmm1 = xmm0[1,0]
 ; CHECK-NEXT:    vxorps %xmm2, %xmm2, %xmm2
 ; CHECK-NEXT:    vmovss %xmm0, %xmm2, %xmm0
 ; CHECK-NEXT:    vmovss %xmm1, %xmm2, %xmm1