aboutsummaryrefslogtreecommitdiffstats
path: root/test/CodeGen/R600/icmp-select-sete-reverse-args.ll
blob: 60e59a5a52863b8eec4fd1c5ef13bbb748d53d19 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
;RUN: llc < %s -march=r600 -mcpu=redwood | FileCheck %s

;Test that a select with reversed True/False values is correctly lowered
;to a SETNE_INT.  There should only be one SETNE_INT instruction.

;CHECK: SETNE_INT T{{[0-9]+\.[XYZW], T[0-9]+\.[XYZW], T[0-9]+\.[XYZW]}}
;CHECK-NOT: SETNE_INT

define void @test(i32 addrspace(1)* %out, i32 addrspace(1)* %in) {
entry:
  %0 = load i32, i32 addrspace(1)* %in
  %arrayidx1 = getelementptr inbounds i32, i32 addrspace(1)* %in, i32 1
  %1 = load i32, i32 addrspace(1)* %arrayidx1
  %cmp = icmp eq i32 %0, %1
  %value = select i1 %cmp, i32 0, i32 -1
  store i32 %value, i32 addrspace(1)* %out
  ret void
}