linux-packaging-mono/external/llvm/test/CodeGen/AMDGPU/legalizedag-bug-expand-setcc.ll
Xamarin Public Jenkins (auto-signing) 8625704ad8 Imported Upstream version 5.18.0.179
Former-commit-id: 67aa10e65b237e1c4537630979ee99ebe1374215
2018-10-25 08:34:57 +00:00

27 lines
710 B
LLVM

; 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 amdgpu_kernel 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, 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
}