Home | History | Annotate | Download | only in X86
      1 ; RUN: llc < %s -mtriple=x86_64-linux |  FileCheck %s
      2 
      3 define void @t0(<2 x i64>* %dst, <2 x i64> %src1, <2 x i64> %src2) nounwind readonly {
      4 ; CHECK: t0
      5 ; CHECK: pand
      6 ; CHECK: ret
      7   %cmp1 = icmp ne <2 x i64> %src1, zeroinitializer
      8   %cmp2 = icmp ne <2 x i64> %src2, zeroinitializer
      9   %t1 = and <2 x i1> %cmp1, %cmp2
     10   %t2 = sext <2 x i1> %t1 to <2 x i64>
     11   store <2 x i64> %t2, <2 x i64>* %dst
     12   ret void
     13 }
     14 
     15 define void @t2(<3 x i64>* %dst, <3 x i64> %src1, <3 x i64> %src2) nounwind readonly {
     16 ; CHECK: t2
     17 ; CHECK-NOT: pand
     18 ; CHECK: ret
     19   %cmp1 = icmp ne <3 x i64> %src1, zeroinitializer
     20   %cmp2 = icmp ne <3 x i64> %src2, zeroinitializer
     21   %t1 = and <3 x i1> %cmp1, %cmp2
     22   %t2 = sext <3 x i1> %t1 to <3 x i64>
     23   store <3 x i64> %t2, <3 x i64>* %dst
     24   ret void
     25 }
     26