@@ -91,8 +91,7 @@ define <8 x i32> @undef_test_permvar_si_256_mask(<8 x i32> %a0, <8 x i32> %passt
91
91
92
92
define <8 x i32 > @demandedbit_test_permvar_si_256_mask (<8 x i32 > %a0 , <8 x i32 > %a1 ) {
93
93
; CHECK-LABEL: @demandedbit_test_permvar_si_256_mask(
94
- ; CHECK-NEXT: [[M:%.*]] = or <8 x i32> [[A1:%.*]], <i32 0, i32 8, i32 -8, i32 16, i32 -16, i32 32, i32 -32, i32 64>
95
- ; CHECK-NEXT: [[S:%.*]] = call <8 x i32> @llvm.x86.avx2.permd(<8 x i32> [[A0:%.*]], <8 x i32> [[M]])
94
+ ; CHECK-NEXT: [[S:%.*]] = call <8 x i32> @llvm.x86.avx2.permd(<8 x i32> [[A0:%.*]], <8 x i32> [[A1:%.*]])
96
95
; CHECK-NEXT: ret <8 x i32> [[S]]
97
96
;
98
97
%m = or <8 x i32 > %a1 , <i32 0 , i32 8 , i32 -8 , i32 16 , i32 -16 , i32 32 , i32 -32 , i32 64 >
@@ -190,8 +189,7 @@ define <8 x float> @undef_test_permvar_sf_256_mask(<8 x float> %a0, <8 x float>
190
189
191
190
define <8 x float > @demandedbit_test_permvar_sf_256_mask (<8 x float > %a0 , <8 x i32 > %a1 ) {
192
191
; CHECK-LABEL: @demandedbit_test_permvar_sf_256_mask(
193
- ; CHECK-NEXT: [[M:%.*]] = or <8 x i32> [[A1:%.*]], <i32 0, i32 8, i32 -8, i32 16, i32 -16, i32 32, i32 -32, i32 64>
194
- ; CHECK-NEXT: [[S:%.*]] = call <8 x float> @llvm.x86.avx2.permps(<8 x float> [[A0:%.*]], <8 x i32> [[M]])
192
+ ; CHECK-NEXT: [[S:%.*]] = call <8 x float> @llvm.x86.avx2.permps(<8 x float> [[A0:%.*]], <8 x i32> [[A1:%.*]])
195
193
; CHECK-NEXT: ret <8 x float> [[S]]
196
194
;
197
195
%m = or <8 x i32 > %a1 , <i32 0 , i32 8 , i32 -8 , i32 16 , i32 -16 , i32 32 , i32 -32 , i32 64 >
@@ -297,8 +295,7 @@ define <4 x i64> @undef_test_permvar_di_256_mask(<4 x i64> %a0, <4 x i64> %passt
297
295
298
296
define <4 x i64 > @demandedbits_test_permvar_di_256_mask (<4 x i64 > %a0 , <4 x i64 > %a1 ) {
299
297
; CHECK-LABEL: @demandedbits_test_permvar_di_256_mask(
300
- ; CHECK-NEXT: [[M:%.*]] = or <4 x i64> [[A1:%.*]], <i64 0, i64 4, i64 -4, i64 8>
301
- ; CHECK-NEXT: [[S:%.*]] = call <4 x i64> @llvm.x86.avx512.permvar.di.256(<4 x i64> [[A0:%.*]], <4 x i64> [[M]])
298
+ ; CHECK-NEXT: [[S:%.*]] = call <4 x i64> @llvm.x86.avx512.permvar.di.256(<4 x i64> [[A0:%.*]], <4 x i64> [[A1:%.*]])
302
299
; CHECK-NEXT: ret <4 x i64> [[S]]
303
300
;
304
301
%m = or <4 x i64 > %a1 , <i64 0 , i64 4 , i64 -4 , i64 8 >
@@ -404,8 +401,7 @@ define <4 x double> @undef_test_permvar_df_256_mask(<4 x double> %a0, <4 x doubl
404
401
405
402
define <4 x double > @demandedbits_test_permvar_df_256_mask (<4 x double > %a0 , <4 x i64 > %a1 ) {
406
403
; CHECK-LABEL: @demandedbits_test_permvar_df_256_mask(
407
- ; CHECK-NEXT: [[M:%.*]] = or <4 x i64> [[A1:%.*]], <i64 0, i64 4, i64 -4, i64 8>
408
- ; CHECK-NEXT: [[S:%.*]] = call <4 x double> @llvm.x86.avx512.permvar.df.256(<4 x double> [[A0:%.*]], <4 x i64> [[M]])
404
+ ; CHECK-NEXT: [[S:%.*]] = call <4 x double> @llvm.x86.avx512.permvar.df.256(<4 x double> [[A0:%.*]], <4 x i64> [[A1:%.*]])
409
405
; CHECK-NEXT: ret <4 x double> [[S]]
410
406
;
411
407
%m = or <4 x i64 > %a1 , <i64 0 , i64 4 , i64 -4 , i64 8 >
@@ -503,8 +499,7 @@ define <16 x i32> @undef_test_permvar_si_512_mask(<16 x i32> %a0, <16 x i32> %pa
503
499
504
500
define <16 x i32 > @demandedbit_test_permvar_si_512_mask (<16 x i32 > %a0 , <16 x i32 > %a1 ) {
505
501
; CHECK-LABEL: @demandedbit_test_permvar_si_512_mask(
506
- ; CHECK-NEXT: [[M:%.*]] = or <16 x i32> [[A1:%.*]], <i32 0, i32 16, i32 -16, i32 32, i32 -32, i32 64, i32 -64, i32 128, i32 -128, i32 256, i32 -256, i32 512, i32 -512, i32 1024, i32 -1024, i32 2048>
507
- ; CHECK-NEXT: [[S:%.*]] = call <16 x i32> @llvm.x86.avx512.permvar.si.512(<16 x i32> [[A0:%.*]], <16 x i32> [[M]])
502
+ ; CHECK-NEXT: [[S:%.*]] = call <16 x i32> @llvm.x86.avx512.permvar.si.512(<16 x i32> [[A0:%.*]], <16 x i32> [[A1:%.*]])
508
503
; CHECK-NEXT: ret <16 x i32> [[S]]
509
504
;
510
505
%m = or <16 x i32 > %a1 , <i32 0 , i32 16 , i32 -16 , i32 32 , i32 -32 , i32 64 , i32 -64 , i32 128 , i32 -128 , i32 256 , i32 -256 , i32 512 , i32 -512 , i32 1024 , i32 -1024 , i32 2048 >
@@ -602,8 +597,7 @@ define <16 x float> @undef_test_permvar_sf_512_mask(<16 x float> %a0, <16 x floa
602
597
603
598
define <16 x float > @demandedbit_test_permvar_sf_512_mask (<16 x float > %a0 , <16 x i32 > %a1 ) {
604
599
; CHECK-LABEL: @demandedbit_test_permvar_sf_512_mask(
605
- ; CHECK-NEXT: [[M:%.*]] = or <16 x i32> [[A1:%.*]], <i32 0, i32 16, i32 -16, i32 32, i32 -32, i32 64, i32 -64, i32 128, i32 -128, i32 256, i32 -256, i32 512, i32 -512, i32 1024, i32 -1024, i32 2048>
606
- ; CHECK-NEXT: [[S:%.*]] = call <16 x float> @llvm.x86.avx512.permvar.sf.512(<16 x float> [[A0:%.*]], <16 x i32> [[M]])
600
+ ; CHECK-NEXT: [[S:%.*]] = call <16 x float> @llvm.x86.avx512.permvar.sf.512(<16 x float> [[A0:%.*]], <16 x i32> [[A1:%.*]])
607
601
; CHECK-NEXT: ret <16 x float> [[S]]
608
602
;
609
603
%m = or <16 x i32 > %a1 , <i32 0 , i32 16 , i32 -16 , i32 32 , i32 -32 , i32 64 , i32 -64 , i32 128 , i32 -128 , i32 256 , i32 -256 , i32 512 , i32 -512 , i32 1024 , i32 -1024 , i32 2048 >
@@ -701,8 +695,7 @@ define <8 x i64> @undef_test_permvar_di_512_mask(<8 x i64> %a0, <8 x i64> %passt
701
695
702
696
define <8 x i64 > @demandedbit_test_permvar_di_512_mask (<8 x i64 > %a0 , <8 x i64 > %a1 ) {
703
697
; CHECK-LABEL: @demandedbit_test_permvar_di_512_mask(
704
- ; CHECK-NEXT: [[M:%.*]] = or <8 x i64> [[A1:%.*]], <i64 0, i64 8, i64 -8, i64 16, i64 -16, i64 32, i64 -32, i64 64>
705
- ; CHECK-NEXT: [[S:%.*]] = call <8 x i64> @llvm.x86.avx512.permvar.di.512(<8 x i64> [[A0:%.*]], <8 x i64> [[M]])
698
+ ; CHECK-NEXT: [[S:%.*]] = call <8 x i64> @llvm.x86.avx512.permvar.di.512(<8 x i64> [[A0:%.*]], <8 x i64> [[A1:%.*]])
706
699
; CHECK-NEXT: ret <8 x i64> [[S]]
707
700
;
708
701
%m = or <8 x i64 > %a1 , <i64 0 , i64 8 , i64 -8 , i64 16 , i64 -16 , i64 32 , i64 -32 , i64 64 >
@@ -800,8 +793,7 @@ define <8 x double> @undef_test_permvar_df_512_mask(<8 x double> %a0, <8 x doubl
800
793
801
794
define <8 x double > @demandedbit_test_permvar_df_512_mask (<8 x double > %a0 , <8 x i64 > %a1 ) {
802
795
; CHECK-LABEL: @demandedbit_test_permvar_df_512_mask(
803
- ; CHECK-NEXT: [[M:%.*]] = or <8 x i64> [[A1:%.*]], <i64 0, i64 8, i64 -8, i64 16, i64 -16, i64 32, i64 -32, i64 64>
804
- ; CHECK-NEXT: [[S:%.*]] = call <8 x double> @llvm.x86.avx512.permvar.df.512(<8 x double> [[A0:%.*]], <8 x i64> [[M]])
796
+ ; CHECK-NEXT: [[S:%.*]] = call <8 x double> @llvm.x86.avx512.permvar.df.512(<8 x double> [[A0:%.*]], <8 x i64> [[A1:%.*]])
805
797
; CHECK-NEXT: ret <8 x double> [[S]]
806
798
;
807
799
%m = or <8 x i64 > %a1 , <i64 0 , i64 8 , i64 -8 , i64 16 , i64 -16 , i64 32 , i64 -32 , i64 64 >
@@ -899,8 +891,7 @@ define <8 x i16> @undef_test_permvar_hi_128_mask(<8 x i16> %a0, <8 x i16> %passt
899
891
900
892
define <8 x i16 > @demandedbit_test_permvar_hi_128_mask (<8 x i16 > %a0 , <8 x i16 > %a1 ) {
901
893
; CHECK-LABEL: @demandedbit_test_permvar_hi_128_mask(
902
- ; CHECK-NEXT: [[M:%.*]] = or <8 x i16> [[A1:%.*]], <i16 0, i16 8, i16 -8, i16 16, i16 -16, i16 32, i16 -32, i16 64>
903
- ; CHECK-NEXT: [[S:%.*]] = call <8 x i16> @llvm.x86.avx512.permvar.hi.128(<8 x i16> [[A0:%.*]], <8 x i16> [[M]])
894
+ ; CHECK-NEXT: [[S:%.*]] = call <8 x i16> @llvm.x86.avx512.permvar.hi.128(<8 x i16> [[A0:%.*]], <8 x i16> [[A1:%.*]])
904
895
; CHECK-NEXT: ret <8 x i16> [[S]]
905
896
;
906
897
%m = or <8 x i16 > %a1 , <i16 0 , i16 8 , i16 -8 , i16 16 , i16 -16 , i16 32 , i16 -32 , i16 64 >
@@ -998,8 +989,7 @@ define <16 x i16> @undef_test_permvar_hi_256_mask(<16 x i16> %a0, <16 x i16> %pa
998
989
999
990
define <16 x i16 > @demandedbit_test_permvar_hi_256_mask (<16 x i16 > %a0 , <16 x i16 > %a1 ) {
1000
991
; CHECK-LABEL: @demandedbit_test_permvar_hi_256_mask(
1001
- ; CHECK-NEXT: [[M:%.*]] = or <16 x i16> [[A1:%.*]], <i16 0, i16 16, i16 -16, i16 32, i16 -32, i16 64, i16 -64, i16 128, i16 -128, i16 256, i16 -256, i16 512, i16 -512, i16 1024, i16 -1024, i16 2048>
1002
- ; CHECK-NEXT: [[S:%.*]] = call <16 x i16> @llvm.x86.avx512.permvar.hi.256(<16 x i16> [[A0:%.*]], <16 x i16> [[M]])
992
+ ; CHECK-NEXT: [[S:%.*]] = call <16 x i16> @llvm.x86.avx512.permvar.hi.256(<16 x i16> [[A0:%.*]], <16 x i16> [[A1:%.*]])
1003
993
; CHECK-NEXT: ret <16 x i16> [[S]]
1004
994
;
1005
995
%m = or <16 x i16 > %a1 , <i16 0 , i16 16 , i16 -16 , i16 32 , i16 -32 , i16 64 , i16 -64 , i16 128 , i16 -128 , i16 256 , i16 -256 , i16 512 , i16 -512 , i16 1024 , i16 -1024 , i16 2048 >
@@ -1097,8 +1087,7 @@ define <32 x i16> @undef_test_permvar_hi_512_mask(<32 x i16> %a0, <32 x i16> %pa
1097
1087
1098
1088
define <32 x i16 > @demandedbit_test_permvar_hi_512_mask (<32 x i16 > %a0 , <32 x i16 > %a1 ) {
1099
1089
; CHECK-LABEL: @demandedbit_test_permvar_hi_512_mask(
1100
- ; CHECK-NEXT: [[M:%.*]] = or <32 x i16> [[A1:%.*]], <i16 0, i16 32, i16 -32, i16 64, i16 -64, i16 128, i16 -128, i16 256, i16 -256, i16 512, i16 -512, i16 1024, i16 -1024, i16 2048, i16 -2048, i16 4096, i16 0, i16 32, i16 -32, i16 64, i16 -64, i16 128, i16 -128, i16 256, i16 -256, i16 512, i16 -512, i16 1024, i16 -1024, i16 2048, i16 -2048, i16 4096>
1101
- ; CHECK-NEXT: [[S:%.*]] = call <32 x i16> @llvm.x86.avx512.permvar.hi.512(<32 x i16> [[A0:%.*]], <32 x i16> [[M]])
1090
+ ; CHECK-NEXT: [[S:%.*]] = call <32 x i16> @llvm.x86.avx512.permvar.hi.512(<32 x i16> [[A0:%.*]], <32 x i16> [[A1:%.*]])
1102
1091
; CHECK-NEXT: ret <32 x i16> [[S]]
1103
1092
;
1104
1093
%m = or <32 x i16 > %a1 , <i16 0 , i16 32 , i16 -32 , i16 64 , i16 -64 , i16 128 , i16 -128 , i16 256 , i16 -256 , i16 512 , i16 -512 , i16 1024 , i16 -1024 , i16 2048 , i16 -2048 , i16 4096 , i16 0 , i16 32 , i16 -32 , i16 64 , i16 -64 , i16 128 , i16 -128 , i16 256 , i16 -256 , i16 512 , i16 -512 , i16 1024 , i16 -1024 , i16 2048 , i16 -2048 , i16 4096 >
@@ -1196,8 +1185,7 @@ define <16 x i8> @undef_test_permvar_qi_128_mask(<16 x i8> %a0, <16 x i8> %passt
1196
1185
1197
1186
define <16 x i8 > @demandedbit_test_permvar_qi_129_mask (<16 x i8 > %a0 , <16 x i8 > %a1 ) {
1198
1187
; CHECK-LABEL: @demandedbit_test_permvar_qi_129_mask(
1199
- ; CHECK-NEXT: [[M:%.*]] = or <16 x i8> [[A1:%.*]], <i8 0, i8 16, i8 -16, i8 32, i8 -32, i8 64, i8 -64, i8 -128, i8 -128, i8 0, i8 16, i8 -16, i8 32, i8 -32, i8 64, i8 -64>
1200
- ; CHECK-NEXT: [[S:%.*]] = call <16 x i8> @llvm.x86.avx512.permvar.qi.128(<16 x i8> [[A0:%.*]], <16 x i8> [[M]])
1188
+ ; CHECK-NEXT: [[S:%.*]] = call <16 x i8> @llvm.x86.avx512.permvar.qi.128(<16 x i8> [[A0:%.*]], <16 x i8> [[A1:%.*]])
1201
1189
; CHECK-NEXT: ret <16 x i8> [[S]]
1202
1190
;
1203
1191
%m = or <16 x i8 > %a1 , <i8 0 , i8 16 , i8 -16 , i8 32 , i8 -32 , i8 64 , i8 -64 , i8 128 , i8 -128 , i8 0 , i8 16 , i8 -16 , i8 32 , i8 -32 , i8 64 , i8 -64 >
@@ -1295,8 +1283,7 @@ define <32 x i8> @undef_test_permvar_qi_256_mask(<32 x i8> %a0, <32 x i8> %passt
1295
1283
1296
1284
define <32 x i8 > @demandedbit_test_permvar_qi_256_mask (<32 x i8 > %a0 , <32 x i8 > %a1 ) {
1297
1285
; CHECK-LABEL: @demandedbit_test_permvar_qi_256_mask(
1298
- ; CHECK-NEXT: [[M:%.*]] = or <32 x i8> [[A1:%.*]], <i8 0, i8 32, i8 -32, i8 64, i8 -64, i8 -128, i8 -128, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 32, i8 -32, i8 64, i8 -64, i8 -128, i8 -128, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0>
1299
- ; CHECK-NEXT: [[S:%.*]] = call <32 x i8> @llvm.x86.avx512.permvar.qi.256(<32 x i8> [[A0:%.*]], <32 x i8> [[M]])
1286
+ ; CHECK-NEXT: [[S:%.*]] = call <32 x i8> @llvm.x86.avx512.permvar.qi.256(<32 x i8> [[A0:%.*]], <32 x i8> [[A1:%.*]])
1300
1287
; CHECK-NEXT: ret <32 x i8> [[S]]
1301
1288
;
1302
1289
%m = or <32 x i8 > %a1 , <i8 0 , i8 32 , i8 -32 , i8 64 , i8 -64 , i8 128 , i8 -128 , i8 256 , i8 -256 , i8 512 , i8 -512 , i8 1024 , i8 -1024 , i8 2048 , i8 -2048 , i8 4096 , i8 0 , i8 32 , i8 -32 , i8 64 , i8 -64 , i8 128 , i8 -128 , i8 256 , i8 -256 , i8 512 , i8 -512 , i8 1024 , i8 -1024 , i8 2048 , i8 -2048 , i8 4096 >
@@ -1394,8 +1381,7 @@ define <64 x i8> @undef_test_permvar_qi_512_mask(<64 x i8> %a0, <64 x i8> %passt
1394
1381
1395
1382
define <64 x i8 > @demandedbit_test_permvar_qi_512_mask (<64 x i8 > %a0 , <64 x i8 > %a1 ) {
1396
1383
; CHECK-LABEL: @demandedbit_test_permvar_qi_512_mask(
1397
- ; CHECK-NEXT: [[M:%.*]] = or <64 x i8> [[A1:%.*]], <i8 0, i8 64, i8 -64, i8 -128, i8 -128, i8 0, i8 64, i8 -64, i8 -128, i8 -128, i8 0, i8 64, i8 -64, i8 -128, i8 -128, i8 0, i8 64, i8 -64, i8 -128, i8 -128, i8 0, i8 64, i8 -64, i8 -128, i8 -128, i8 0, i8 64, i8 -64, i8 -128, i8 -128, i8 0, i8 64, i8 -64, i8 -128, i8 -128, i8 0, i8 64, i8 -64, i8 -128, i8 -128, i8 0, i8 64, i8 -64, i8 -128, i8 -128, i8 0, i8 64, i8 -64, i8 -128, i8 -128, i8 0, i8 64, i8 -64, i8 -128, i8 -128, i8 0, i8 64, i8 -64, i8 -128, i8 -128, i8 0, i8 64, i8 -64, i8 -128>
1398
- ; CHECK-NEXT: [[S:%.*]] = call <64 x i8> @llvm.x86.avx512.permvar.qi.512(<64 x i8> [[A0:%.*]], <64 x i8> [[M]])
1384
+ ; CHECK-NEXT: [[S:%.*]] = call <64 x i8> @llvm.x86.avx512.permvar.qi.512(<64 x i8> [[A0:%.*]], <64 x i8> [[A1:%.*]])
1399
1385
; CHECK-NEXT: ret <64 x i8> [[S]]
1400
1386
;
1401
1387
%m = or <64 x i8 > %a1 , <i8 0 , i8 64 , i8 -64 , i8 128 , i8 -128 , i8 0 , i8 64 , i8 -64 , i8 128 , i8 -128 , i8 0 , i8 64 , i8 -64 , i8 128 , i8 -128 , i8 0 , i8 64 , i8 -64 , i8 128 , i8 -128 , i8 0 , i8 64 , i8 -64 , i8 128 , i8 -128 , i8 0 , i8 64 , i8 -64 , i8 128 , i8 -128 , i8 0 , i8 64 , i8 -64 , i8 128 , i8 -128 , i8 0 , i8 64 , i8 -64 , i8 128 , i8 -128 , i8 0 , i8 64 , i8 -64 , i8 128 , i8 -128 , i8 0 , i8 64 , i8 -64 , i8 128 , i8 -128 , i8 0 , i8 64 , i8 -64 , i8 128 , i8 -128 , i8 0 , i8 64 , i8 -64 , i8 128 , i8 -128 , i8 0 , i8 64 , i8 -64 , i8 128 >
0 commit comments