@@ -33,12 +33,14 @@ define i32 @PR48215(i32 %a0, i32 %a1) {
33
33
; AVX2-NEXT: idivl %esi
34
34
; AVX2-NEXT: vmovd %eax, %xmm0
35
35
; AVX2-NEXT: vpbroadcastd %xmm0, %ymm0
36
- ; AVX2-NEXT: vmovdqa {{.*#+}} ymm1 = [0,1,2,3,4,5,6,7]
36
+ ; AVX2-NEXT: vmovd %edx, %xmm1
37
+ ; AVX2-NEXT: vpbroadcastd %xmm1, %xmm1
38
+ ; AVX2-NEXT: vmovdqa {{.*#+}} ymm2 = [0,1,2,3,4,5,6,7]
39
+ ; AVX2-NEXT: vpcmpgtd %ymm0, %ymm2, %ymm0
37
40
; AVX2-NEXT: vmovdqa {{.*#+}} xmm2 = [4,5,6,7]
38
- ; AVX2-NEXT: vpcmpgtd %ymm0, %ymm1, %ymm1
39
- ; AVX2-NEXT: vmovmskps %ymm1, %ecx
40
- ; AVX2-NEXT: vpcmpgtd %xmm0, %xmm2, %xmm0
41
- ; AVX2-NEXT: vmovmskps %xmm0, %eax
41
+ ; AVX2-NEXT: vpcmpgtd %xmm1, %xmm2, %xmm1
42
+ ; AVX2-NEXT: vmovmskps %ymm0, %ecx
43
+ ; AVX2-NEXT: vmovmskps %xmm1, %eax
42
44
; AVX2-NEXT: addl %ecx, %eax
43
45
; AVX2-NEXT: vzeroupper
44
46
; AVX2-NEXT: retq
@@ -49,8 +51,9 @@ define i32 @PR48215(i32 %a0, i32 %a1) {
49
51
; AVX512-NEXT: cltd
50
52
; AVX512-NEXT: idivl %esi
51
53
; AVX512-NEXT: vpbroadcastd %eax, %ymm0
54
+ ; AVX512-NEXT: vpbroadcastd %edx, %xmm1
52
55
; AVX512-NEXT: vpcmpltd {{.*}}(%rip), %ymm0, %k0
53
- ; AVX512-NEXT: vpcmpltd {{.*}}(%rip), %xmm0 , %k1
56
+ ; AVX512-NEXT: vpcmpltd {{.*}}(%rip), %xmm1 , %k1
54
57
; AVX512-NEXT: kmovw %k0, %eax
55
58
; AVX512-NEXT: movzbl %al, %ecx
56
59
; AVX512-NEXT: kmovw %k1, %eax
0 commit comments