• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: llc < %s -march=x86 |  FileCheck %s
2
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}
23