@@ -95,9 +95,7 @@ define <2 x double> @sitofp_4i32_to_2f64(<4 x i32> %a) {
95
95
;
96
96
; AVX-LABEL: sitofp_4i32_to_2f64:
97
97
; AVX: # %bb.0:
98
- ; AVX-NEXT: vcvtdq2pd %xmm0, %ymm0
99
- ; AVX-NEXT: # kill: def $xmm0 killed $xmm0 killed $ymm0
100
- ; AVX-NEXT: vzeroupper
98
+ ; AVX-NEXT: vcvtdq2pd %xmm0, %xmm0
101
99
; AVX-NEXT: retq
102
100
%cvt = sitofp <4 x i32 > %a to <4 x double >
103
101
%shuf = shufflevector <4 x double > %cvt , <4 x double > undef , <2 x i32 > <i32 0 , i32 1 >
@@ -130,21 +128,11 @@ define <2 x double> @sitofp_8i16_to_2f64(<8 x i16> %a) {
130
128
; SSE-NEXT: cvtdq2pd %xmm0, %xmm0
131
129
; SSE-NEXT: retq
132
130
;
133
- ; AVX1-LABEL: sitofp_8i16_to_2f64:
134
- ; AVX1: # %bb.0:
135
- ; AVX1-NEXT: vpmovsxwd %xmm0, %xmm0
136
- ; AVX1-NEXT: vcvtdq2pd %xmm0, %ymm0
137
- ; AVX1-NEXT: # kill: def $xmm0 killed $xmm0 killed $ymm0
138
- ; AVX1-NEXT: vzeroupper
139
- ; AVX1-NEXT: retq
140
- ;
141
- ; AVX2-LABEL: sitofp_8i16_to_2f64:
142
- ; AVX2: # %bb.0:
143
- ; AVX2-NEXT: vpmovsxwd %xmm0, %ymm0
144
- ; AVX2-NEXT: vcvtdq2pd %xmm0, %ymm0
145
- ; AVX2-NEXT: # kill: def $xmm0 killed $xmm0 killed $ymm0
146
- ; AVX2-NEXT: vzeroupper
147
- ; AVX2-NEXT: retq
131
+ ; VEX-LABEL: sitofp_8i16_to_2f64:
132
+ ; VEX: # %bb.0:
133
+ ; VEX-NEXT: vpmovsxwd %xmm0, %xmm0
134
+ ; VEX-NEXT: vcvtdq2pd %xmm0, %xmm0
135
+ ; VEX-NEXT: retq
148
136
;
149
137
; AVX512-LABEL: sitofp_8i16_to_2f64:
150
138
; AVX512: # %bb.0:
@@ -186,21 +174,11 @@ define <2 x double> @sitofp_16i8_to_2f64(<16 x i8> %a) {
186
174
; SSE-NEXT: cvtdq2pd %xmm0, %xmm0
187
175
; SSE-NEXT: retq
188
176
;
189
- ; AVX1-LABEL: sitofp_16i8_to_2f64:
190
- ; AVX1: # %bb.0:
191
- ; AVX1-NEXT: vpmovsxbd %xmm0, %xmm0
192
- ; AVX1-NEXT: vcvtdq2pd %xmm0, %ymm0
193
- ; AVX1-NEXT: # kill: def $xmm0 killed $xmm0 killed $ymm0
194
- ; AVX1-NEXT: vzeroupper
195
- ; AVX1-NEXT: retq
196
- ;
197
- ; AVX2-LABEL: sitofp_16i8_to_2f64:
198
- ; AVX2: # %bb.0:
199
- ; AVX2-NEXT: vpmovsxbd %xmm0, %ymm0
200
- ; AVX2-NEXT: vcvtdq2pd %xmm0, %ymm0
201
- ; AVX2-NEXT: # kill: def $xmm0 killed $xmm0 killed $ymm0
202
- ; AVX2-NEXT: vzeroupper
203
- ; AVX2-NEXT: retq
177
+ ; VEX-LABEL: sitofp_16i8_to_2f64:
178
+ ; VEX: # %bb.0:
179
+ ; VEX-NEXT: vpmovsxbd %xmm0, %xmm0
180
+ ; VEX-NEXT: vcvtdq2pd %xmm0, %xmm0
181
+ ; VEX-NEXT: retq
204
182
;
205
183
; AVX512-LABEL: sitofp_16i8_to_2f64:
206
184
; AVX512: # %bb.0:
@@ -361,17 +339,11 @@ define <4 x double> @sitofp_8i16_to_4f64(<8 x i16> %a) {
361
339
; SSE-NEXT: cvtdq2pd %xmm1, %xmm1
362
340
; SSE-NEXT: retq
363
341
;
364
- ; AVX1-LABEL: sitofp_8i16_to_4f64:
365
- ; AVX1: # %bb.0:
366
- ; AVX1-NEXT: vpmovsxwd %xmm0, %xmm0
367
- ; AVX1-NEXT: vcvtdq2pd %xmm0, %ymm0
368
- ; AVX1-NEXT: retq
369
- ;
370
- ; AVX2-LABEL: sitofp_8i16_to_4f64:
371
- ; AVX2: # %bb.0:
372
- ; AVX2-NEXT: vpmovsxwd %xmm0, %ymm0
373
- ; AVX2-NEXT: vcvtdq2pd %xmm0, %ymm0
374
- ; AVX2-NEXT: retq
342
+ ; VEX-LABEL: sitofp_8i16_to_4f64:
343
+ ; VEX: # %bb.0:
344
+ ; VEX-NEXT: vpmovsxwd %xmm0, %xmm0
345
+ ; VEX-NEXT: vcvtdq2pd %xmm0, %ymm0
346
+ ; VEX-NEXT: retq
375
347
;
376
348
; AVX512-LABEL: sitofp_8i16_to_4f64:
377
349
; AVX512: # %bb.0:
@@ -416,17 +388,11 @@ define <4 x double> @sitofp_16i8_to_4f64(<16 x i8> %a) {
416
388
; SSE-NEXT: cvtdq2pd %xmm1, %xmm1
417
389
; SSE-NEXT: retq
418
390
;
419
- ; AVX1-LABEL: sitofp_16i8_to_4f64:
420
- ; AVX1: # %bb.0:
421
- ; AVX1-NEXT: vpmovsxbd %xmm0, %xmm0
422
- ; AVX1-NEXT: vcvtdq2pd %xmm0, %ymm0
423
- ; AVX1-NEXT: retq
424
- ;
425
- ; AVX2-LABEL: sitofp_16i8_to_4f64:
426
- ; AVX2: # %bb.0:
427
- ; AVX2-NEXT: vpmovsxbd %xmm0, %ymm0
428
- ; AVX2-NEXT: vcvtdq2pd %xmm0, %ymm0
429
- ; AVX2-NEXT: retq
391
+ ; VEX-LABEL: sitofp_16i8_to_4f64:
392
+ ; VEX: # %bb.0:
393
+ ; VEX-NEXT: vpmovsxbd %xmm0, %xmm0
394
+ ; VEX-NEXT: vcvtdq2pd %xmm0, %ymm0
395
+ ; VEX-NEXT: retq
430
396
;
431
397
; AVX512-LABEL: sitofp_16i8_to_4f64:
432
398
; AVX512: # %bb.0:
@@ -658,21 +624,11 @@ define <2 x double> @uitofp_8i16_to_2f64(<8 x i16> %a) {
658
624
; SSE-NEXT: cvtdq2pd %xmm0, %xmm0
659
625
; SSE-NEXT: retq
660
626
;
661
- ; AVX1-LABEL: uitofp_8i16_to_2f64:
662
- ; AVX1: # %bb.0:
663
- ; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero
664
- ; AVX1-NEXT: vcvtdq2pd %xmm0, %ymm0
665
- ; AVX1-NEXT: # kill: def $xmm0 killed $xmm0 killed $ymm0
666
- ; AVX1-NEXT: vzeroupper
667
- ; AVX1-NEXT: retq
668
- ;
669
- ; AVX2-LABEL: uitofp_8i16_to_2f64:
670
- ; AVX2: # %bb.0:
671
- ; AVX2-NEXT: vpmovzxwd {{.*#+}} ymm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[4],zero,xmm0[5],zero,xmm0[6],zero,xmm0[7],zero
672
- ; AVX2-NEXT: vcvtdq2pd %xmm0, %ymm0
673
- ; AVX2-NEXT: # kill: def $xmm0 killed $xmm0 killed $ymm0
674
- ; AVX2-NEXT: vzeroupper
675
- ; AVX2-NEXT: retq
627
+ ; VEX-LABEL: uitofp_8i16_to_2f64:
628
+ ; VEX: # %bb.0:
629
+ ; VEX-NEXT: vpmovzxwd {{.*#+}} xmm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero
630
+ ; VEX-NEXT: vcvtdq2pd %xmm0, %xmm0
631
+ ; VEX-NEXT: retq
676
632
;
677
633
; AVX512-LABEL: uitofp_8i16_to_2f64:
678
634
; AVX512: # %bb.0:
@@ -714,21 +670,11 @@ define <2 x double> @uitofp_16i8_to_2f64(<16 x i8> %a) {
714
670
; SSE-NEXT: cvtdq2pd %xmm0, %xmm0
715
671
; SSE-NEXT: retq
716
672
;
717
- ; AVX1-LABEL: uitofp_16i8_to_2f64:
718
- ; AVX1: # %bb.0:
719
- ; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero
720
- ; AVX1-NEXT: vcvtdq2pd %xmm0, %ymm0
721
- ; AVX1-NEXT: # kill: def $xmm0 killed $xmm0 killed $ymm0
722
- ; AVX1-NEXT: vzeroupper
723
- ; AVX1-NEXT: retq
724
- ;
725
- ; AVX2-LABEL: uitofp_16i8_to_2f64:
726
- ; AVX2: # %bb.0:
727
- ; AVX2-NEXT: vpmovzxbd {{.*#+}} ymm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero,xmm0[4],zero,zero,zero,xmm0[5],zero,zero,zero,xmm0[6],zero,zero,zero,xmm0[7],zero,zero,zero
728
- ; AVX2-NEXT: vcvtdq2pd %xmm0, %ymm0
729
- ; AVX2-NEXT: # kill: def $xmm0 killed $xmm0 killed $ymm0
730
- ; AVX2-NEXT: vzeroupper
731
- ; AVX2-NEXT: retq
673
+ ; VEX-LABEL: uitofp_16i8_to_2f64:
674
+ ; VEX: # %bb.0:
675
+ ; VEX-NEXT: vpmovzxbd {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero
676
+ ; VEX-NEXT: vcvtdq2pd %xmm0, %xmm0
677
+ ; VEX-NEXT: retq
732
678
;
733
679
; AVX512-LABEL: uitofp_16i8_to_2f64:
734
680
; AVX512: # %bb.0:
@@ -939,17 +885,11 @@ define <4 x double> @uitofp_8i16_to_4f64(<8 x i16> %a) {
939
885
; SSE-NEXT: movaps %xmm2, %xmm0
940
886
; SSE-NEXT: retq
941
887
;
942
- ; AVX1-LABEL: uitofp_8i16_to_4f64:
943
- ; AVX1: # %bb.0:
944
- ; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero
945
- ; AVX1-NEXT: vcvtdq2pd %xmm0, %ymm0
946
- ; AVX1-NEXT: retq
947
- ;
948
- ; AVX2-LABEL: uitofp_8i16_to_4f64:
949
- ; AVX2: # %bb.0:
950
- ; AVX2-NEXT: vpmovzxwd {{.*#+}} ymm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[4],zero,xmm0[5],zero,xmm0[6],zero,xmm0[7],zero
951
- ; AVX2-NEXT: vcvtdq2pd %xmm0, %ymm0
952
- ; AVX2-NEXT: retq
888
+ ; VEX-LABEL: uitofp_8i16_to_4f64:
889
+ ; VEX: # %bb.0:
890
+ ; VEX-NEXT: vpmovzxwd {{.*#+}} xmm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero
891
+ ; VEX-NEXT: vcvtdq2pd %xmm0, %ymm0
892
+ ; VEX-NEXT: retq
953
893
;
954
894
; AVX512-LABEL: uitofp_8i16_to_4f64:
955
895
; AVX512: # %bb.0:
@@ -996,17 +936,11 @@ define <4 x double> @uitofp_16i8_to_4f64(<16 x i8> %a) {
996
936
; SSE-NEXT: movaps %xmm2, %xmm0
997
937
; SSE-NEXT: retq
998
938
;
999
- ; AVX1-LABEL: uitofp_16i8_to_4f64:
1000
- ; AVX1: # %bb.0:
1001
- ; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero
1002
- ; AVX1-NEXT: vcvtdq2pd %xmm0, %ymm0
1003
- ; AVX1-NEXT: retq
1004
- ;
1005
- ; AVX2-LABEL: uitofp_16i8_to_4f64:
1006
- ; AVX2: # %bb.0:
1007
- ; AVX2-NEXT: vpmovzxbd {{.*#+}} ymm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero,xmm0[4],zero,zero,zero,xmm0[5],zero,zero,zero,xmm0[6],zero,zero,zero,xmm0[7],zero,zero,zero
1008
- ; AVX2-NEXT: vcvtdq2pd %xmm0, %ymm0
1009
- ; AVX2-NEXT: retq
939
+ ; VEX-LABEL: uitofp_16i8_to_4f64:
940
+ ; VEX: # %bb.0:
941
+ ; VEX-NEXT: vpmovzxbd {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero
942
+ ; VEX-NEXT: vcvtdq2pd %xmm0, %ymm0
943
+ ; VEX-NEXT: retq
1010
944
;
1011
945
; AVX512-LABEL: uitofp_16i8_to_4f64:
1012
946
; AVX512: # %bb.0:
0 commit comments