Skip to content

Commit 1715549

Browse files
committed
[X86] vector-fshr-*- regenerate test checks with vpternlog comments
1 parent 560517f commit 1715549

6 files changed

+57
-57
lines changed

llvm/test/CodeGen/X86/vector-fshr-128.ll

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2411,7 +2411,7 @@ define <16 x i8> @splatconstant_funnnel_v16i8(<16 x i8> %x, <16 x i8> %y) nounwi
24112411
; AVX512F: # %bb.0:
24122412
; AVX512F-NEXT: vpsllw $4, %xmm0, %xmm2
24132413
; AVX512F-NEXT: vpsrlw $4, %xmm1, %xmm0
2414-
; AVX512F-NEXT: vpternlogd $216, {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to16}, %zmm2, %zmm0
2414+
; AVX512F-NEXT: vpternlogd {{.*#+}} zmm0 = zmm0 ^ (mem & (zmm0 ^ zmm2))
24152415
; AVX512F-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
24162416
; AVX512F-NEXT: vzeroupper
24172417
; AVX512F-NEXT: retq
@@ -2420,14 +2420,14 @@ define <16 x i8> @splatconstant_funnnel_v16i8(<16 x i8> %x, <16 x i8> %y) nounwi
24202420
; AVX512VL: # %bb.0:
24212421
; AVX512VL-NEXT: vpsllw $4, %xmm0, %xmm2
24222422
; AVX512VL-NEXT: vpsrlw $4, %xmm1, %xmm0
2423-
; AVX512VL-NEXT: vpternlogd $216, {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to4}, %xmm2, %xmm0
2423+
; AVX512VL-NEXT: vpternlogd {{.*#+}} xmm0 = xmm0 ^ (mem & (xmm0 ^ xmm2))
24242424
; AVX512VL-NEXT: retq
24252425
;
24262426
; AVX512BW-LABEL: splatconstant_funnnel_v16i8:
24272427
; AVX512BW: # %bb.0:
24282428
; AVX512BW-NEXT: vpsllw $4, %xmm0, %xmm2
24292429
; AVX512BW-NEXT: vpsrlw $4, %xmm1, %xmm0
2430-
; AVX512BW-NEXT: vpternlogd $216, {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to16}, %zmm2, %zmm0
2430+
; AVX512BW-NEXT: vpternlogd {{.*#+}} zmm0 = zmm0 ^ (mem & (zmm0 ^ zmm2))
24312431
; AVX512BW-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
24322432
; AVX512BW-NEXT: vzeroupper
24332433
; AVX512BW-NEXT: retq
@@ -2436,7 +2436,7 @@ define <16 x i8> @splatconstant_funnnel_v16i8(<16 x i8> %x, <16 x i8> %y) nounwi
24362436
; AVX512VBMI2: # %bb.0:
24372437
; AVX512VBMI2-NEXT: vpsllw $4, %xmm0, %xmm2
24382438
; AVX512VBMI2-NEXT: vpsrlw $4, %xmm1, %xmm0
2439-
; AVX512VBMI2-NEXT: vpternlogd $216, {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to16}, %zmm2, %zmm0
2439+
; AVX512VBMI2-NEXT: vpternlogd {{.*#+}} zmm0 = zmm0 ^ (mem & (zmm0 ^ zmm2))
24402440
; AVX512VBMI2-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
24412441
; AVX512VBMI2-NEXT: vzeroupper
24422442
; AVX512VBMI2-NEXT: retq
@@ -2445,14 +2445,14 @@ define <16 x i8> @splatconstant_funnnel_v16i8(<16 x i8> %x, <16 x i8> %y) nounwi
24452445
; AVX512VLBW: # %bb.0:
24462446
; AVX512VLBW-NEXT: vpsllw $4, %xmm0, %xmm2
24472447
; AVX512VLBW-NEXT: vpsrlw $4, %xmm1, %xmm0
2448-
; AVX512VLBW-NEXT: vpternlogd $216, {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to4}, %xmm2, %xmm0
2448+
; AVX512VLBW-NEXT: vpternlogd {{.*#+}} xmm0 = xmm0 ^ (mem & (xmm0 ^ xmm2))
24492449
; AVX512VLBW-NEXT: retq
24502450
;
24512451
; AVX512VLVBMI2-LABEL: splatconstant_funnnel_v16i8:
24522452
; AVX512VLVBMI2: # %bb.0:
24532453
; AVX512VLVBMI2-NEXT: vpsllw $4, %xmm0, %xmm2
24542454
; AVX512VLVBMI2-NEXT: vpsrlw $4, %xmm1, %xmm0
2455-
; AVX512VLVBMI2-NEXT: vpternlogd $216, {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to4}, %xmm2, %xmm0
2455+
; AVX512VLVBMI2-NEXT: vpternlogd {{.*#+}} xmm0 = xmm0 ^ (mem & (xmm0 ^ xmm2))
24562456
; AVX512VLVBMI2-NEXT: retq
24572457
;
24582458
; XOP-LABEL: splatconstant_funnnel_v16i8:

llvm/test/CodeGen/X86/vector-fshr-256.ll

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1706,7 +1706,7 @@ define <32 x i8> @constant_funnnel_v32i8(<32 x i8> %x, <32 x i8> %y) nounwind {
17061706
; AVX512VL-NEXT: vpsllw $8, %ymm2, %ymm2
17071707
; AVX512VL-NEXT: vpmaddubsw {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %ymm0, %ymm0 # [128,0,32,0,8,0,2,0,128,0,2,0,8,0,32,0,128,0,32,0,8,0,2,0,128,0,2,0,8,0,32,0]
17081708
; AVX512VL-NEXT: vpandd {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to8}, %ymm0, %ymm0
1709-
; AVX512VL-NEXT: vpternlogq $254, %ymm2, %ymm1, %ymm0
1709+
; AVX512VL-NEXT: vpternlogq {{.*#+}} ymm0 = ymm0 | ymm1 | ymm2
17101710
; AVX512VL-NEXT: retq
17111711
;
17121712
; AVX512BW-LABEL: constant_funnnel_v32i8:
@@ -2088,45 +2088,45 @@ define <32 x i8> @splatconstant_funnnel_v32i8(<32 x i8> %x, <32 x i8> %y) nounwi
20882088
; AVX512F: # %bb.0:
20892089
; AVX512F-NEXT: vpsllw $4, %ymm0, %ymm2
20902090
; AVX512F-NEXT: vpsrlw $4, %ymm1, %ymm0
2091-
; AVX512F-NEXT: vpternlogd $216, {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to16}, %zmm2, %zmm0
2091+
; AVX512F-NEXT: vpternlogd {{.*#+}} zmm0 = zmm0 ^ (mem & (zmm0 ^ zmm2))
20922092
; AVX512F-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
20932093
; AVX512F-NEXT: retq
20942094
;
20952095
; AVX512VL-LABEL: splatconstant_funnnel_v32i8:
20962096
; AVX512VL: # %bb.0:
20972097
; AVX512VL-NEXT: vpsllw $4, %ymm0, %ymm2
20982098
; AVX512VL-NEXT: vpsrlw $4, %ymm1, %ymm0
2099-
; AVX512VL-NEXT: vpternlogd $216, {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to8}, %ymm2, %ymm0
2099+
; AVX512VL-NEXT: vpternlogd {{.*#+}} ymm0 = ymm0 ^ (mem & (ymm0 ^ ymm2))
21002100
; AVX512VL-NEXT: retq
21012101
;
21022102
; AVX512BW-LABEL: splatconstant_funnnel_v32i8:
21032103
; AVX512BW: # %bb.0:
21042104
; AVX512BW-NEXT: vpsllw $4, %ymm0, %ymm2
21052105
; AVX512BW-NEXT: vpsrlw $4, %ymm1, %ymm0
2106-
; AVX512BW-NEXT: vpternlogd $216, {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to16}, %zmm2, %zmm0
2106+
; AVX512BW-NEXT: vpternlogd {{.*#+}} zmm0 = zmm0 ^ (mem & (zmm0 ^ zmm2))
21072107
; AVX512BW-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
21082108
; AVX512BW-NEXT: retq
21092109
;
21102110
; AVX512VBMI2-LABEL: splatconstant_funnnel_v32i8:
21112111
; AVX512VBMI2: # %bb.0:
21122112
; AVX512VBMI2-NEXT: vpsllw $4, %ymm0, %ymm2
21132113
; AVX512VBMI2-NEXT: vpsrlw $4, %ymm1, %ymm0
2114-
; AVX512VBMI2-NEXT: vpternlogd $216, {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to16}, %zmm2, %zmm0
2114+
; AVX512VBMI2-NEXT: vpternlogd {{.*#+}} zmm0 = zmm0 ^ (mem & (zmm0 ^ zmm2))
21152115
; AVX512VBMI2-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
21162116
; AVX512VBMI2-NEXT: retq
21172117
;
21182118
; AVX512VLBW-LABEL: splatconstant_funnnel_v32i8:
21192119
; AVX512VLBW: # %bb.0:
21202120
; AVX512VLBW-NEXT: vpsllw $4, %ymm0, %ymm2
21212121
; AVX512VLBW-NEXT: vpsrlw $4, %ymm1, %ymm0
2122-
; AVX512VLBW-NEXT: vpternlogd $216, {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to8}, %ymm2, %ymm0
2122+
; AVX512VLBW-NEXT: vpternlogd {{.*#+}} ymm0 = ymm0 ^ (mem & (ymm0 ^ ymm2))
21232123
; AVX512VLBW-NEXT: retq
21242124
;
21252125
; AVX10-LABEL: splatconstant_funnnel_v32i8:
21262126
; AVX10: # %bb.0:
21272127
; AVX10-NEXT: vpsllw $4, %ymm0, %ymm2
21282128
; AVX10-NEXT: vpsrlw $4, %ymm1, %ymm0
2129-
; AVX10-NEXT: vpternlogd $216, {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to8}, %ymm2, %ymm0
2129+
; AVX10-NEXT: vpternlogd {{.*#+}} ymm0 = ymm0 ^ (mem & (ymm0 ^ ymm2))
21302130
; AVX10-NEXT: retq
21312131
;
21322132
; XOPAVX1-LABEL: splatconstant_funnnel_v32i8:

llvm/test/CodeGen/X86/vector-fshr-512.ll

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -921,7 +921,7 @@ define <64 x i8> @constant_funnnel_v64i8(<64 x i8> %x, <64 x i8> %y) nounwind {
921921
; AVX512F-NEXT: vpmaddubsw %ymm4, %ymm2, %ymm2
922922
; AVX512F-NEXT: vinserti64x4 $1, %ymm0, %zmm2, %zmm0
923923
; AVX512F-NEXT: vpandd {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to16}, %zmm0, %zmm0
924-
; AVX512F-NEXT: vpternlogq $254, %zmm3, %zmm1, %zmm0
924+
; AVX512F-NEXT: vpternlogq {{.*#+}} zmm0 = zmm0 | zmm1 | zmm3
925925
; AVX512F-NEXT: retq
926926
;
927927
; AVX512VL-LABEL: constant_funnnel_v64i8:
@@ -963,7 +963,7 @@ define <64 x i8> @constant_funnnel_v64i8(<64 x i8> %x, <64 x i8> %y) nounwind {
963963
; AVX512VL-NEXT: vpmaddubsw %ymm4, %ymm2, %ymm2
964964
; AVX512VL-NEXT: vinserti64x4 $1, %ymm0, %zmm2, %zmm0
965965
; AVX512VL-NEXT: vpandd {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to16}, %zmm0, %zmm0
966-
; AVX512VL-NEXT: vpternlogq $254, %zmm3, %zmm1, %zmm0
966+
; AVX512VL-NEXT: vpternlogq {{.*#+}} zmm0 = zmm0 | zmm1 | zmm3
967967
; AVX512VL-NEXT: retq
968968
;
969969
; AVX512BW-LABEL: constant_funnnel_v64i8:
@@ -1166,7 +1166,7 @@ define <64 x i8> @splatconstant_funnnel_v64i8(<64 x i8> %x, <64 x i8> %y) nounwi
11661166
; AVX512F-NEXT: vextracti64x4 $1, %zmm1, %ymm1
11671167
; AVX512F-NEXT: vpsrlw $4, %ymm1, %ymm1
11681168
; AVX512F-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0
1169-
; AVX512F-NEXT: vpternlogd $216, {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to16}, %zmm2, %zmm0
1169+
; AVX512F-NEXT: vpternlogd {{.*#+}} zmm0 = zmm0 ^ (mem & (zmm0 ^ zmm2))
11701170
; AVX512F-NEXT: retq
11711171
;
11721172
; AVX512VL-LABEL: splatconstant_funnnel_v64i8:
@@ -1179,35 +1179,35 @@ define <64 x i8> @splatconstant_funnnel_v64i8(<64 x i8> %x, <64 x i8> %y) nounwi
11791179
; AVX512VL-NEXT: vextracti64x4 $1, %zmm1, %ymm1
11801180
; AVX512VL-NEXT: vpsrlw $4, %ymm1, %ymm1
11811181
; AVX512VL-NEXT: vinserti64x4 $1, %ymm1, %zmm0, %zmm0
1182-
; AVX512VL-NEXT: vpternlogd $216, {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to16}, %zmm2, %zmm0
1182+
; AVX512VL-NEXT: vpternlogd {{.*#+}} zmm0 = zmm0 ^ (mem & (zmm0 ^ zmm2))
11831183
; AVX512VL-NEXT: retq
11841184
;
11851185
; AVX512BW-LABEL: splatconstant_funnnel_v64i8:
11861186
; AVX512BW: # %bb.0:
11871187
; AVX512BW-NEXT: vpsllw $4, %zmm0, %zmm2
11881188
; AVX512BW-NEXT: vpsrlw $4, %zmm1, %zmm0
1189-
; AVX512BW-NEXT: vpternlogd $216, {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to16}, %zmm2, %zmm0
1189+
; AVX512BW-NEXT: vpternlogd {{.*#+}} zmm0 = zmm0 ^ (mem & (zmm0 ^ zmm2))
11901190
; AVX512BW-NEXT: retq
11911191
;
11921192
; AVX512VBMI2-LABEL: splatconstant_funnnel_v64i8:
11931193
; AVX512VBMI2: # %bb.0:
11941194
; AVX512VBMI2-NEXT: vpsllw $4, %zmm0, %zmm2
11951195
; AVX512VBMI2-NEXT: vpsrlw $4, %zmm1, %zmm0
1196-
; AVX512VBMI2-NEXT: vpternlogd $216, {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to16}, %zmm2, %zmm0
1196+
; AVX512VBMI2-NEXT: vpternlogd {{.*#+}} zmm0 = zmm0 ^ (mem & (zmm0 ^ zmm2))
11971197
; AVX512VBMI2-NEXT: retq
11981198
;
11991199
; AVX512VLBW-LABEL: splatconstant_funnnel_v64i8:
12001200
; AVX512VLBW: # %bb.0:
12011201
; AVX512VLBW-NEXT: vpsllw $4, %zmm0, %zmm2
12021202
; AVX512VLBW-NEXT: vpsrlw $4, %zmm1, %zmm0
1203-
; AVX512VLBW-NEXT: vpternlogd $216, {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to16}, %zmm2, %zmm0
1203+
; AVX512VLBW-NEXT: vpternlogd {{.*#+}} zmm0 = zmm0 ^ (mem & (zmm0 ^ zmm2))
12041204
; AVX512VLBW-NEXT: retq
12051205
;
12061206
; AVX512VLVBMI2-LABEL: splatconstant_funnnel_v64i8:
12071207
; AVX512VLVBMI2: # %bb.0:
12081208
; AVX512VLVBMI2-NEXT: vpsllw $4, %zmm0, %zmm2
12091209
; AVX512VLVBMI2-NEXT: vpsrlw $4, %zmm1, %zmm0
1210-
; AVX512VLVBMI2-NEXT: vpternlogd $216, {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to16}, %zmm2, %zmm0
1210+
; AVX512VLVBMI2-NEXT: vpternlogd {{.*#+}} zmm0 = zmm0 ^ (mem & (zmm0 ^ zmm2))
12111211
; AVX512VLVBMI2-NEXT: retq
12121212
%res = call <64 x i8> @llvm.fshr.v64i8(<64 x i8> %x, <64 x i8> %y, <64 x i8> <i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4>)
12131213
ret <64 x i8> %res

llvm/test/CodeGen/X86/vector-fshr-rot-128.ll

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1928,7 +1928,7 @@ define <16 x i8> @splatconstant_funnnel_v16i8(<16 x i8> %x) nounwind {
19281928
; AVX512F: # %bb.0:
19291929
; AVX512F-NEXT: vpsllw $4, %xmm0, %xmm1
19301930
; AVX512F-NEXT: vpsrlw $4, %xmm0, %xmm0
1931-
; AVX512F-NEXT: vpternlogd $216, {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to16}, %zmm1, %zmm0
1931+
; AVX512F-NEXT: vpternlogd {{.*#+}} zmm0 = zmm0 ^ (mem & (zmm0 ^ zmm1))
19321932
; AVX512F-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
19331933
; AVX512F-NEXT: vzeroupper
19341934
; AVX512F-NEXT: retq
@@ -1937,14 +1937,14 @@ define <16 x i8> @splatconstant_funnnel_v16i8(<16 x i8> %x) nounwind {
19371937
; AVX512VL: # %bb.0:
19381938
; AVX512VL-NEXT: vpsllw $4, %xmm0, %xmm1
19391939
; AVX512VL-NEXT: vpsrlw $4, %xmm0, %xmm0
1940-
; AVX512VL-NEXT: vpternlogd $216, {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to4}, %xmm1, %xmm0
1940+
; AVX512VL-NEXT: vpternlogd {{.*#+}} xmm0 = xmm0 ^ (mem & (xmm0 ^ xmm1))
19411941
; AVX512VL-NEXT: retq
19421942
;
19431943
; AVX512BW-LABEL: splatconstant_funnnel_v16i8:
19441944
; AVX512BW: # %bb.0:
19451945
; AVX512BW-NEXT: vpsllw $4, %xmm0, %xmm1
19461946
; AVX512BW-NEXT: vpsrlw $4, %xmm0, %xmm0
1947-
; AVX512BW-NEXT: vpternlogd $216, {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to16}, %zmm1, %zmm0
1947+
; AVX512BW-NEXT: vpternlogd {{.*#+}} zmm0 = zmm0 ^ (mem & (zmm0 ^ zmm1))
19481948
; AVX512BW-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
19491949
; AVX512BW-NEXT: vzeroupper
19501950
; AVX512BW-NEXT: retq
@@ -1953,14 +1953,14 @@ define <16 x i8> @splatconstant_funnnel_v16i8(<16 x i8> %x) nounwind {
19531953
; AVX512VLBW: # %bb.0:
19541954
; AVX512VLBW-NEXT: vpsllw $4, %xmm0, %xmm1
19551955
; AVX512VLBW-NEXT: vpsrlw $4, %xmm0, %xmm0
1956-
; AVX512VLBW-NEXT: vpternlogd $216, {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to4}, %xmm1, %xmm0
1956+
; AVX512VLBW-NEXT: vpternlogd {{.*#+}} xmm0 = xmm0 ^ (mem & (xmm0 ^ xmm1))
19571957
; AVX512VLBW-NEXT: retq
19581958
;
19591959
; AVX512VBMI2-LABEL: splatconstant_funnnel_v16i8:
19601960
; AVX512VBMI2: # %bb.0:
19611961
; AVX512VBMI2-NEXT: vpsllw $4, %xmm0, %xmm1
19621962
; AVX512VBMI2-NEXT: vpsrlw $4, %xmm0, %xmm0
1963-
; AVX512VBMI2-NEXT: vpternlogd $216, {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to16}, %zmm1, %zmm0
1963+
; AVX512VBMI2-NEXT: vpternlogd {{.*#+}} zmm0 = zmm0 ^ (mem & (zmm0 ^ zmm1))
19641964
; AVX512VBMI2-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
19651965
; AVX512VBMI2-NEXT: vzeroupper
19661966
; AVX512VBMI2-NEXT: retq
@@ -1969,7 +1969,7 @@ define <16 x i8> @splatconstant_funnnel_v16i8(<16 x i8> %x) nounwind {
19691969
; AVX512VLVBMI2: # %bb.0:
19701970
; AVX512VLVBMI2-NEXT: vpsllw $4, %xmm0, %xmm1
19711971
; AVX512VLVBMI2-NEXT: vpsrlw $4, %xmm0, %xmm0
1972-
; AVX512VLVBMI2-NEXT: vpternlogd $216, {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to4}, %xmm1, %xmm0
1972+
; AVX512VLVBMI2-NEXT: vpternlogd {{.*#+}} xmm0 = xmm0 ^ (mem & (xmm0 ^ xmm1))
19731973
; AVX512VLVBMI2-NEXT: retq
19741974
;
19751975
; XOP-LABEL: splatconstant_funnnel_v16i8:

llvm/test/CodeGen/X86/vector-fshr-rot-256.ll

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -473,17 +473,17 @@ define <32 x i8> @var_funnnel_v32i8(<32 x i8> %x, <32 x i8> %amt) nounwind {
473473
; AVX512F: # %bb.0:
474474
; AVX512F-NEXT: vpsrlw $4, %ymm0, %ymm2
475475
; AVX512F-NEXT: vpsllw $4, %ymm0, %ymm3
476-
; AVX512F-NEXT: vpternlogd $216, {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to16}, %zmm2, %zmm3
476+
; AVX512F-NEXT: vpternlogd {{.*#+}} zmm3 = zmm3 ^ (mem & (zmm3 ^ zmm2))
477477
; AVX512F-NEXT: vpsllw $5, %ymm1, %ymm1
478478
; AVX512F-NEXT: vpblendvb %ymm1, %ymm3, %ymm0, %ymm0
479479
; AVX512F-NEXT: vpsrlw $2, %ymm0, %ymm2
480480
; AVX512F-NEXT: vpsllw $6, %ymm0, %ymm3
481-
; AVX512F-NEXT: vpternlogd $216, {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to16}, %zmm2, %zmm3
481+
; AVX512F-NEXT: vpternlogd {{.*#+}} zmm3 = zmm3 ^ (mem & (zmm3 ^ zmm2))
482482
; AVX512F-NEXT: vpaddb %ymm1, %ymm1, %ymm1
483483
; AVX512F-NEXT: vpblendvb %ymm1, %ymm3, %ymm0, %ymm0
484484
; AVX512F-NEXT: vpsrlw $1, %ymm0, %ymm2
485485
; AVX512F-NEXT: vpsllw $7, %ymm0, %ymm3
486-
; AVX512F-NEXT: vpternlogd $216, {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to16}, %zmm2, %zmm3
486+
; AVX512F-NEXT: vpternlogd {{.*#+}} zmm3 = zmm3 ^ (mem & (zmm3 ^ zmm2))
487487
; AVX512F-NEXT: vpaddb %ymm1, %ymm1, %ymm1
488488
; AVX512F-NEXT: vpblendvb %ymm1, %ymm3, %ymm0, %ymm0
489489
; AVX512F-NEXT: retq
@@ -492,17 +492,17 @@ define <32 x i8> @var_funnnel_v32i8(<32 x i8> %x, <32 x i8> %amt) nounwind {
492492
; AVX512VL: # %bb.0:
493493
; AVX512VL-NEXT: vpsrlw $4, %ymm0, %ymm2
494494
; AVX512VL-NEXT: vpsllw $4, %ymm0, %ymm3
495-
; AVX512VL-NEXT: vpternlogd $216, {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to8}, %ymm2, %ymm3
495+
; AVX512VL-NEXT: vpternlogd {{.*#+}} ymm3 = ymm3 ^ (mem & (ymm3 ^ ymm2))
496496
; AVX512VL-NEXT: vpsllw $5, %ymm1, %ymm1
497497
; AVX512VL-NEXT: vpblendvb %ymm1, %ymm3, %ymm0, %ymm0
498498
; AVX512VL-NEXT: vpsrlw $2, %ymm0, %ymm2
499499
; AVX512VL-NEXT: vpsllw $6, %ymm0, %ymm3
500-
; AVX512VL-NEXT: vpternlogd $216, {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to8}, %ymm2, %ymm3
500+
; AVX512VL-NEXT: vpternlogd {{.*#+}} ymm3 = ymm3 ^ (mem & (ymm3 ^ ymm2))
501501
; AVX512VL-NEXT: vpaddb %ymm1, %ymm1, %ymm1
502502
; AVX512VL-NEXT: vpblendvb %ymm1, %ymm3, %ymm0, %ymm0
503503
; AVX512VL-NEXT: vpsrlw $1, %ymm0, %ymm2
504504
; AVX512VL-NEXT: vpsllw $7, %ymm0, %ymm3
505-
; AVX512VL-NEXT: vpternlogd $216, {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to8}, %ymm2, %ymm3
505+
; AVX512VL-NEXT: vpternlogd {{.*#+}} ymm3 = ymm3 ^ (mem & (ymm3 ^ ymm2))
506506
; AVX512VL-NEXT: vpaddb %ymm1, %ymm1, %ymm1
507507
; AVX512VL-NEXT: vpblendvb %ymm1, %ymm3, %ymm0, %ymm0
508508
; AVX512VL-NEXT: retq
@@ -1702,45 +1702,45 @@ define <32 x i8> @splatconstant_funnnel_v32i8(<32 x i8> %x) nounwind {
17021702
; AVX512F: # %bb.0:
17031703
; AVX512F-NEXT: vpsllw $4, %ymm0, %ymm1
17041704
; AVX512F-NEXT: vpsrlw $4, %ymm0, %ymm0
1705-
; AVX512F-NEXT: vpternlogd $216, {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to16}, %zmm1, %zmm0
1705+
; AVX512F-NEXT: vpternlogd {{.*#+}} zmm0 = zmm0 ^ (mem & (zmm0 ^ zmm1))
17061706
; AVX512F-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
17071707
; AVX512F-NEXT: retq
17081708
;
17091709
; AVX512VL-LABEL: splatconstant_funnnel_v32i8:
17101710
; AVX512VL: # %bb.0:
17111711
; AVX512VL-NEXT: vpsllw $4, %ymm0, %ymm1
17121712
; AVX512VL-NEXT: vpsrlw $4, %ymm0, %ymm0
1713-
; AVX512VL-NEXT: vpternlogd $216, {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to8}, %ymm1, %ymm0
1713+
; AVX512VL-NEXT: vpternlogd {{.*#+}} ymm0 = ymm0 ^ (mem & (ymm0 ^ ymm1))
17141714
; AVX512VL-NEXT: retq
17151715
;
17161716
; AVX512BW-LABEL: splatconstant_funnnel_v32i8:
17171717
; AVX512BW: # %bb.0:
17181718
; AVX512BW-NEXT: vpsllw $4, %ymm0, %ymm1
17191719
; AVX512BW-NEXT: vpsrlw $4, %ymm0, %ymm0
1720-
; AVX512BW-NEXT: vpternlogd $216, {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to16}, %zmm1, %zmm0
1720+
; AVX512BW-NEXT: vpternlogd {{.*#+}} zmm0 = zmm0 ^ (mem & (zmm0 ^ zmm1))
17211721
; AVX512BW-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
17221722
; AVX512BW-NEXT: retq
17231723
;
17241724
; AVX512VLBW-LABEL: splatconstant_funnnel_v32i8:
17251725
; AVX512VLBW: # %bb.0:
17261726
; AVX512VLBW-NEXT: vpsllw $4, %ymm0, %ymm1
17271727
; AVX512VLBW-NEXT: vpsrlw $4, %ymm0, %ymm0
1728-
; AVX512VLBW-NEXT: vpternlogd $216, {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to8}, %ymm1, %ymm0
1728+
; AVX512VLBW-NEXT: vpternlogd {{.*#+}} ymm0 = ymm0 ^ (mem & (ymm0 ^ ymm1))
17291729
; AVX512VLBW-NEXT: retq
17301730
;
17311731
; AVX512VBMI2-LABEL: splatconstant_funnnel_v32i8:
17321732
; AVX512VBMI2: # %bb.0:
17331733
; AVX512VBMI2-NEXT: vpsllw $4, %ymm0, %ymm1
17341734
; AVX512VBMI2-NEXT: vpsrlw $4, %ymm0, %ymm0
1735-
; AVX512VBMI2-NEXT: vpternlogd $216, {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to16}, %zmm1, %zmm0
1735+
; AVX512VBMI2-NEXT: vpternlogd {{.*#+}} zmm0 = zmm0 ^ (mem & (zmm0 ^ zmm1))
17361736
; AVX512VBMI2-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
17371737
; AVX512VBMI2-NEXT: retq
17381738
;
17391739
; AVX512VLVBMI2-LABEL: splatconstant_funnnel_v32i8:
17401740
; AVX512VLVBMI2: # %bb.0:
17411741
; AVX512VLVBMI2-NEXT: vpsllw $4, %ymm0, %ymm1
17421742
; AVX512VLVBMI2-NEXT: vpsrlw $4, %ymm0, %ymm0
1743-
; AVX512VLVBMI2-NEXT: vpternlogd $216, {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to8}, %ymm1, %ymm0
1743+
; AVX512VLVBMI2-NEXT: vpternlogd {{.*#+}} ymm0 = ymm0 ^ (mem & (ymm0 ^ ymm1))
17441744
; AVX512VLVBMI2-NEXT: retq
17451745
;
17461746
; XOPAVX1-LABEL: splatconstant_funnnel_v32i8:

0 commit comments

Comments
 (0)