43 lines · plain
1; RUN: llc -mtriple=arm-eabi -mattr=+v4t %s -o - | FileCheck %s2 3define i32 @t1(i32 %a, i32 %b, i32 %c, i32 %d) {4; CHECK-LABEL: t1:5; CHECK: bxlt lr6 %tmp2 = icmp sgt i32 %c, 107 %tmp5 = icmp slt i32 %d, 48 %tmp8 = or i1 %tmp5, %tmp29 %tmp13 = add i32 %b, %a10 br i1 %tmp8, label %cond_true, label %UnifiedReturnBlock11 12cond_true:13 %tmp15 = add i32 %tmp13, %c14 %tmp1821 = sub i32 %tmp15, %d15 ret i32 %tmp182116 17UnifiedReturnBlock:18 ret i32 %tmp1319}20 21define i32 @t2(i32 %a, i32 %b, i32 %c, i32 %d) {22; CHECK-LABEL: t2:23; CHECK: bxgt lr24; CHECK: cmp25; CHECK: addge26; CHECK: subge27; CHECK-NOT: bxge lr28; CHECK: bx lr29 %tmp2 = icmp sgt i32 %c, 1030 %tmp5 = icmp slt i32 %d, 431 %tmp8 = and i1 %tmp5, %tmp232 %tmp13 = add i32 %b, %a33 br i1 %tmp8, label %cond_true, label %UnifiedReturnBlock34 35cond_true:36 %tmp15 = add i32 %tmp13, %c37 %tmp1821 = sub i32 %tmp15, %d38 ret i32 %tmp182139 40UnifiedReturnBlock:41 ret i32 %tmp1342}43