@@ -1397,77 +1397,77 @@ define <8 x i16> @shuffle_v8i16_8zzzzzzz(i16 %i) {
1397
1397
1398
1398
define <8 x i16 > @shuffle_v8i16_z8zzzzzz (i16 %i ) {
1399
1399
; SSE-LABEL: shuffle_v8i16_z8zzzzzz:
1400
- ; SSE: # BB#0:
1401
- ; SSE-NEXT: movzwl %di, %eax
1402
- ; SSE-NEXT: movd %eax, %xmm0
1403
- ; SSE-NEXT: pslldq $2, % xmm0
1404
- ; SSE-NEXT: retq
1405
- ;
1406
- ; AVX-LABEL: shuffle_v8i16_z8zzzzzz:
1407
- ; AVX: # BB#0:
1408
- ; AVX-NEXT: movzwl %di, %eax
1409
- ; AVX-NEXT: vmovd %eax, %xmm0
1410
- ; AVX-NEXT: vpslldq $2, % xmm0, % xmm0
1411
- ; AVX-NEXT: retq
1412
- %a = insertelement <8 x i16 > undef , i16 %i , i32 0
1413
- %shuffle = shufflevector <8 x i16 > zeroinitializer , <8 x i16 > %a , <8 x i32 > <i32 2 , i32 8 , i32 3 , i32 7 , i32 6 , i32 5 , i32 4 , i32 3 >
1400
+ ; SSE: # BB#0:
1401
+ ; SSE-NEXT: movzwl %di, %eax
1402
+ ; SSE-NEXT: movd %eax, %xmm0
1403
+ ; SSE-NEXT: pslldq {{.*#+}} xmm0 = zero,zero,xmm0[0,1,2,3,4,5,6,7,8,9,10,11,12,13]
1404
+ ; SSE-NEXT: retq
1405
+ ;
1406
+ ; AVX-LABEL: shuffle_v8i16_z8zzzzzz:
1407
+ ; AVX: # BB#0:
1408
+ ; AVX-NEXT: movzwl %di, %eax
1409
+ ; AVX-NEXT: vmovd %eax, %xmm0
1410
+ ; AVX-NEXT: vpslldq {{.*#+}} xmm0 = zero,zero, xmm0[0,1,2,3,4,5,6,7,8,9,10,11,12,13]
1411
+ ; AVX-NEXT: retq
1412
+ %a = insertelement <8 x i16 > undef , i16 %i , i32 0
1413
+ %shuffle = shufflevector <8 x i16 > zeroinitializer , <8 x i16 > %a , <8 x i32 > <i32 2 , i32 8 , i32 3 , i32 7 , i32 6 , i32 5 , i32 4 , i32 3 >
1414
1414
ret <8 x i16 > %shuffle
1415
1415
}
1416
1416
1417
1417
define <8 x i16 > @shuffle_v8i16_zzzzz8zz (i16 %i ) {
1418
1418
; SSE-LABEL: shuffle_v8i16_zzzzz8zz:
1419
- ; SSE: # BB#0:
1420
- ; SSE-NEXT: movzwl %di, %eax
1421
- ; SSE-NEXT: movd %eax, %xmm0
1422
- ; SSE-NEXT: pslldq $10, % xmm0
1423
- ; SSE-NEXT: retq
1424
- ;
1425
- ; AVX-LABEL: shuffle_v8i16_zzzzz8zz:
1426
- ; AVX: # BB#0:
1427
- ; AVX-NEXT: movzwl %di, %eax
1428
- ; AVX-NEXT: vmovd %eax, %xmm0
1429
- ; AVX-NEXT: vpslldq $10, % xmm0, % xmm0
1430
- ; AVX-NEXT: retq
1431
- %a = insertelement <8 x i16 > undef , i16 %i , i32 0
1432
- %shuffle = shufflevector <8 x i16 > zeroinitializer , <8 x i16 > %a , <8 x i32 > <i32 0 , i32 0 , i32 0 , i32 0 , i32 0 , i32 8 , i32 0 , i32 0 >
1419
+ ; SSE: # BB#0:
1420
+ ; SSE-NEXT: movzwl %di, %eax
1421
+ ; SSE-NEXT: movd %eax, %xmm0
1422
+ ; SSE-NEXT: pslldq {{.*#+}} xmm0 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm0[0,1,2,3,4,5]
1423
+ ; SSE-NEXT: retq
1424
+ ;
1425
+ ; AVX-LABEL: shuffle_v8i16_zzzzz8zz:
1426
+ ; AVX: # BB#0:
1427
+ ; AVX-NEXT: movzwl %di, %eax
1428
+ ; AVX-NEXT: vmovd %eax, %xmm0
1429
+ ; AVX-NEXT: vpslldq {{.*#+}} xmm0 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero, xmm0[0,1,2,3,4,5]
1430
+ ; AVX-NEXT: retq
1431
+ %a = insertelement <8 x i16 > undef , i16 %i , i32 0
1432
+ %shuffle = shufflevector <8 x i16 > zeroinitializer , <8 x i16 > %a , <8 x i32 > <i32 0 , i32 0 , i32 0 , i32 0 , i32 0 , i32 8 , i32 0 , i32 0 >
1433
1433
ret <8 x i16 > %shuffle
1434
1434
}
1435
1435
1436
1436
define <8 x i16 > @shuffle_v8i16_zuuzuuz8 (i16 %i ) {
1437
1437
; SSE-LABEL: shuffle_v8i16_zuuzuuz8:
1438
- ; SSE: # BB#0:
1439
- ; SSE-NEXT: movzwl %di, %eax
1440
- ; SSE-NEXT: movd %eax, %xmm0
1441
- ; SSE-NEXT: pslldq $14, % xmm0
1442
- ; SSE-NEXT: retq
1443
- ;
1444
- ; AVX-LABEL: shuffle_v8i16_zuuzuuz8:
1445
- ; AVX: # BB#0:
1446
- ; AVX-NEXT: movzwl %di, %eax
1447
- ; AVX-NEXT: vmovd %eax, %xmm0
1448
- ; AVX-NEXT: vpslldq $14, % xmm0, % xmm0
1449
- ; AVX-NEXT: retq
1450
- %a = insertelement <8 x i16 > undef , i16 %i , i32 0
1451
- %shuffle = shufflevector <8 x i16 > zeroinitializer , <8 x i16 > %a , <8 x i32 > <i32 0 , i32 undef , i32 undef , i32 3 , i32 undef , i32 undef , i32 6 , i32 8 >
1438
+ ; SSE: # BB#0:
1439
+ ; SSE-NEXT: movzwl %di, %eax
1440
+ ; SSE-NEXT: movd %eax, %xmm0
1441
+ ; SSE-NEXT: pslldq {{.*#+}} xmm0 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,xmm0[0,1]
1442
+ ; SSE-NEXT: retq
1443
+ ;
1444
+ ; AVX-LABEL: shuffle_v8i16_zuuzuuz8:
1445
+ ; AVX: # BB#0:
1446
+ ; AVX-NEXT: movzwl %di, %eax
1447
+ ; AVX-NEXT: vmovd %eax, %xmm0
1448
+ ; AVX-NEXT: vpslldq {{.*#+}} xmm0 = zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero, xmm0[0,1]
1449
+ ; AVX-NEXT: retq
1450
+ %a = insertelement <8 x i16 > undef , i16 %i , i32 0
1451
+ %shuffle = shufflevector <8 x i16 > zeroinitializer , <8 x i16 > %a , <8 x i32 > <i32 0 , i32 undef , i32 undef , i32 3 , i32 undef , i32 undef , i32 6 , i32 8 >
1452
1452
ret <8 x i16 > %shuffle
1453
1453
}
1454
1454
1455
1455
define <8 x i16 > @shuffle_v8i16_zzBzzzzz (i16 %i ) {
1456
1456
; SSE-LABEL: shuffle_v8i16_zzBzzzzz:
1457
- ; SSE: # BB#0:
1458
- ; SSE-NEXT: movzwl %di, %eax
1459
- ; SSE-NEXT: movd %eax, %xmm0
1460
- ; SSE-NEXT: pslldq $4, % xmm0
1461
- ; SSE-NEXT: retq
1462
- ;
1463
- ; AVX-LABEL: shuffle_v8i16_zzBzzzzz:
1464
- ; AVX: # BB#0:
1465
- ; AVX-NEXT: movzwl %di, %eax
1466
- ; AVX-NEXT: vmovd %eax, %xmm0
1467
- ; AVX-NEXT: vpslldq $4, % xmm0, % xmm0
1468
- ; AVX-NEXT: retq
1469
- %a = insertelement <8 x i16 > undef , i16 %i , i32 3
1470
- %shuffle = shufflevector <8 x i16 > zeroinitializer , <8 x i16 > %a , <8 x i32 > <i32 0 , i32 1 , i32 11 , i32 3 , i32 4 , i32 5 , i32 6 , i32 7 >
1457
+ ; SSE: # BB#0:
1458
+ ; SSE-NEXT: movzwl %di, %eax
1459
+ ; SSE-NEXT: movd %eax, %xmm0
1460
+ ; SSE-NEXT: pslldq {{.*#+}} xmm0 = zero,zero,zero,zero,xmm0[0,1,2,3,4,5,6,7,8,9,10,11]
1461
+ ; SSE-NEXT: retq
1462
+ ;
1463
+ ; AVX-LABEL: shuffle_v8i16_zzBzzzzz:
1464
+ ; AVX: # BB#0:
1465
+ ; AVX-NEXT: movzwl %di, %eax
1466
+ ; AVX-NEXT: vmovd %eax, %xmm0
1467
+ ; AVX-NEXT: vpslldq {{.*#+}} xmm0 = zero,zero,zero,zero, xmm0[0,1,2,3,4,5,6,7,8,9,10,11]
1468
+ ; AVX-NEXT: retq
1469
+ %a = insertelement <8 x i16 > undef , i16 %i , i32 3
1470
+ %shuffle = shufflevector <8 x i16 > zeroinitializer , <8 x i16 > %a , <8 x i32 > <i32 0 , i32 1 , i32 11 , i32 3 , i32 4 , i32 5 , i32 6 , i32 7 >
1471
1471
ret <8 x i16 > %shuffle
1472
1472
}
1473
1473
0 commit comments