forked from OSchip/llvm-project
20 lines
499 B
LLVM
20 lines
499 B
LLVM
; RUN: llc < %s -mtriple=thumbv7 | FileCheck --check-prefix=CHECK-NOBFI %s
|
|
|
|
declare zeroext i1 @dummy()
|
|
|
|
define i8 @test(i8 %a1, i1 %c) {
|
|
; CHECK-NOBFI-NOT: bfi
|
|
; CHECK-NOBFI: bl dummy
|
|
; CHECK-NOBFI: cmp r0, #0
|
|
; CHECK-NOBFI: it ne
|
|
; CHECK-NOBFI: orrne [[REG:r[0-9]+]], [[REG]], #8
|
|
; CHECK-NOBFI: mov r0, [[REG]]
|
|
|
|
%1 = and i8 %a1, -9
|
|
%2 = select i1 %c, i8 %1, i8 %a1
|
|
%3 = tail call zeroext i1 @dummy()
|
|
%4 = or i8 %2, 8
|
|
%ret = select i1 %3, i8 %4, i8 %2
|
|
ret i8 %ret
|
|
}
|