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) 7define void @slt(i32 addrspace(1)* %out, i32 %in) { 8entry: 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) 17define void @ult_i32(i32 addrspace(1)* %out, i32 %in) { 18entry: 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) 27define void @ult_float(float addrspace(1)* %out, float %in) { 28entry: 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) 37define void @olt(float addrspace(1)* %out, float %in) { 38entry: 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) 47define void @sle(i32 addrspace(1)* %out, i32 %in) { 48entry: 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) 57define void @ule_i32(i32 addrspace(1)* %out, i32 %in) { 58entry: 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) 67define void @ule_float(float addrspace(1)* %out, float %in) { 68entry: 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) 77define void @ole(float addrspace(1)* %out, float %in) { 78entry: 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