1 ; RUN: llc < %s -march=r600 -mcpu=redwood | FileCheck %s
3 ; These tests are for condition codes that are not supported by the hardware
6 ; CHECK: SETGT_INT T{{[0-9]+\.[XYZW]}}, literal.x, {{T[0-9]+\.[XYZW]}}, 5(7.006492e-45)
7 define void @slt(i32 addrspace(1)* %out, i32 %in) {
9 %0 = icmp slt i32 %in, 5
10 %1 = select i1 %0, i32 -1, i32 0
11 store i32 %1, i32 addrspace(1)* %out
16 ; CHECK: SETGT_UINT T{{[0-9]+\.[XYZW]}}, literal.x, {{T[0-9]+\.[XYZW]}}, 5(7.006492e-45)
17 define void @ult_i32(i32 addrspace(1)* %out, i32 %in) {
19 %0 = icmp ult i32 %in, 5
20 %1 = select i1 %0, i32 -1, i32 0
21 store i32 %1, i32 addrspace(1)* %out
26 ; CHECK: SETGT T{{[0-9]+\.[XYZW]}}, literal.x, {{T[0-9]+\.[XYZW]}}, 1084227584(5.000000e+00)
27 define void @ult_float(float addrspace(1)* %out, float %in) {
29 %0 = fcmp ult float %in, 5.0
30 %1 = select i1 %0, float 1.0, float 0.0
31 store float %1, float addrspace(1)* %out
36 ; CHECK: SETGT T{{[0-9]+\.[XYZW]}}, literal.x, {{T[0-9]+\.[XYZW]}}, 1084227584(5.000000e+00)
37 define void @olt(float addrspace(1)* %out, float %in) {
39 %0 = fcmp olt float %in, 5.0
40 %1 = select i1 %0, float 1.0, float 0.0
41 store float %1, float addrspace(1)* %out
46 ; CHECK: SETGT_INT T{{[0-9]+\.[XYZW]}}, literal.x, {{T[0-9]+\.[XYZW]}}, 6(8.407791e-45)
47 define void @sle(i32 addrspace(1)* %out, i32 %in) {
49 %0 = icmp sle i32 %in, 5
50 %1 = select i1 %0, i32 -1, i32 0
51 store i32 %1, i32 addrspace(1)* %out
56 ; CHECK: SETGT_UINT T{{[0-9]+\.[XYZW]}}, literal.x, {{T[0-9]+\.[XYZW]}}, 6(8.407791e-45)
57 define void @ule_i32(i32 addrspace(1)* %out, i32 %in) {
59 %0 = icmp ule i32 %in, 5
60 %1 = select i1 %0, i32 -1, i32 0
61 store i32 %1, i32 addrspace(1)* %out
66 ; CHECK: SETGE T{{[0-9]+\.[XYZW]}}, literal.x, {{T[0-9]+\.[XYZW]}}, 1084227584(5.000000e+00)
67 define void @ule_float(float addrspace(1)* %out, float %in) {
69 %0 = fcmp ule float %in, 5.0
70 %1 = select i1 %0, float 1.0, float 0.0
71 store float %1, float addrspace(1)* %out
76 ; CHECK: SETGE T{{[0-9]+\.[XYZW]}}, literal.x, {{T[0-9]+\.[XYZW]}}, 1084227584(5.000000e+00)
77 define void @ole(float addrspace(1)* %out, float %in) {
79 %0 = fcmp ole float %in, 5.0
80 %1 = select i1 %0, float 1.0, float 0.0
81 store float %1, float addrspace(1)* %out