1 ; RUN: llc < %s -march=r600 -mcpu=redwood | FileCheck %s 2 3 ; These tests are for condition codes that are not supported by the hardware 4 5 ; CHECK: @slt 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) { 8 entry: 9 %0 = icmp slt i32 %in, 5 10 %1 = select i1 %0, i32 -1, i32 0 11 store i32 %1, i32 addrspace(1)* %out 12 ret void 13 } 14 15 ; CHECK: @ult_i32 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) { 18 entry: 19 %0 = icmp ult i32 %in, 5 20 %1 = select i1 %0, i32 -1, i32 0 21 store i32 %1, i32 addrspace(1)* %out 22 ret void 23 } 24 25 ; CHECK: @ult_float 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) { 28 entry: 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 32 ret void 33 } 34 35 ; CHECK: @olt 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) { 38 entry: 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 42 ret void 43 } 44 45 ; CHECK: @sle 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) { 48 entry: 49 %0 = icmp sle i32 %in, 5 50 %1 = select i1 %0, i32 -1, i32 0 51 store i32 %1, i32 addrspace(1)* %out 52 ret void 53 } 54 55 ; CHECK: @ule_i32 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) { 58 entry: 59 %0 = icmp ule i32 %in, 5 60 %1 = select i1 %0, i32 -1, i32 0 61 store i32 %1, i32 addrspace(1)* %out 62 ret void 63 } 64 65 ; CHECK: @ule_float 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) { 68 entry: 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 72 ret void 73 } 74 75 ; CHECK: @ole 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) { 78 entry: 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 82 ret void 83 } 84