@@ -2218,7 +2218,7 @@ declare <8 x i16> @llvm.x86.avx512.mask.pmov.qw.512(<8 x i64>, <8 x i16>, i8)
22182218define <8 x i64 > @test_mm512_ternarylogic_epi32 (<8 x i64 > %__A , <8 x i64 > %__B , <8 x i64 > %__C ) {
22192219; CHECK-LABEL: test_mm512_ternarylogic_epi32:
22202220; CHECK: # %bb.0: # %entry
2221- ; CHECK-NEXT: vpternlogd $4, %zmm2, % zmm1, % zmm0
2221+ ; CHECK-NEXT: vpternlogd {{.*#+}} zmm0 = zmm1 & ~( zmm0 | zmm2)
22222222; CHECK-NEXT: ret{{[l|q]}}
22232223entry:
22242224 %0 = bitcast <8 x i64 > %__A to <16 x i32 >
@@ -2236,13 +2236,13 @@ define <8 x i64> @test_mm512_mask_ternarylogic_epi32(<8 x i64> %__A, i16 zeroext
22362236; X86: # %bb.0: # %entry
22372237; X86-NEXT: movzwl {{[0-9]+}}(%esp), %eax
22382238; X86-NEXT: kmovw %eax, %k1
2239- ; X86-NEXT: vpternlogd $4, %zmm2, %zmm1, % zmm0 {%k1}
2239+ ; X86-NEXT: vpternlogd {{.*#+}} zmm0 {%k1} = zmm1 & ~(zmm0 | zmm2)
22402240; X86-NEXT: retl
22412241;
22422242; X64-LABEL: test_mm512_mask_ternarylogic_epi32:
22432243; X64: # %bb.0: # %entry
22442244; X64-NEXT: kmovw %edi, %k1
2245- ; X64-NEXT: vpternlogd $4, %zmm2, %zmm1, % zmm0 {%k1}
2245+ ; X64-NEXT: vpternlogd {{.*#+}} zmm0 {%k1} = zmm1 & ~(zmm0 | zmm2)
22462246; X64-NEXT: retq
22472247entry:
22482248 %0 = bitcast <8 x i64 > %__A to <16 x i32 >
@@ -2260,13 +2260,13 @@ define <8 x i64> @test_mm512_maskz_ternarylogic_epi32(i16 zeroext %__U, <8 x i64
22602260; X86: # %bb.0: # %entry
22612261; X86-NEXT: movzwl {{[0-9]+}}(%esp), %eax
22622262; X86-NEXT: kmovw %eax, %k1
2263- ; X86-NEXT: vpternlogd $4, %zmm2, %zmm1, % zmm0 {%k1} {z}
2263+ ; X86-NEXT: vpternlogd {{.*#+}} zmm0 {%k1} {z} = zmm1 & ~(zmm0 | zmm2)
22642264; X86-NEXT: retl
22652265;
22662266; X64-LABEL: test_mm512_maskz_ternarylogic_epi32:
22672267; X64: # %bb.0: # %entry
22682268; X64-NEXT: kmovw %edi, %k1
2269- ; X64-NEXT: vpternlogd $4, %zmm2, %zmm1, % zmm0 {%k1} {z}
2269+ ; X64-NEXT: vpternlogd {{.*#+}} zmm0 {%k1} {z} = zmm1 & ~(zmm0 | zmm2)
22702270; X64-NEXT: retq
22712271entry:
22722272 %0 = bitcast <8 x i64 > %__A to <16 x i32 >
@@ -2282,7 +2282,7 @@ entry:
22822282define <8 x i64 > @test_mm512_ternarylogic_epi64 (<8 x i64 > %__A , <8 x i64 > %__B , <8 x i64 > %__C ) {
22832283; CHECK-LABEL: test_mm512_ternarylogic_epi64:
22842284; CHECK: # %bb.0: # %entry
2285- ; CHECK-NEXT: vpternlogq $4, %zmm2, % zmm1, % zmm0
2285+ ; CHECK-NEXT: vpternlogq {{.*#+}} zmm0 = zmm1 & ~( zmm0 | zmm2)
22862286; CHECK-NEXT: ret{{[l|q]}}
22872287entry:
22882288 %0 = tail call <8 x i64 > @llvm.x86.avx512.pternlog.q.512 (<8 x i64 > %__A , <8 x i64 > %__B , <8 x i64 > %__C , i32 4 )
@@ -2296,13 +2296,13 @@ define <8 x i64> @test_mm512_mask_ternarylogic_epi64(<8 x i64> %__A, i8 zeroext
22962296; X86: # %bb.0: # %entry
22972297; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax
22982298; X86-NEXT: kmovw %eax, %k1
2299- ; X86-NEXT: vpternlogq $4, %zmm2, %zmm1, % zmm0 {%k1}
2299+ ; X86-NEXT: vpternlogq {{.*#+}} zmm0 {%k1} = zmm1 & ~(zmm0 | zmm2)
23002300; X86-NEXT: retl
23012301;
23022302; X64-LABEL: test_mm512_mask_ternarylogic_epi64:
23032303; X64: # %bb.0: # %entry
23042304; X64-NEXT: kmovw %edi, %k1
2305- ; X64-NEXT: vpternlogq $4, %zmm2, %zmm1, % zmm0 {%k1}
2305+ ; X64-NEXT: vpternlogq {{.*#+}} zmm0 {%k1} = zmm1 & ~(zmm0 | zmm2)
23062306; X64-NEXT: retq
23072307entry:
23082308 %0 = tail call <8 x i64 > @llvm.x86.avx512.pternlog.q.512 (<8 x i64 > %__A , <8 x i64 > %__B , <8 x i64 > %__C , i32 4 )
@@ -2316,13 +2316,13 @@ define <8 x i64> @test_mm512_maskz_ternarylogic_epi64(i8 zeroext %__U, <8 x i64>
23162316; X86: # %bb.0: # %entry
23172317; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax
23182318; X86-NEXT: kmovw %eax, %k1
2319- ; X86-NEXT: vpternlogq $4, %zmm2, %zmm1, % zmm0 {%k1} {z}
2319+ ; X86-NEXT: vpternlogq {{.*#+}} zmm0 {%k1} {z} = zmm1 & ~(zmm0 | zmm2)
23202320; X86-NEXT: retl
23212321;
23222322; X64-LABEL: test_mm512_maskz_ternarylogic_epi64:
23232323; X64: # %bb.0: # %entry
23242324; X64-NEXT: kmovw %edi, %k1
2325- ; X64-NEXT: vpternlogq $4, %zmm2, %zmm1, % zmm0 {%k1} {z}
2325+ ; X64-NEXT: vpternlogq {{.*#+}} zmm0 {%k1} {z} = zmm1 & ~(zmm0 | zmm2)
23262326; X64-NEXT: retq
23272327entry:
23282328 %0 = tail call <8 x i64 > @llvm.x86.avx512.pternlog.q.512 (<8 x i64 > %__A , <8 x i64 > %__B , <8 x i64 > %__C , i32 4 )
@@ -6864,7 +6864,7 @@ define i64 @test_mm512_mask_reduce_and_epi64(i8 zeroext %__M, <8 x i64> %__W) {
68646864; X86: # %bb.0: # %entry
68656865; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax
68666866; X86-NEXT: kmovw %eax, %k1
6867- ; X86-NEXT: vpternlogd $255, % zmm1, %zmm1, %zmm1
6867+ ; X86-NEXT: vpternlogd {{.*#+}} zmm1 = -1
68686868; X86-NEXT: vmovdqa64 %zmm0, %zmm1 {%k1}
68696869; X86-NEXT: vextracti64x4 $1, %zmm1, %ymm0
68706870; X86-NEXT: vpand %ymm0, %ymm1, %ymm0
@@ -6880,7 +6880,7 @@ define i64 @test_mm512_mask_reduce_and_epi64(i8 zeroext %__M, <8 x i64> %__W) {
68806880; X64-LABEL: test_mm512_mask_reduce_and_epi64:
68816881; X64: # %bb.0: # %entry
68826882; X64-NEXT: kmovw %edi, %k1
6883- ; X64-NEXT: vpternlogd $255, % zmm1, %zmm1, %zmm1
6883+ ; X64-NEXT: vpternlogd {{.*#+}} zmm1 = -1
68846884; X64-NEXT: vmovdqa64 %zmm0, %zmm1 {%k1}
68856885; X64-NEXT: vextracti64x4 $1, %zmm1, %ymm0
68866886; X64-NEXT: vpand %ymm0, %ymm1, %ymm0
@@ -7200,7 +7200,7 @@ define i32 @test_mm512_mask_reduce_and_epi32(i16 zeroext %__M, <8 x i64> %__W) {
72007200; X86: # %bb.0: # %entry
72017201; X86-NEXT: movzwl {{[0-9]+}}(%esp), %eax
72027202; X86-NEXT: kmovw %eax, %k1
7203- ; X86-NEXT: vpternlogd $255, % zmm1, %zmm1, %zmm1
7203+ ; X86-NEXT: vpternlogd {{.*#+}} zmm1 = -1
72047204; X86-NEXT: vmovdqa32 %zmm0, %zmm1 {%k1}
72057205; X86-NEXT: vextracti64x4 $1, %zmm1, %ymm0
72067206; X86-NEXT: vpand %ymm0, %ymm1, %ymm0
@@ -7217,7 +7217,7 @@ define i32 @test_mm512_mask_reduce_and_epi32(i16 zeroext %__M, <8 x i64> %__W) {
72177217; X64-LABEL: test_mm512_mask_reduce_and_epi32:
72187218; X64: # %bb.0: # %entry
72197219; X64-NEXT: kmovw %edi, %k1
7220- ; X64-NEXT: vpternlogd $255, % zmm1, %zmm1, %zmm1
7220+ ; X64-NEXT: vpternlogd {{.*#+}} zmm1 = -1
72217221; X64-NEXT: vmovdqa32 %zmm0, %zmm1 {%k1}
72227222; X64-NEXT: vextracti64x4 $1, %zmm1, %ymm0
72237223; X64-NEXT: vpand %ymm0, %ymm1, %ymm0
@@ -8176,7 +8176,7 @@ define i64 @test_mm512_mask_reduce_min_epu64(i8 zeroext %__M, <8 x i64> %__W) {
81768176; X86: # %bb.0: # %entry
81778177; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax
81788178; X86-NEXT: kmovw %eax, %k1
8179- ; X86-NEXT: vpternlogd $255, % zmm1, %zmm1, %zmm1
8179+ ; X86-NEXT: vpternlogd {{.*#+}} zmm1 = -1
81808180; X86-NEXT: vmovdqa64 %zmm0, %zmm1 {%k1}
81818181; X86-NEXT: vshufi64x2 {{.*#+}} zmm0 = zmm1[4,5,6,7,0,1,2,3]
81828182; X86-NEXT: vpminuq %zmm0, %zmm1, %zmm0
@@ -8192,7 +8192,7 @@ define i64 @test_mm512_mask_reduce_min_epu64(i8 zeroext %__M, <8 x i64> %__W) {
81928192; X64-LABEL: test_mm512_mask_reduce_min_epu64:
81938193; X64: # %bb.0: # %entry
81948194; X64-NEXT: kmovw %edi, %k1
8195- ; X64-NEXT: vpternlogd $255, % zmm1, %zmm1, %zmm1
8195+ ; X64-NEXT: vpternlogd {{.*#+}} zmm1 = -1
81968196; X64-NEXT: vmovdqa64 %zmm0, %zmm1 {%k1}
81978197; X64-NEXT: vshufi64x2 {{.*#+}} zmm0 = zmm1[4,5,6,7,0,1,2,3]
81988198; X64-NEXT: vpminuq %zmm0, %zmm1, %zmm0
@@ -8778,7 +8778,7 @@ define i32 @test_mm512_mask_reduce_min_epu32(i16 zeroext %__M, <8 x i64> %__W) {
87788778; X86: # %bb.0: # %entry
87798779; X86-NEXT: movzwl {{[0-9]+}}(%esp), %eax
87808780; X86-NEXT: kmovw %eax, %k1
8781- ; X86-NEXT: vpternlogd $255, % zmm1, %zmm1, %zmm1
8781+ ; X86-NEXT: vpternlogd {{.*#+}} zmm1 = -1
87828782; X86-NEXT: vmovdqa32 %zmm0, %zmm1 {%k1}
87838783; X86-NEXT: vextracti64x4 $1, %zmm1, %ymm0
87848784; X86-NEXT: vpminud %ymm0, %ymm1, %ymm0
@@ -8795,7 +8795,7 @@ define i32 @test_mm512_mask_reduce_min_epu32(i16 zeroext %__M, <8 x i64> %__W) {
87958795; X64-LABEL: test_mm512_mask_reduce_min_epu32:
87968796; X64: # %bb.0: # %entry
87978797; X64-NEXT: kmovw %edi, %k1
8798- ; X64-NEXT: vpternlogd $255, % zmm1, %zmm1, %zmm1
8798+ ; X64-NEXT: vpternlogd {{.*#+}} zmm1 = -1
87998799; X64-NEXT: vmovdqa32 %zmm0, %zmm1 {%k1}
88008800; X64-NEXT: vextracti64x4 $1, %zmm1, %ymm0
88018801; X64-NEXT: vpminud %ymm0, %ymm1, %ymm0
0 commit comments