R600: Add support for GROUP_BARRIER instruction
[oota-llvm.git] / test / CodeGen / R600 / setcc.ll
1 ;RUN: llc < %s -march=r600 -mcpu=redwood | FileCheck --check-prefix=EG-CHECK %s
2
3 ;EG-CHECK: @test2
4 ;EG-CHECK: SETE_INT {{\*? *}}T{{[0-9]+\.[XYZW], T[0-9]+\.[XYZW], T[0-9]+\.[XYZW]}}
5 ;EG-CHECK: SETE_INT {{\*? *}}T{{[0-9]+\.[XYZW], T[0-9]+\.[XYZW], T[0-9]+\.[XYZW]}}
6
7 define void @test2(<2 x i32> addrspace(1)* %out, <2 x i32> addrspace(1)* %in) {
8   %b_ptr = getelementptr <2 x i32> addrspace(1)* %in, i32 1
9   %a = load <2 x i32> addrspace(1) * %in
10   %b = load <2 x i32> addrspace(1) * %b_ptr
11   %result = icmp eq <2 x i32> %a, %b
12   %sext = sext <2 x i1> %result to <2 x i32>
13   store <2 x i32> %sext, <2 x i32> addrspace(1)* %out
14   ret void
15 }
16
17 ;EG-CHECK: @test4
18 ;EG-CHECK: SETE_INT {{\*? *}}T{{[0-9]+\.[XYZW], T[0-9]+\.[XYZW], T[0-9]+\.[XYZW]}}
19 ;EG-CHECK: SETE_INT {{\*? *}}T{{[0-9]+\.[XYZW], T[0-9]+\.[XYZW], T[0-9]+\.[XYZW]}}
20 ;EG-CHECK: SETE_INT {{\*? *}}T{{[0-9]+\.[XYZW], T[0-9]+\.[XYZW], T[0-9]+\.[XYZW]}}
21 ;EG-CHECK: SETE_INT {{\*? *}}T{{[0-9]+\.[XYZW], T[0-9]+\.[XYZW], T[0-9]+\.[XYZW]}}
22
23 define void @test4(<4 x i32> addrspace(1)* %out, <4 x i32> addrspace(1)* %in) {
24   %b_ptr = getelementptr <4 x i32> addrspace(1)* %in, i32 1
25   %a = load <4 x i32> addrspace(1) * %in
26   %b = load <4 x i32> addrspace(1) * %b_ptr
27   %result = icmp eq <4 x i32> %a, %b
28   %sext = sext <4 x i1> %result to <4 x i32>
29   store <4 x i32> %sext, <4 x i32> addrspace(1)* %out
30   ret void
31 }