• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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