blob: 97dacfdf09e0daabb2776e1ef1469a0c286b39af [file] [log] [blame]
Chris Lattner6f948be2010-12-19 20:12:58 +00001; RUN: llc < %s -march=x86 | FileCheck %s
Mon P Wang6fb474b2010-01-24 00:24:43 +00002
3
4define void @t(<2 x i64>* %dst, <2 x i64> %src1, <2 x i64> %src2) nounwind readonly {
5; CHECK: andb
6 %cmp1 = icmp ne <2 x i64> %src1, zeroinitializer
7 %cmp2 = icmp ne <2 x i64> %src2, zeroinitializer
8 %t1 = and <2 x i1> %cmp1, %cmp2
9 %t2 = sext <2 x i1> %t1 to <2 x i64>
10 store <2 x i64> %t2, <2 x i64>* %dst
11 ret void
12}
13
14define void @t2(<3 x i64>* %dst, <3 x i64> %src1, <3 x i64> %src2) nounwind readonly {
15; CHECK: andb
16 %cmp1 = icmp ne <3 x i64> %src1, zeroinitializer
17 %cmp2 = icmp ne <3 x i64> %src2, zeroinitializer
18 %t1 = and <3 x i1> %cmp1, %cmp2
19 %t2 = sext <3 x i1> %t1 to <3 x i64>
20 store <3 x i64> %t2, <3 x i64>* %dst
21 ret void
22}