@@ -1478,32 +1478,11 @@ define <4 x float> @sitofp_8i16_to_4f32(<8 x i16> %a) {
1478
1478
; SSE41-NEXT: cvtdq2ps %xmm0, %xmm0
1479
1479
; SSE41-NEXT: retq
1480
1480
;
1481
- ; AVX1-LABEL: sitofp_8i16_to_4f32:
1482
- ; AVX1: # %bb.0:
1483
- ; AVX1-NEXT: vpmovsxwd %xmm0, %xmm1
1484
- ; AVX1-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[2,3,2,3]
1485
- ; AVX1-NEXT: vpmovsxwd %xmm0, %xmm0
1486
- ; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm0
1487
- ; AVX1-NEXT: vcvtdq2ps %ymm0, %ymm0
1488
- ; AVX1-NEXT: # kill: def $xmm0 killed $xmm0 killed $ymm0
1489
- ; AVX1-NEXT: vzeroupper
1490
- ; AVX1-NEXT: retq
1491
- ;
1492
- ; AVX2-LABEL: sitofp_8i16_to_4f32:
1493
- ; AVX2: # %bb.0:
1494
- ; AVX2-NEXT: vpmovsxwd %xmm0, %ymm0
1495
- ; AVX2-NEXT: vcvtdq2ps %ymm0, %ymm0
1496
- ; AVX2-NEXT: # kill: def $xmm0 killed $xmm0 killed $ymm0
1497
- ; AVX2-NEXT: vzeroupper
1498
- ; AVX2-NEXT: retq
1499
- ;
1500
- ; AVX512-LABEL: sitofp_8i16_to_4f32:
1501
- ; AVX512: # %bb.0:
1502
- ; AVX512-NEXT: vpmovsxwd %xmm0, %ymm0
1503
- ; AVX512-NEXT: vcvtdq2ps %ymm0, %ymm0
1504
- ; AVX512-NEXT: # kill: def $xmm0 killed $xmm0 killed $ymm0
1505
- ; AVX512-NEXT: vzeroupper
1506
- ; AVX512-NEXT: retq
1481
+ ; AVX-LABEL: sitofp_8i16_to_4f32:
1482
+ ; AVX: # %bb.0:
1483
+ ; AVX-NEXT: vpmovsxwd %xmm0, %xmm0
1484
+ ; AVX-NEXT: vcvtdq2ps %xmm0, %xmm0
1485
+ ; AVX-NEXT: retq
1507
1486
%cvt = sitofp <8 x i16 > %a to <8 x float >
1508
1487
%shuf = shufflevector <8 x float > %cvt , <8 x float > undef , <4 x i32 > <i32 0 , i32 1 , i32 2 , i32 3 >
1509
1488
ret <4 x float > %shuf
@@ -1549,32 +1528,11 @@ define <4 x float> @sitofp_16i8_to_4f32(<16 x i8> %a) {
1549
1528
; SSE41-NEXT: cvtdq2ps %xmm0, %xmm0
1550
1529
; SSE41-NEXT: retq
1551
1530
;
1552
- ; AVX1-LABEL: sitofp_16i8_to_4f32:
1553
- ; AVX1: # %bb.0:
1554
- ; AVX1-NEXT: vpmovsxbd %xmm0, %xmm1
1555
- ; AVX1-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[1,1,1,1]
1556
- ; AVX1-NEXT: vpmovsxbd %xmm0, %xmm0
1557
- ; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm0
1558
- ; AVX1-NEXT: vcvtdq2ps %ymm0, %ymm0
1559
- ; AVX1-NEXT: # kill: def $xmm0 killed $xmm0 killed $ymm0
1560
- ; AVX1-NEXT: vzeroupper
1561
- ; AVX1-NEXT: retq
1562
- ;
1563
- ; AVX2-LABEL: sitofp_16i8_to_4f32:
1564
- ; AVX2: # %bb.0:
1565
- ; AVX2-NEXT: vpmovsxbd %xmm0, %ymm0
1566
- ; AVX2-NEXT: vcvtdq2ps %ymm0, %ymm0
1567
- ; AVX2-NEXT: # kill: def $xmm0 killed $xmm0 killed $ymm0
1568
- ; AVX2-NEXT: vzeroupper
1569
- ; AVX2-NEXT: retq
1570
- ;
1571
- ; AVX512-LABEL: sitofp_16i8_to_4f32:
1572
- ; AVX512: # %bb.0:
1573
- ; AVX512-NEXT: vpmovsxbd %xmm0, %zmm0
1574
- ; AVX512-NEXT: vcvtdq2ps %zmm0, %zmm0
1575
- ; AVX512-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
1576
- ; AVX512-NEXT: vzeroupper
1577
- ; AVX512-NEXT: retq
1531
+ ; AVX-LABEL: sitofp_16i8_to_4f32:
1532
+ ; AVX: # %bb.0:
1533
+ ; AVX-NEXT: vpmovsxbd %xmm0, %xmm0
1534
+ ; AVX-NEXT: vcvtdq2ps %xmm0, %xmm0
1535
+ ; AVX-NEXT: retq
1578
1536
%cvt = sitofp <16 x i8 > %a to <16 x float >
1579
1537
%shuf = shufflevector <16 x float > %cvt , <16 x float > undef , <4 x i32 > <i32 0 , i32 1 , i32 2 , i32 3 >
1580
1538
ret <4 x float > %shuf
@@ -2354,32 +2312,11 @@ define <4 x float> @uitofp_8i16_to_4f32(<8 x i16> %a) {
2354
2312
; SSE41-NEXT: cvtdq2ps %xmm0, %xmm0
2355
2313
; SSE41-NEXT: retq
2356
2314
;
2357
- ; AVX1-LABEL: uitofp_8i16_to_4f32:
2358
- ; AVX1: # %bb.0:
2359
- ; AVX1-NEXT: vpxor %xmm1, %xmm1, %xmm1
2360
- ; AVX1-NEXT: vpunpckhwd {{.*#+}} xmm1 = xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]
2361
- ; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero
2362
- ; AVX1-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm0
2363
- ; AVX1-NEXT: vcvtdq2ps %ymm0, %ymm0
2364
- ; AVX1-NEXT: # kill: def $xmm0 killed $xmm0 killed $ymm0
2365
- ; AVX1-NEXT: vzeroupper
2366
- ; AVX1-NEXT: retq
2367
- ;
2368
- ; AVX2-LABEL: uitofp_8i16_to_4f32:
2369
- ; AVX2: # %bb.0:
2370
- ; 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
2371
- ; AVX2-NEXT: vcvtdq2ps %ymm0, %ymm0
2372
- ; AVX2-NEXT: # kill: def $xmm0 killed $xmm0 killed $ymm0
2373
- ; AVX2-NEXT: vzeroupper
2374
- ; AVX2-NEXT: retq
2375
- ;
2376
- ; AVX512-LABEL: uitofp_8i16_to_4f32:
2377
- ; AVX512: # %bb.0:
2378
- ; AVX512-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
2379
- ; AVX512-NEXT: vcvtdq2ps %ymm0, %ymm0
2380
- ; AVX512-NEXT: # kill: def $xmm0 killed $xmm0 killed $ymm0
2381
- ; AVX512-NEXT: vzeroupper
2382
- ; AVX512-NEXT: retq
2315
+ ; AVX-LABEL: uitofp_8i16_to_4f32:
2316
+ ; AVX: # %bb.0:
2317
+ ; AVX-NEXT: vpmovzxwd {{.*#+}} xmm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero
2318
+ ; AVX-NEXT: vcvtdq2ps %xmm0, %xmm0
2319
+ ; AVX-NEXT: retq
2383
2320
%cvt = uitofp <8 x i16 > %a to <8 x float >
2384
2321
%shuf = shufflevector <8 x float > %cvt , <8 x float > undef , <4 x i32 > <i32 0 , i32 1 , i32 2 , i32 3 >
2385
2322
ret <4 x float > %shuf
@@ -2425,32 +2362,11 @@ define <4 x float> @uitofp_16i8_to_4f32(<16 x i8> %a) {
2425
2362
; SSE41-NEXT: cvtdq2ps %xmm0, %xmm0
2426
2363
; SSE41-NEXT: retq
2427
2364
;
2428
- ; AVX1-LABEL: uitofp_16i8_to_4f32:
2429
- ; AVX1: # %bb.0:
2430
- ; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm1 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero
2431
- ; AVX1-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[1,1,1,1]
2432
- ; AVX1-NEXT: vpmovzxbd {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero
2433
- ; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm1, %ymm0
2434
- ; AVX1-NEXT: vcvtdq2ps %ymm0, %ymm0
2435
- ; AVX1-NEXT: # kill: def $xmm0 killed $xmm0 killed $ymm0
2436
- ; AVX1-NEXT: vzeroupper
2437
- ; AVX1-NEXT: retq
2438
- ;
2439
- ; AVX2-LABEL: uitofp_16i8_to_4f32:
2440
- ; AVX2: # %bb.0:
2441
- ; 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
2442
- ; AVX2-NEXT: vcvtdq2ps %ymm0, %ymm0
2443
- ; AVX2-NEXT: # kill: def $xmm0 killed $xmm0 killed $ymm0
2444
- ; AVX2-NEXT: vzeroupper
2445
- ; AVX2-NEXT: retq
2446
- ;
2447
- ; AVX512-LABEL: uitofp_16i8_to_4f32:
2448
- ; AVX512: # %bb.0:
2449
- ; AVX512-NEXT: vpmovzxbd {{.*#+}} zmm0 = 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,xmm0[8],zero,zero,zero,xmm0[9],zero,zero,zero,xmm0[10],zero,zero,zero,xmm0[11],zero,zero,zero,xmm0[12],zero,zero,zero,xmm0[13],zero,zero,zero,xmm0[14],zero,zero,zero,xmm0[15],zero,zero,zero
2450
- ; AVX512-NEXT: vcvtdq2ps %zmm0, %zmm0
2451
- ; AVX512-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
2452
- ; AVX512-NEXT: vzeroupper
2453
- ; AVX512-NEXT: retq
2365
+ ; AVX-LABEL: uitofp_16i8_to_4f32:
2366
+ ; AVX: # %bb.0:
2367
+ ; AVX-NEXT: vpmovzxbd {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero
2368
+ ; AVX-NEXT: vcvtdq2ps %xmm0, %xmm0
2369
+ ; AVX-NEXT: retq
2454
2370
%cvt = uitofp <16 x i8 > %a to <16 x float >
2455
2371
%shuf = shufflevector <16 x float > %cvt , <16 x float > undef , <4 x i32 > <i32 0 , i32 1 , i32 2 , i32 3 >
2456
2372
ret <4 x float > %shuf
0 commit comments