|  | ; RUN: llc < %s -march=arm -mattr=+v4t | FileCheck %s | 
|  |  | 
|  | define i32 @t1(i32 %a, i32 %b, i32 %c, i32 %d) { | 
|  | ; CHECK-LABEL: t1: | 
|  | ; CHECK: bxlt lr | 
|  | %tmp2 = icmp sgt i32 %c, 10 | 
|  | %tmp5 = icmp slt i32 %d, 4 | 
|  | %tmp8 = or i1 %tmp5, %tmp2 | 
|  | %tmp13 = add i32 %b, %a | 
|  | br i1 %tmp8, label %cond_true, label %UnifiedReturnBlock | 
|  |  | 
|  | cond_true: | 
|  | %tmp15 = add i32 %tmp13, %c | 
|  | %tmp1821 = sub i32 %tmp15, %d | 
|  | ret i32 %tmp1821 | 
|  |  | 
|  | UnifiedReturnBlock: | 
|  | ret i32 %tmp13 | 
|  | } | 
|  |  | 
|  | define i32 @t2(i32 %a, i32 %b, i32 %c, i32 %d) { | 
|  | ; CHECK-LABEL: t2: | 
|  | ; CHECK: bxgt lr | 
|  | ; CHECK: cmp | 
|  | ; CHECK: addge | 
|  | ; CHECK: subge | 
|  | ; CHECK-NOT: bxge lr | 
|  | ; CHECK: bx lr | 
|  | %tmp2 = icmp sgt i32 %c, 10 | 
|  | %tmp5 = icmp slt i32 %d, 4 | 
|  | %tmp8 = and i1 %tmp5, %tmp2 | 
|  | %tmp13 = add i32 %b, %a | 
|  | br i1 %tmp8, label %cond_true, label %UnifiedReturnBlock | 
|  |  | 
|  | cond_true: | 
|  | %tmp15 = add i32 %tmp13, %c | 
|  | %tmp1821 = sub i32 %tmp15, %d | 
|  | ret i32 %tmp1821 | 
|  |  | 
|  | UnifiedReturnBlock: | 
|  | ret i32 %tmp13 | 
|  | } |