blob: b9fa8e938ae47f6f87395b084499a1852db4cf0f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
; RUN: llc < %s -march=r600 -mcpu=redwood | FileCheck %s
; This tests a bug where LegalizeDAG was not checking the target's
; BooleanContents value and always using one for true, when expanding
; setcc to select_cc.
;
; This bug caused the icmp IR instruction to be expanded to two machine
; instructions, when only one is needed.
;
; CHECK: {{^}}setcc_expand:
; CHECK: SET
; CHECK-NOT: CND
define void @setcc_expand(i32 addrspace(1)* %out, i32 %in) {
entry:
%0 = icmp eq i32 %in, 5
br i1 %0, label %IF, label %ENDIF
IF:
%1 = getelementptr i32 addrspace(1)* %out, i32 1
store i32 0, i32 addrspace(1)* %1
br label %ENDIF
ENDIF:
store i32 0, i32 addrspace(1)* %out
ret void
}
|