@@ -5,15 +5,16 @@ define void @main.41() local_unnamed_addr #1 {
5
5
; CHECK-LABEL: main.41:
6
6
; CHECK: # %bb.0: # %entry
7
7
; CHECK-NEXT: vpbroadcastw (%rax), %xmm0
8
- ; CHECK-NEXT: vmovdqu (%rax), %ymm1
9
- ; CHECK-NEXT: vmovdqa {{.*#+}} ymm4 = [31,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]
10
- ; CHECK-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm2
11
- ; CHECK-NEXT: vpermt2w %ymm2 , %ymm4 , %ymm1
8
+ ; CHECK-NEXT: vmovdqu (%rax), %ymm2
9
+ ; CHECK-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm3
10
+ ; CHECK-NEXT: vmovdqa {{.*#+}} ymm1 = [31,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]
11
+ ; CHECK-NEXT: vpermi2w %ymm3 , %ymm2 , %ymm1
12
12
; CHECK-NEXT: vpextrw $0, %xmm0, %eax
13
13
; CHECK-NEXT: movzwl %ax, %eax
14
14
; CHECK-NEXT: vmovd %eax, %xmm0
15
15
; CHECK-NEXT: vcvtph2ps %xmm0, %xmm0
16
- ; CHECK-NEXT: vpextrw $0, %xmm4, %eax
16
+ ; CHECK-NEXT: vmovdqu (%rax), %xmm5
17
+ ; CHECK-NEXT: vpextrw $0, %xmm5, %eax
17
18
; CHECK-NEXT: movzwl %ax, %eax
18
19
; CHECK-NEXT: vmovd %eax, %xmm2
19
20
; CHECK-NEXT: vcvtph2ps %xmm2, %xmm2
@@ -25,14 +26,14 @@ define void @main.41() local_unnamed_addr #1 {
25
26
; CHECK-NEXT: vpextrw $0, %xmm3, %eax
26
27
; CHECK-NEXT: movzwl %ax, %eax
27
28
; CHECK-NEXT: vmovd %eax, %xmm3
28
- ; CHECK-NEXT: vpsrld $16, %xmm4 , %xmm5
29
- ; CHECK-NEXT: vpextrw $0, %xmm5 , %eax
29
+ ; CHECK-NEXT: vpsrld $16, %xmm5 , %xmm4
30
+ ; CHECK-NEXT: vpextrw $0, %xmm4 , %eax
30
31
; CHECK-NEXT: movzwl %ax, %eax
31
- ; CHECK-NEXT: vmovd %eax, %xmm5
32
+ ; CHECK-NEXT: vmovd %eax, %xmm4
32
33
; CHECK-NEXT: setne %al
33
34
; CHECK-NEXT: andl $1, %eax
34
35
; CHECK-NEXT: vcvtph2ps %xmm3, %xmm6
35
- ; CHECK-NEXT: vcvtph2ps %xmm5 , %xmm3
36
+ ; CHECK-NEXT: vcvtph2ps %xmm4 , %xmm3
36
37
; CHECK-NEXT: kmovw %eax, %k0
37
38
; CHECK-NEXT: vucomiss %xmm6, %xmm3
38
39
; CHECK-NEXT: setnp %al
@@ -46,12 +47,12 @@ define void @main.41() local_unnamed_addr #1 {
46
47
; CHECK-NEXT: movw $-5, %ax
47
48
; CHECK-NEXT: kmovd %eax, %k1
48
49
; CHECK-NEXT: kandw %k1, %k0, %k0
49
- ; CHECK-NEXT: vprolq $32, %xmm1, %xmm5
50
- ; CHECK-NEXT: vpextrw $0, %xmm5 , %eax
50
+ ; CHECK-NEXT: vprolq $32, %xmm1, %xmm4
51
+ ; CHECK-NEXT: vpextrw $0, %xmm4 , %eax
51
52
; CHECK-NEXT: movzwl %ax, %eax
52
- ; CHECK-NEXT: vmovd %eax, %xmm5
53
- ; CHECK-NEXT: vcvtph2ps %xmm5 , %xmm5
54
- ; CHECK-NEXT: vucomiss %xmm5 , %xmm0
53
+ ; CHECK-NEXT: vmovd %eax, %xmm4
54
+ ; CHECK-NEXT: vcvtph2ps %xmm4 , %xmm4
55
+ ; CHECK-NEXT: vucomiss %xmm4 , %xmm0
55
56
; CHECK-NEXT: setnp %al
56
57
; CHECK-NEXT: sete %cl
57
58
; CHECK-NEXT: testb %al, %cl
@@ -62,18 +63,18 @@ define void @main.41() local_unnamed_addr #1 {
62
63
; CHECK-NEXT: korw %k1, %k0, %k0
63
64
; CHECK-NEXT: movw $-9, %ax
64
65
; CHECK-NEXT: kmovd %eax, %k1
65
- ; CHECK-NEXT: vpsrlq $48, %xmm1, %xmm5
66
- ; CHECK-NEXT: vpextrw $0, %xmm5 , %eax
66
+ ; CHECK-NEXT: vpsrlq $48, %xmm1, %xmm4
67
+ ; CHECK-NEXT: vpextrw $0, %xmm4 , %eax
67
68
; CHECK-NEXT: kandw %k1, %k0, %k0
68
69
; CHECK-NEXT: movzwl %ax, %eax
69
- ; CHECK-NEXT: vmovd %eax, %xmm5
70
- ; CHECK-NEXT: vcvtph2ps %xmm5 , %xmm6
71
- ; CHECK-NEXT: vpsrlq $48, %xmm4 , %xmm5
72
- ; CHECK-NEXT: vpextrw $0, %xmm5 , %eax
70
+ ; CHECK-NEXT: vmovd %eax, %xmm4
71
+ ; CHECK-NEXT: vcvtph2ps %xmm4 , %xmm6
72
+ ; CHECK-NEXT: vpsrlq $48, %xmm5 , %xmm4
73
+ ; CHECK-NEXT: vpextrw $0, %xmm4 , %eax
73
74
; CHECK-NEXT: movzwl %ax, %eax
74
- ; CHECK-NEXT: vmovd %eax, %xmm5
75
- ; CHECK-NEXT: vcvtph2ps %xmm5 , %xmm5
76
- ; CHECK-NEXT: vucomiss %xmm6, %xmm5
75
+ ; CHECK-NEXT: vmovd %eax, %xmm4
76
+ ; CHECK-NEXT: vcvtph2ps %xmm4 , %xmm4
77
+ ; CHECK-NEXT: vucomiss %xmm6, %xmm4
77
78
; CHECK-NEXT: setnp %al
78
79
; CHECK-NEXT: sete %cl
79
80
; CHECK-NEXT: testb %al, %cl
@@ -106,7 +107,7 @@ define void @main.41() local_unnamed_addr #1 {
106
107
; CHECK-NEXT: movzwl %ax, %eax
107
108
; CHECK-NEXT: vmovd %eax, %xmm6
108
109
; CHECK-NEXT: vcvtph2ps %xmm6, %xmm7
109
- ; CHECK-NEXT: vpsrldq {{.*#+}} xmm6 = xmm4 [10,11,12,13,14,15],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero
110
+ ; CHECK-NEXT: vpsrldq {{.*#+}} xmm6 = xmm5 [10,11,12,13,14,15],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero
110
111
; CHECK-NEXT: vpextrw $0, %xmm6, %eax
111
112
; CHECK-NEXT: kandw %k1, %k0, %k0
112
113
; CHECK-NEXT: movzwl %ax, %eax
@@ -146,12 +147,12 @@ define void @main.41() local_unnamed_addr #1 {
146
147
; CHECK-NEXT: movzwl %ax, %eax
147
148
; CHECK-NEXT: vmovd %eax, %xmm7
148
149
; CHECK-NEXT: vcvtph2ps %xmm7, %xmm7
149
- ; CHECK-NEXT: vpsrldq {{.*#+}} xmm4 = xmm4 [14,15],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero
150
- ; CHECK-NEXT: vpextrw $0, %xmm4 , %eax
150
+ ; CHECK-NEXT: vpsrldq {{.*#+}} xmm5 = xmm5 [14,15],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero
151
+ ; CHECK-NEXT: vpextrw $0, %xmm5 , %eax
151
152
; CHECK-NEXT: movzwl %ax, %eax
152
- ; CHECK-NEXT: vmovd %eax, %xmm4
153
- ; CHECK-NEXT: vcvtph2ps %xmm4 , %xmm4
154
- ; CHECK-NEXT: vucomiss %xmm7, %xmm4
153
+ ; CHECK-NEXT: vmovd %eax, %xmm5
154
+ ; CHECK-NEXT: vcvtph2ps %xmm5 , %xmm5
155
+ ; CHECK-NEXT: vucomiss %xmm7, %xmm5
155
156
; CHECK-NEXT: setnp %al
156
157
; CHECK-NEXT: sete %cl
157
158
; CHECK-NEXT: testb %al, %cl
@@ -219,7 +220,7 @@ define void @main.41() local_unnamed_addr #1 {
219
220
; CHECK-NEXT: movzwl %ax, %eax
220
221
; CHECK-NEXT: vmovd %eax, %xmm2
221
222
; CHECK-NEXT: vcvtph2ps %xmm2, %xmm2
222
- ; CHECK-NEXT: vucomiss %xmm2, %xmm5
223
+ ; CHECK-NEXT: vucomiss %xmm2, %xmm4
223
224
; CHECK-NEXT: setnp %al
224
225
; CHECK-NEXT: sete %cl
225
226
; CHECK-NEXT: testb %al, %cl
@@ -285,7 +286,7 @@ define void @main.41() local_unnamed_addr #1 {
285
286
; CHECK-NEXT: vmovd %eax, %xmm0
286
287
; CHECK-NEXT: vcvtph2ps %xmm0, %xmm0
287
288
; CHECK-NEXT: kshiftrw $1, %k0, %k0
288
- ; CHECK-NEXT: vucomiss %xmm0, %xmm4
289
+ ; CHECK-NEXT: vucomiss %xmm0, %xmm5
289
290
; CHECK-NEXT: setnp %al
290
291
; CHECK-NEXT: sete %cl
291
292
; CHECK-NEXT: testb %al, %cl
0 commit comments