@@ -1023,7 +1023,7 @@ define void @vec256_i8_widen_to_i32_factor4_broadcast_to_v8i32_factor8(ptr %in.e
10231023; AVX512F: # %bb.0:
10241024; AVX512F-NEXT: vmovdqa 32(%rdi), %ymm0
10251025; AVX512F-NEXT: vpbroadcastd {{.*#+}} ymm1 = [0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255]
1026- ; AVX512F-NEXT: vpternlogd $202, (%rdi){1to8}, %ymm0, % ymm1
1026+ ; AVX512F-NEXT: vpternlogd {{.*#+}} ymm1 = mem ^ ( ymm1 & (ymm0 ^ mem))
10271027; AVX512F-NEXT: vpaddb (%rsi), %ymm1, %ymm0
10281028; AVX512F-NEXT: vmovdqa %ymm0, (%rdx)
10291029; AVX512F-NEXT: vzeroupper
@@ -1033,7 +1033,7 @@ define void @vec256_i8_widen_to_i32_factor4_broadcast_to_v8i32_factor8(ptr %in.e
10331033; AVX512DQ: # %bb.0:
10341034; AVX512DQ-NEXT: vmovdqa 32(%rdi), %ymm0
10351035; AVX512DQ-NEXT: vpbroadcastd {{.*#+}} ymm1 = [0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255]
1036- ; AVX512DQ-NEXT: vpternlogd $202, (%rdi){1to8}, %ymm0, % ymm1
1036+ ; AVX512DQ-NEXT: vpternlogd {{.*#+}} ymm1 = mem ^ ( ymm1 & (ymm0 ^ mem))
10371037; AVX512DQ-NEXT: vpaddb (%rsi), %ymm1, %ymm0
10381038; AVX512DQ-NEXT: vmovdqa %ymm0, (%rdx)
10391039; AVX512DQ-NEXT: vzeroupper
@@ -1121,7 +1121,7 @@ define void @vec256_i8_widen_to_i64_factor8_broadcast_to_v4i64_factor4(ptr %in.e
11211121; AVX512F: # %bb.0:
11221122; AVX512F-NEXT: vmovdqa 32(%rdi), %ymm0
11231123; AVX512F-NEXT: vpbroadcastq {{.*#+}} ymm1 = [0,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255]
1124- ; AVX512F-NEXT: vpternlogq $202, (%rdi){1to4}, %ymm0, % ymm1
1124+ ; AVX512F-NEXT: vpternlogq {{.*#+}} ymm1 = mem ^ ( ymm1 & (ymm0 ^ mem))
11251125; AVX512F-NEXT: vpaddb (%rsi), %ymm1, %ymm0
11261126; AVX512F-NEXT: vmovdqa %ymm0, (%rdx)
11271127; AVX512F-NEXT: vzeroupper
@@ -1131,7 +1131,7 @@ define void @vec256_i8_widen_to_i64_factor8_broadcast_to_v4i64_factor4(ptr %in.e
11311131; AVX512DQ: # %bb.0:
11321132; AVX512DQ-NEXT: vmovdqa 32(%rdi), %ymm0
11331133; AVX512DQ-NEXT: vpbroadcastq {{.*#+}} ymm1 = [0,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255]
1134- ; AVX512DQ-NEXT: vpternlogq $202, (%rdi){1to4}, %ymm0, % ymm1
1134+ ; AVX512DQ-NEXT: vpternlogq {{.*#+}} ymm1 = mem ^ ( ymm1 & (ymm0 ^ mem))
11351135; AVX512DQ-NEXT: vpaddb (%rsi), %ymm1, %ymm0
11361136; AVX512DQ-NEXT: vmovdqa %ymm0, (%rdx)
11371137; AVX512DQ-NEXT: vzeroupper
@@ -1214,7 +1214,7 @@ define void @vec256_i8_widen_to_i128_factor16_broadcast_to_v2i128_factor2(ptr %i
12141214; AVX512F-NEXT: vpermq {{.*#+}} ymm0 = mem[0,1,0,1]
12151215; AVX512F-NEXT: vbroadcasti128 {{.*#+}} ymm1 = [0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
12161216; AVX512F-NEXT: # ymm1 = mem[0,1,0,1]
1217- ; AVX512F-NEXT: vpternlogq $172, 32(%rdi), % ymm0, % ymm1
1217+ ; AVX512F-NEXT: vpternlogq {{.*#+}} ymm1 = ymm0 ^ ( ymm1 & (ymm0 ^ mem))
12181218; AVX512F-NEXT: vpaddb (%rsi), %ymm1, %ymm0
12191219; AVX512F-NEXT: vmovdqa %ymm0, (%rdx)
12201220; AVX512F-NEXT: vzeroupper
@@ -1225,7 +1225,7 @@ define void @vec256_i8_widen_to_i128_factor16_broadcast_to_v2i128_factor2(ptr %i
12251225; AVX512DQ-NEXT: vpermq {{.*#+}} ymm0 = mem[0,1,0,1]
12261226; AVX512DQ-NEXT: vbroadcasti128 {{.*#+}} ymm1 = [0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
12271227; AVX512DQ-NEXT: # ymm1 = mem[0,1,0,1]
1228- ; AVX512DQ-NEXT: vpternlogq $172, 32(%rdi), % ymm0, % ymm1
1228+ ; AVX512DQ-NEXT: vpternlogq {{.*#+}} ymm1 = ymm0 ^ ( ymm1 & (ymm0 ^ mem))
12291229; AVX512DQ-NEXT: vpaddb (%rsi), %ymm1, %ymm0
12301230; AVX512DQ-NEXT: vmovdqa %ymm0, (%rdx)
12311231; AVX512DQ-NEXT: vzeroupper
@@ -2155,7 +2155,7 @@ define void @vec384_i8_widen_to_i32_factor4_broadcast_to_v12i32_factor12(ptr %in
21552155; AVX512F: # %bb.0:
21562156; AVX512F-NEXT: vmovdqa 48(%rdi), %xmm0
21572157; AVX512F-NEXT: vpbroadcastd {{.*#+}} ymm1 = [0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255]
2158- ; AVX512F-NEXT: vpternlogd $202, (%rdi){1to8}, %ymm0, % ymm1
2158+ ; AVX512F-NEXT: vpternlogd {{.*#+}} ymm1 = mem ^ ( ymm1 & (ymm0 ^ mem))
21592159; AVX512F-NEXT: vpbroadcastb (%rdi), %ymm0
21602160; AVX512F-NEXT: vinserti64x4 $1, %ymm0, %zmm0, %zmm0
21612161; AVX512F-NEXT: vpaddb 32(%rsi), %ymm0, %ymm0
@@ -2169,7 +2169,7 @@ define void @vec384_i8_widen_to_i32_factor4_broadcast_to_v12i32_factor12(ptr %in
21692169; AVX512DQ: # %bb.0:
21702170; AVX512DQ-NEXT: vmovdqa 48(%rdi), %xmm0
21712171; AVX512DQ-NEXT: vpbroadcastd {{.*#+}} ymm1 = [0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255,0,255,255,255]
2172- ; AVX512DQ-NEXT: vpternlogd $202, (%rdi){1to8}, %ymm0, % ymm1
2172+ ; AVX512DQ-NEXT: vpternlogd {{.*#+}} ymm1 = mem ^ ( ymm1 & (ymm0 ^ mem))
21732173; AVX512DQ-NEXT: vpbroadcastb (%rdi), %ymm0
21742174; AVX512DQ-NEXT: vinserti64x4 $1, %ymm0, %zmm0, %zmm0
21752175; AVX512DQ-NEXT: vpaddb 32(%rsi), %ymm0, %ymm0
@@ -2388,7 +2388,7 @@ define void @vec384_i8_widen_to_i64_factor8_broadcast_to_v6i64_factor6(ptr %in.e
23882388; AVX512F: # %bb.0:
23892389; AVX512F-NEXT: vmovdqa 48(%rdi), %xmm0
23902390; AVX512F-NEXT: vpbroadcastq {{.*#+}} ymm1 = [0,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255]
2391- ; AVX512F-NEXT: vpternlogq $202, (%rdi){1to4}, %ymm0, % ymm1
2391+ ; AVX512F-NEXT: vpternlogq {{.*#+}} ymm1 = mem ^ ( ymm1 & (ymm0 ^ mem))
23922392; AVX512F-NEXT: vpbroadcastb (%rdi), %ymm0
23932393; AVX512F-NEXT: vinserti64x4 $1, %ymm0, %zmm0, %zmm0
23942394; AVX512F-NEXT: vpaddb 32(%rsi), %ymm0, %ymm0
@@ -2402,7 +2402,7 @@ define void @vec384_i8_widen_to_i64_factor8_broadcast_to_v6i64_factor6(ptr %in.e
24022402; AVX512DQ: # %bb.0:
24032403; AVX512DQ-NEXT: vmovdqa 48(%rdi), %xmm0
24042404; AVX512DQ-NEXT: vpbroadcastq {{.*#+}} ymm1 = [0,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255]
2405- ; AVX512DQ-NEXT: vpternlogq $202, (%rdi){1to4}, %ymm0, % ymm1
2405+ ; AVX512DQ-NEXT: vpternlogq {{.*#+}} ymm1 = mem ^ ( ymm1 & (ymm0 ^ mem))
24062406; AVX512DQ-NEXT: vpbroadcastb (%rdi), %ymm0
24072407; AVX512DQ-NEXT: vinserti64x4 $1, %ymm0, %zmm0, %zmm0
24082408; AVX512DQ-NEXT: vpaddb 32(%rsi), %ymm0, %ymm0
@@ -2628,7 +2628,7 @@ define void @vec384_i8_widen_to_i128_factor16_broadcast_to_v3i128_factor3(ptr %i
26282628; AVX512F-NEXT: vpermq {{.*#+}} ymm2 = ymm1[0,1,0,1]
26292629; AVX512F-NEXT: vbroadcasti128 {{.*#+}} ymm3 = [0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
26302630; AVX512F-NEXT: # ymm3 = mem[0,1,0,1]
2631- ; AVX512F-NEXT: vpternlogq $202, % ymm2, %ymm0, % ymm3
2631+ ; AVX512F-NEXT: vpternlogq {{.*#+}} ymm3 = ymm2 ^ ( ymm3 & (ymm0 ^ ymm2))
26322632; AVX512F-NEXT: vpaddb (%rsi), %ymm3, %ymm0
26332633; AVX512F-NEXT: vpaddb 32(%rsi), %ymm1, %ymm1
26342634; AVX512F-NEXT: vmovdqa %ymm1, 32(%rdx)
@@ -2643,7 +2643,7 @@ define void @vec384_i8_widen_to_i128_factor16_broadcast_to_v3i128_factor3(ptr %i
26432643; AVX512DQ-NEXT: vpermq {{.*#+}} ymm2 = ymm1[0,1,0,1]
26442644; AVX512DQ-NEXT: vbroadcasti128 {{.*#+}} ymm3 = [0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]
26452645; AVX512DQ-NEXT: # ymm3 = mem[0,1,0,1]
2646- ; AVX512DQ-NEXT: vpternlogq $202, % ymm2, %ymm0, % ymm3
2646+ ; AVX512DQ-NEXT: vpternlogq {{.*#+}} ymm3 = ymm2 ^ ( ymm3 & (ymm0 ^ ymm2))
26472647; AVX512DQ-NEXT: vpaddb (%rsi), %ymm3, %ymm0
26482648; AVX512DQ-NEXT: vpaddb 32(%rsi), %ymm1, %ymm1
26492649; AVX512DQ-NEXT: vmovdqa %ymm1, 32(%rdx)
@@ -2729,7 +2729,7 @@ define void @vec384_i8_widen_to_i192_factor24_broadcast_to_v2i192_factor2(ptr %i
27292729; AVX512F: # %bb.0:
27302730; AVX512F-NEXT: vmovdqa 48(%rdi), %xmm0
27312731; AVX512F-NEXT: vpmovsxwq {{.*#+}} xmm1 = [18446744073709551360,18446744073709551615]
2732- ; AVX512F-NEXT: vpternlogq $202, (%rdi), % xmm0, %xmm1
2732+ ; AVX512F-NEXT: vpternlogq {{.*#+}} xmm1 = mem ^ (xmm1 & ( xmm0 ^ mem))
27332733; AVX512F-NEXT: vpbroadcastb (%rdi), %xmm0
27342734; AVX512F-NEXT: vinserti128 $1, %xmm0, %ymm1, %ymm0
27352735; AVX512F-NEXT: vpaddb (%rsi), %ymm0, %ymm0
@@ -2741,7 +2741,7 @@ define void @vec384_i8_widen_to_i192_factor24_broadcast_to_v2i192_factor2(ptr %i
27412741; AVX512DQ: # %bb.0:
27422742; AVX512DQ-NEXT: vmovdqa 48(%rdi), %xmm0
27432743; AVX512DQ-NEXT: vpmovsxwq {{.*#+}} xmm1 = [18446744073709551360,18446744073709551615]
2744- ; AVX512DQ-NEXT: vpternlogq $202, (%rdi), % xmm0, %xmm1
2744+ ; AVX512DQ-NEXT: vpternlogq {{.*#+}} xmm1 = mem ^ (xmm1 & ( xmm0 ^ mem))
27452745; AVX512DQ-NEXT: vpbroadcastb (%rdi), %xmm0
27462746; AVX512DQ-NEXT: vinserti128 $1, %xmm0, %ymm1, %ymm0
27472747; AVX512DQ-NEXT: vpaddb (%rsi), %ymm0, %ymm0
0 commit comments