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