brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.8 KiB · b767515 Raw
146 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512bw | FileCheck %s3 4; Function Attrs: norecurse nounwind readnone5define zeroext i32 @TEST_mm512_test_epi16_mask(<8 x i64> %__A, <8 x i64> %__B) local_unnamed_addr #0 {6; CHECK-LABEL: TEST_mm512_test_epi16_mask:7; CHECK:       # %bb.0: # %entry8; CHECK-NEXT:    vptestmw %zmm0, %zmm1, %k09; CHECK-NEXT:    kmovd %k0, %eax10; CHECK-NEXT:    vzeroupper11; CHECK-NEXT:    retq12entry:13  %and.i.i = and <8 x i64> %__B, %__A14  %0 = bitcast <8 x i64> %and.i.i to <32 x i16>15  %1 = icmp ne <32 x i16> %0, zeroinitializer16  %2 = bitcast <32 x i1> %1 to i3217  ret i32 %218}19 20 21; Function Attrs: norecurse nounwind readnone22define zeroext i64 @TEST_mm512_test_epi8_mask(<8 x i64> %__A, <8 x i64> %__B) local_unnamed_addr #0 {23; CHECK-LABEL: TEST_mm512_test_epi8_mask:24; CHECK:       # %bb.0: # %entry25; CHECK-NEXT:    vptestmb %zmm0, %zmm1, %k026; CHECK-NEXT:    kmovq %k0, %rax27; CHECK-NEXT:    vzeroupper28; CHECK-NEXT:    retq29entry:30  %and.i.i = and <8 x i64> %__B, %__A31  %0 = bitcast <8 x i64> %and.i.i to <64 x i8>32  %1 = icmp ne <64 x i8> %0, zeroinitializer33  %2 = bitcast <64 x i1> %1 to i6434  ret i64 %235}36 37; Function Attrs: norecurse nounwind readnone38define zeroext i32 @TEST_mm512_mask_test_epi16_mask(i32 %__U, <8 x i64> %__A, <8 x i64> %__B) local_unnamed_addr #0 {39; CHECK-LABEL: TEST_mm512_mask_test_epi16_mask:40; CHECK:       # %bb.0: # %entry41; CHECK-NEXT:    vptestmw %zmm0, %zmm1, %k042; CHECK-NEXT:    kmovd %k0, %eax43; CHECK-NEXT:    andl %edi, %eax44; CHECK-NEXT:    vzeroupper45; CHECK-NEXT:    retq46entry:47  %and.i.i = and <8 x i64> %__B, %__A48  %0 = bitcast <8 x i64> %and.i.i to <32 x i16>49  %1 = icmp ne <32 x i16> %0, zeroinitializer50  %2 = bitcast i32 %__U to <32 x i1>51  %3 = and <32 x i1> %1, %252  %4 = bitcast <32 x i1> %3 to i3253  ret i32 %454}55 56; Function Attrs: norecurse nounwind readnone57define zeroext i64 @TEST_mm512_mask_test_epi8_mask(i64 %__U, <8 x i64> %__A, <8 x i64> %__B) local_unnamed_addr #0 {58; CHECK-LABEL: TEST_mm512_mask_test_epi8_mask:59; CHECK:       # %bb.0: # %entry60; CHECK-NEXT:    vptestmb %zmm0, %zmm1, %k061; CHECK-NEXT:    kmovq %k0, %rax62; CHECK-NEXT:    andq %rdi, %rax63; CHECK-NEXT:    vzeroupper64; CHECK-NEXT:    retq65entry:66  %and.i.i = and <8 x i64> %__B, %__A67  %0 = bitcast <8 x i64> %and.i.i to <64 x i8>68  %1 = icmp ne <64 x i8> %0, zeroinitializer69  %2 = bitcast i64 %__U to <64 x i1>70  %3 = and <64 x i1> %1, %271  %4 = bitcast <64 x i1> %3 to i6472  ret i64 %473}74 75; Function Attrs: norecurse nounwind readnone76define zeroext i32 @TEST_mm512_testn_epi16_mask(<8 x i64> %__A, <8 x i64> %__B) local_unnamed_addr #0 {77; CHECK-LABEL: TEST_mm512_testn_epi16_mask:78; CHECK:       # %bb.0: # %entry79; CHECK-NEXT:    vptestnmw %zmm0, %zmm1, %k080; CHECK-NEXT:    kmovd %k0, %eax81; CHECK-NEXT:    vzeroupper82; CHECK-NEXT:    retq83entry:84  %and.i.i = and <8 x i64> %__B, %__A85  %0 = bitcast <8 x i64> %and.i.i to <32 x i16>86  %1 = icmp eq <32 x i16> %0, zeroinitializer87  %2 = bitcast <32 x i1> %1 to i3288  ret i32 %289}90 91 92; Function Attrs: norecurse nounwind readnone93define zeroext i64 @TEST_mm512_testn_epi8_mask(<8 x i64> %__A, <8 x i64> %__B) local_unnamed_addr #0 {94; CHECK-LABEL: TEST_mm512_testn_epi8_mask:95; CHECK:       # %bb.0: # %entry96; CHECK-NEXT:    vptestnmb %zmm0, %zmm1, %k097; CHECK-NEXT:    kmovq %k0, %rax98; CHECK-NEXT:    vzeroupper99; CHECK-NEXT:    retq100entry:101  %and.i.i = and <8 x i64> %__B, %__A102  %0 = bitcast <8 x i64> %and.i.i to <64 x i8>103  %1 = icmp eq <64 x i8> %0, zeroinitializer104  %2 = bitcast <64 x i1> %1 to i64105  ret i64 %2106}107 108; Function Attrs: norecurse nounwind readnone109define zeroext i32 @TEST_mm512_mask_testn_epi16_mask(i32 %__U, <8 x i64> %__A, <8 x i64> %__B) local_unnamed_addr #0 {110; CHECK-LABEL: TEST_mm512_mask_testn_epi16_mask:111; CHECK:       # %bb.0: # %entry112; CHECK-NEXT:    vptestnmw %zmm0, %zmm1, %k0113; CHECK-NEXT:    kmovd %k0, %eax114; CHECK-NEXT:    andl %edi, %eax115; CHECK-NEXT:    vzeroupper116; CHECK-NEXT:    retq117entry:118  %and.i.i = and <8 x i64> %__B, %__A119  %0 = bitcast <8 x i64> %and.i.i to <32 x i16>120  %1 = icmp eq <32 x i16> %0, zeroinitializer121  %2 = bitcast i32 %__U to <32 x i1>122  %3 = and <32 x i1> %1, %2123  %4 = bitcast <32 x i1> %3 to i32124  ret i32 %4125}126 127; Function Attrs: norecurse nounwind readnone128define zeroext i64 @TEST_mm512_mask_testn_epi8_mask(i64 %__U, <8 x i64> %__A, <8 x i64> %__B) local_unnamed_addr #0 {129; CHECK-LABEL: TEST_mm512_mask_testn_epi8_mask:130; CHECK:       # %bb.0: # %entry131; CHECK-NEXT:    vptestnmb %zmm0, %zmm1, %k0132; CHECK-NEXT:    kmovq %k0, %rax133; CHECK-NEXT:    andq %rdi, %rax134; CHECK-NEXT:    vzeroupper135; CHECK-NEXT:    retq136entry:137  %and.i.i = and <8 x i64> %__B, %__A138  %0 = bitcast <8 x i64> %and.i.i to <64 x i8>139  %1 = icmp eq <64 x i8> %0, zeroinitializer140  %2 = bitcast i64 %__U to <64 x i1>141  %3 = and <64 x i1> %1, %2142  %4 = bitcast <64 x i1> %3 to i64143  ret i64 %4144}145 146