@@ -41,7 +41,7 @@ define <8 x i16> @signbit_sel_v8i16(<8 x i16> %x, <8 x i16> %y, <8 x i16> %mask)
41
41
; AVX512VL: # %bb.0:
42
42
; AVX512VL-NEXT: vpxor %xmm3, %xmm3, %xmm3
43
43
; AVX512VL-NEXT: vpcmpgtw %xmm2, %xmm3, %xmm2
44
- ; AVX512VL-NEXT: vpternlogq $226, % xmm1, % xmm2, % xmm0
44
+ ; AVX512VL-NEXT: vpternlogq {{.*#+}} xmm0 = xmm1 ^ ( xmm2 & ( xmm0 ^ xmm1))
45
45
; AVX512VL-NEXT: retq
46
46
;
47
47
; XOP-LABEL: signbit_sel_v8i16:
@@ -263,7 +263,7 @@ define <16 x i16> @signbit_sel_v16i16(<16 x i16> %x, <16 x i16> %y, <16 x i16> %
263
263
; AVX512VL: # %bb.0:
264
264
; AVX512VL-NEXT: vpxor %xmm3, %xmm3, %xmm3
265
265
; AVX512VL-NEXT: vpcmpgtw %ymm2, %ymm3, %ymm2
266
- ; AVX512VL-NEXT: vpternlogq $226, % ymm1, % ymm2, % ymm0
266
+ ; AVX512VL-NEXT: vpternlogq {{.*#+}} ymm0 = ymm1 ^ ( ymm2 & ( ymm0 ^ ymm1))
267
267
; AVX512VL-NEXT: retq
268
268
;
269
269
; XOP-LABEL: signbit_sel_v16i16:
@@ -615,7 +615,7 @@ define <16 x i16> @blend_splat1_mask_cond_v16i16(<16 x i16> %x, <16 x i16> %y, <
615
615
; AVX512VL-NEXT: vpandd {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to8}, %ymm0, %ymm0
616
616
; AVX512VL-NEXT: vpxor %xmm3, %xmm3, %xmm3
617
617
; AVX512VL-NEXT: vpcmpeqw %ymm3, %ymm0, %ymm0
618
- ; AVX512VL-NEXT: vpternlogq $202, % ymm2, %ymm1, % ymm0
618
+ ; AVX512VL-NEXT: vpternlogq {{.*#+}} ymm0 = ymm2 ^ ( ymm0 & (ymm1 ^ ymm2))
619
619
; AVX512VL-NEXT: retq
620
620
;
621
621
; XOP-LABEL: blend_splat1_mask_cond_v16i16:
@@ -654,7 +654,7 @@ define <16 x i8> @blend_splat1_mask_cond_v16i8(<16 x i8> %x, <16 x i8> %y, <16 x
654
654
; AVX512VL-NEXT: vpandd {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to4}, %xmm0, %xmm0
655
655
; AVX512VL-NEXT: vpxor %xmm3, %xmm3, %xmm3
656
656
; AVX512VL-NEXT: vpcmpeqb %xmm3, %xmm0, %xmm0
657
- ; AVX512VL-NEXT: vpternlogq $202, % xmm2, %xmm1, % xmm0
657
+ ; AVX512VL-NEXT: vpternlogq {{.*#+}} xmm0 = xmm2 ^ ( xmm0 & (xmm1 ^ xmm2))
658
658
; AVX512VL-NEXT: retq
659
659
;
660
660
; XOP-LABEL: blend_splat1_mask_cond_v16i8:
@@ -759,7 +759,7 @@ define <8 x i16> @blend_splatmax_mask_cond_v8i16(<8 x i16> %x, <8 x i16> %y, <8
759
759
; AVX512VL-NEXT: vpandd {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to4}, %xmm0, %xmm0
760
760
; AVX512VL-NEXT: vpxor %xmm3, %xmm3, %xmm3
761
761
; AVX512VL-NEXT: vpcmpeqw %xmm3, %xmm0, %xmm0
762
- ; AVX512VL-NEXT: vpternlogq $202, % xmm2, %xmm1, % xmm0
762
+ ; AVX512VL-NEXT: vpternlogq {{.*#+}} xmm0 = xmm2 ^ ( xmm0 & (xmm1 ^ xmm2))
763
763
; AVX512VL-NEXT: retq
764
764
;
765
765
; XOP-LABEL: blend_splatmax_mask_cond_v8i16:
@@ -806,7 +806,7 @@ define <32 x i8> @blend_splatmax_mask_cond_v32i8(<32 x i8> %x, <32 x i8> %y, <32
806
806
; AVX512VL-NEXT: vpandd {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to8}, %ymm0, %ymm0
807
807
; AVX512VL-NEXT: vpxor %xmm3, %xmm3, %xmm3
808
808
; AVX512VL-NEXT: vpcmpeqb %ymm3, %ymm0, %ymm0
809
- ; AVX512VL-NEXT: vpternlogq $202, % ymm2, %ymm1, % ymm0
809
+ ; AVX512VL-NEXT: vpternlogq {{.*#+}} ymm0 = ymm2 ^ ( ymm0 & (ymm1 ^ ymm2))
810
810
; AVX512VL-NEXT: retq
811
811
;
812
812
; XOP-LABEL: blend_splatmax_mask_cond_v32i8:
@@ -944,7 +944,7 @@ define <16 x i16> @blend_splat_mask_cond_v16i16(<16 x i16> %x, <16 x i16> %y, <1
944
944
; AVX512VL-NEXT: vpandd {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to8}, %ymm0, %ymm0
945
945
; AVX512VL-NEXT: vpxor %xmm3, %xmm3, %xmm3
946
946
; AVX512VL-NEXT: vpcmpeqw %ymm3, %ymm0, %ymm0
947
- ; AVX512VL-NEXT: vpternlogq $202, % ymm2, %ymm1, % ymm0
947
+ ; AVX512VL-NEXT: vpternlogq {{.*#+}} ymm0 = ymm2 ^ ( ymm0 & (ymm1 ^ ymm2))
948
948
; AVX512VL-NEXT: retq
949
949
;
950
950
; XOP-LABEL: blend_splat_mask_cond_v16i16:
@@ -983,7 +983,7 @@ define <16 x i8> @blend_splat_mask_cond_v16i8(<16 x i8> %x, <16 x i8> %y, <16 x
983
983
; AVX512VL-NEXT: vpandd {{\.?LCPI[0-9]+_[0-9]+}}(%rip){1to4}, %xmm0, %xmm0
984
984
; AVX512VL-NEXT: vpxor %xmm3, %xmm3, %xmm3
985
985
; AVX512VL-NEXT: vpcmpeqb %xmm3, %xmm0, %xmm0
986
- ; AVX512VL-NEXT: vpternlogq $202, % xmm2, %xmm1, % xmm0
986
+ ; AVX512VL-NEXT: vpternlogq {{.*#+}} xmm0 = xmm2 ^ ( xmm0 & (xmm1 ^ xmm2))
987
987
; AVX512VL-NEXT: retq
988
988
;
989
989
; XOP-LABEL: blend_splat_mask_cond_v16i8:
@@ -1107,7 +1107,7 @@ define <8 x i16> @blend_mask_cond_v8i16(<8 x i16> %x, <8 x i16> %y, <8 x i16> %z
1107
1107
; AVX512VL-NEXT: vpand {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm0
1108
1108
; AVX512VL-NEXT: vpxor %xmm3, %xmm3, %xmm3
1109
1109
; AVX512VL-NEXT: vpcmpeqw %xmm3, %xmm0, %xmm0
1110
- ; AVX512VL-NEXT: vpternlogq $202, % xmm2, %xmm1, % xmm0
1110
+ ; AVX512VL-NEXT: vpternlogq {{.*#+}} xmm0 = xmm2 ^ ( xmm0 & (xmm1 ^ xmm2))
1111
1111
; AVX512VL-NEXT: retq
1112
1112
;
1113
1113
; XOP-LABEL: blend_mask_cond_v8i16:
@@ -1145,7 +1145,7 @@ define <16 x i8> @blend_mask_cond_v16i8(<16 x i8> %x, <16 x i8> %y, <16 x i8> %z
1145
1145
; AVX512VL-NEXT: vpand {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm0
1146
1146
; AVX512VL-NEXT: vpxor %xmm3, %xmm3, %xmm3
1147
1147
; AVX512VL-NEXT: vpcmpeqb %xmm3, %xmm0, %xmm0
1148
- ; AVX512VL-NEXT: vpternlogq $202, % xmm2, %xmm1, % xmm0
1148
+ ; AVX512VL-NEXT: vpternlogq {{.*#+}} xmm0 = xmm2 ^ ( xmm0 & (xmm1 ^ xmm2))
1149
1149
; AVX512VL-NEXT: retq
1150
1150
;
1151
1151
; XOP-LABEL: blend_mask_cond_v16i8:
@@ -1290,7 +1290,7 @@ define <16 x i16> @blend_mask_cond_v16i16(<16 x i16> %x, <16 x i16> %y, <16 x i1
1290
1290
; AVX512VL-NEXT: vpand {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %ymm0, %ymm0
1291
1291
; AVX512VL-NEXT: vpxor %xmm3, %xmm3, %xmm3
1292
1292
; AVX512VL-NEXT: vpcmpeqw %ymm3, %ymm0, %ymm0
1293
- ; AVX512VL-NEXT: vpternlogq $202, % ymm2, %ymm1, % ymm0
1293
+ ; AVX512VL-NEXT: vpternlogq {{.*#+}} ymm0 = ymm2 ^ ( ymm0 & (ymm1 ^ ymm2))
1294
1294
; AVX512VL-NEXT: retq
1295
1295
;
1296
1296
; XOP-LABEL: blend_mask_cond_v16i16:
@@ -1345,7 +1345,7 @@ define <32 x i8> @blend_mask_cond_v32i8(<32 x i8> %x, <32 x i8> %y, <32 x i8> %z
1345
1345
; AVX512VL-NEXT: vpand {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %ymm0, %ymm0
1346
1346
; AVX512VL-NEXT: vpxor %xmm3, %xmm3, %xmm3
1347
1347
; AVX512VL-NEXT: vpcmpeqb %ymm3, %ymm0, %ymm0
1348
- ; AVX512VL-NEXT: vpternlogq $202, % ymm2, %ymm1, % ymm0
1348
+ ; AVX512VL-NEXT: vpternlogq {{.*#+}} ymm0 = ymm2 ^ ( ymm0 & (ymm1 ^ ymm2))
1349
1349
; AVX512VL-NEXT: retq
1350
1350
;
1351
1351
; XOP-LABEL: blend_mask_cond_v32i8:
@@ -1548,7 +1548,7 @@ define void @store_blend_load_v16i16(ptr %a0, ptr %a1, ptr %a2) {
1548
1548
; AVX512VL-NEXT: vmovdqa (%rdi), %ymm0
1549
1549
; AVX512VL-NEXT: vpmaxuw {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %ymm0, %ymm1
1550
1550
; AVX512VL-NEXT: vpcmpeqw %ymm1, %ymm0, %ymm1
1551
- ; AVX512VL-NEXT: vpternlogq $202, (%rsi), % ymm0, %ymm1
1551
+ ; AVX512VL-NEXT: vpternlogq {{.*#+}} ymm1 = mem ^ (ymm1 & ( ymm0 ^ mem))
1552
1552
; AVX512VL-NEXT: vmovdqa %ymm1, (%rdx)
1553
1553
; AVX512VL-NEXT: vzeroupper
1554
1554
; AVX512VL-NEXT: retq
@@ -1617,7 +1617,7 @@ define void @store_blend_load_v32i8(ptr %a0, ptr %a1, ptr %a2) {
1617
1617
; AVX512VL-NEXT: vmovdqa (%rdi), %ymm0
1618
1618
; AVX512VL-NEXT: vpmaxub {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %ymm0, %ymm1
1619
1619
; AVX512VL-NEXT: vpcmpeqb %ymm1, %ymm0, %ymm1
1620
- ; AVX512VL-NEXT: vpternlogq $202, (%rsi), % ymm0, %ymm1
1620
+ ; AVX512VL-NEXT: vpternlogq {{.*#+}} ymm1 = mem ^ (ymm1 & ( ymm0 ^ mem))
1621
1621
; AVX512VL-NEXT: vmovdqa %ymm1, (%rdx)
1622
1622
; AVX512VL-NEXT: vzeroupper
1623
1623
; AVX512VL-NEXT: retq
0 commit comments