Home | History | Annotate | Download | only in R600
      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