%b = icmp sgt i32 %a, -1
%abs = select i1 %b, i32 %a, i32 %tmp1neg
ret i32 %abs
-; CHECK: cmp
+; CHECK: movs r0, r0
; CHECK: rsbmi r0, r0, #0
; CHECK: bx lr
}
-
-; rdar://11633193
-; 3 instructions will be generated for the following case:
-; subs
-; rsbmi
-; bx
-define i32 @test2(i32 %a, i32 %b) nounwind readnone ssp {
-entry:
-; CHECK: test2
-; CHECK-NEXT: subs
-; CHECK-NEXT: rsbmi
-; CHECK-NEXT: bx
- %sub = sub nsw i32 %a, %b
- %cmp = icmp sgt i32 %sub, -1
- %sub1 = sub nsw i32 0, %sub
- %cond = select i1 %cmp, i32 %sub, i32 %sub1
- ret i32 %cond
-}