25 lines
548 B
LLVM
25 lines
548 B
LLVM
; RUN: llc < %s -march=arm -mcpu=cortex-a8 | FileCheck %s
|
|
; RUN: llc < %s -march=arm -mattr=+v4t | grep cmpne | count 1
|
|
; RUN: llc < %s -march=arm -mattr=+v4t | grep bx | count 2
|
|
|
|
define i32 @t1(i32 %a, i32 %b, i32 %c, i32 %d) {
|
|
; CHECK: t1:
|
|
; CHECK: cmp r2, #1
|
|
; CHECK: cmpne r2, #7
|
|
switch i32 %c, label %cond_next [
|
|
i32 1, label %cond_true
|
|
i32 7, label %cond_true
|
|
]
|
|
|
|
cond_true:
|
|
; CHECK: addne r0
|
|
; CHECK: bxne
|
|
%tmp12 = add i32 %a, 1
|
|
%tmp1518 = add i32 %tmp12, %b
|
|
ret i32 %tmp1518
|
|
|
|
cond_next:
|
|
%tmp15 = add i32 %b, %a
|
|
ret i32 %tmp15
|
|
}
|