@@ -43,13 +43,11 @@ define void @v_test_canonicalize__half(half addrspace(1)* %out) nounwind {
43
43
;
44
44
; AVX512-LABEL: v_test_canonicalize__half:
45
45
; AVX512: # %bb.0: # %entry
46
- ; AVX512-NEXT: movzwl (%rdi), %eax
47
- ; AVX512-NEXT: movzwl {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %ecx
48
- ; AVX512-NEXT: vmovd %ecx, %xmm0
46
+ ; AVX512-NEXT: vpinsrw $0, (%rdi), %xmm0, %xmm0
47
+ ; AVX512-NEXT: vpmovzxwq {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero
49
48
; AVX512-NEXT: vcvtph2ps %xmm0, %xmm0
50
- ; AVX512-NEXT: vmovd %eax, %xmm1
51
- ; AVX512-NEXT: vcvtph2ps %xmm1, %xmm1
52
- ; AVX512-NEXT: vmulss %xmm0, %xmm1, %xmm0
49
+ ; AVX512-NEXT: vcvtph2ps {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm1
50
+ ; AVX512-NEXT: vmulss %xmm1, %xmm0, %xmm0
53
51
; AVX512-NEXT: vxorps %xmm1, %xmm1, %xmm1
54
52
; AVX512-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0],xmm1[1,2,3]
55
53
; AVX512-NEXT: vcvtps2ph $4, %xmm0, %xmm0
@@ -144,9 +142,7 @@ define half @complex_canonicalize_fmul_half(half %a, half %b) nounwind {
144
142
; AVX512-NEXT: vcvtps2ph $4, %xmm0, %xmm0
145
143
; AVX512-NEXT: vpmovzxwq {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero
146
144
; AVX512-NEXT: vcvtph2ps %xmm0, %xmm0
147
- ; AVX512-NEXT: movzwl {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %eax
148
- ; AVX512-NEXT: vmovd %eax, %xmm2
149
- ; AVX512-NEXT: vcvtph2ps %xmm2, %xmm2
145
+ ; AVX512-NEXT: vcvtph2ps {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm2
150
146
; AVX512-NEXT: vmulss %xmm2, %xmm0, %xmm0
151
147
; AVX512-NEXT: vxorps %xmm2, %xmm2, %xmm2
152
148
; AVX512-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0],xmm2[1,2,3]
@@ -228,9 +224,7 @@ define void @v_test_canonicalize_v2half(<2 x half> addrspace(1)* %out) nounwind
228
224
; AVX512-LABEL: v_test_canonicalize_v2half:
229
225
; AVX512: # %bb.0: # %entry
230
226
; AVX512-NEXT: vmovd {{.*#+}} xmm0 = mem[0],zero,zero,zero
231
- ; AVX512-NEXT: movzwl {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %eax
232
- ; AVX512-NEXT: vmovd %eax, %xmm1
233
- ; AVX512-NEXT: vcvtph2ps %xmm1, %xmm1
227
+ ; AVX512-NEXT: vcvtph2ps {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm1
234
228
; AVX512-NEXT: vpshufb {{.*#+}} xmm2 = xmm0[2,3],zero,zero,zero,zero,zero,zero,xmm0[u,u,u,u,u,u,u,u]
235
229
; AVX512-NEXT: vcvtph2ps %xmm2, %xmm2
236
230
; AVX512-NEXT: vmulss %xmm1, %xmm2, %xmm2
0 commit comments