@@ -2174,8 +2174,7 @@ define <4 x i64> @test_masked_8xi64_to_4xi64_perm_mask7(<8 x i64> %vec, <4 x i64
2174
2174
; CHECK-LABEL: test_masked_8xi64_to_4xi64_perm_mask7:
2175
2175
; CHECK: # %bb.0:
2176
2176
; CHECK-NEXT: vextracti32x4 $2, %zmm0, %xmm3
2177
- ; CHECK-NEXT: vpbroadcastq %xmm3, %ymm3
2178
- ; CHECK-NEXT: vmovdqa {{.*#+}} ymm4 = [2,0,3,7]
2177
+ ; CHECK-NEXT: vmovdqa {{.*#+}} ymm4 = [2,0,3,4]
2179
2178
; CHECK-NEXT: vpermi2q %ymm3, %ymm0, %ymm4
2180
2179
; CHECK-NEXT: vptestnmq %ymm2, %ymm2, %k1
2181
2180
; CHECK-NEXT: vpblendmq %ymm4, %ymm1, %ymm0 {%k1}
@@ -2189,9 +2188,8 @@ define <4 x i64> @test_masked_8xi64_to_4xi64_perm_mask7(<8 x i64> %vec, <4 x i64
2189
2188
define <4 x i64 > @test_masked_z_8xi64_to_4xi64_perm_mask7 (<8 x i64 > %vec , <4 x i64 > %mask ) {
2190
2189
; CHECK-LABEL: test_masked_z_8xi64_to_4xi64_perm_mask7:
2191
2190
; CHECK: # %bb.0:
2192
- ; CHECK-NEXT: vextracti32x4 $2, %zmm0, %xmm2
2193
- ; CHECK-NEXT: vpbroadcastq %xmm2, %ymm3
2194
- ; CHECK-NEXT: vmovdqa {{.*#+}} ymm2 = [2,0,3,7]
2191
+ ; CHECK-NEXT: vextracti32x4 $2, %zmm0, %xmm3
2192
+ ; CHECK-NEXT: vmovdqa {{.*#+}} ymm2 = [2,0,3,4]
2195
2193
; CHECK-NEXT: vptestnmq %ymm1, %ymm1, %k1
2196
2194
; CHECK-NEXT: vpermi2q %ymm3, %ymm0, %ymm2 {%k1} {z}
2197
2195
; CHECK-NEXT: vmovdqa %ymm2, %ymm0
@@ -3806,9 +3804,8 @@ define <4 x double> @test_masked_z_8xdouble_to_4xdouble_perm_mask2(<8 x double>
3806
3804
define <4 x double > @test_8xdouble_to_4xdouble_perm_mask3 (<8 x double > %vec ) {
3807
3805
; CHECK-LABEL: test_8xdouble_to_4xdouble_perm_mask3:
3808
3806
; CHECK: # %bb.0:
3809
- ; CHECK-NEXT: vextractf32x4 $2, %zmm0, %xmm1
3810
- ; CHECK-NEXT: vbroadcastsd %xmm1, %ymm2
3811
- ; CHECK-NEXT: vmovapd {{.*#+}} ymm1 = [0,2,1,7]
3807
+ ; CHECK-NEXT: vextractf32x4 $2, %zmm0, %xmm2
3808
+ ; CHECK-NEXT: vmovapd {{.*#+}} ymm1 = [0,2,1,4]
3812
3809
; CHECK-NEXT: vpermi2pd %ymm2, %ymm0, %ymm1
3813
3810
; CHECK-NEXT: vmovapd %ymm1, %ymm0
3814
3811
; CHECK-NEXT: retq
@@ -3819,8 +3816,7 @@ define <4 x double> @test_masked_8xdouble_to_4xdouble_perm_mask3(<8 x double> %v
3819
3816
; CHECK-LABEL: test_masked_8xdouble_to_4xdouble_perm_mask3:
3820
3817
; CHECK: # %bb.0:
3821
3818
; CHECK-NEXT: vextractf32x4 $2, %zmm0, %xmm3
3822
- ; CHECK-NEXT: vbroadcastsd %xmm3, %ymm3
3823
- ; CHECK-NEXT: vmovapd {{.*#+}} ymm4 = [0,2,1,7]
3819
+ ; CHECK-NEXT: vmovapd {{.*#+}} ymm4 = [0,2,1,4]
3824
3820
; CHECK-NEXT: vpermi2pd %ymm3, %ymm0, %ymm4
3825
3821
; CHECK-NEXT: vxorpd %xmm0, %xmm0, %xmm0
3826
3822
; CHECK-NEXT: vcmpeqpd %ymm0, %ymm2, %k1
@@ -3835,9 +3831,8 @@ define <4 x double> @test_masked_8xdouble_to_4xdouble_perm_mask3(<8 x double> %v
3835
3831
define <4 x double > @test_masked_z_8xdouble_to_4xdouble_perm_mask3 (<8 x double > %vec , <4 x double > %mask ) {
3836
3832
; CHECK-LABEL: test_masked_z_8xdouble_to_4xdouble_perm_mask3:
3837
3833
; CHECK: # %bb.0:
3838
- ; CHECK-NEXT: vextractf32x4 $2, %zmm0, %xmm2
3839
- ; CHECK-NEXT: vbroadcastsd %xmm2, %ymm3
3840
- ; CHECK-NEXT: vmovapd {{.*#+}} ymm2 = [0,2,1,7]
3834
+ ; CHECK-NEXT: vextractf32x4 $2, %zmm0, %xmm3
3835
+ ; CHECK-NEXT: vmovapd {{.*#+}} ymm2 = [0,2,1,4]
3841
3836
; CHECK-NEXT: vxorpd %xmm4, %xmm4, %xmm4
3842
3837
; CHECK-NEXT: vcmpeqpd %ymm4, %ymm1, %k1
3843
3838
; CHECK-NEXT: vpermi2pd %ymm3, %ymm0, %ymm2 {%k1} {z}
0 commit comments