xref: /llvm-project/llvm/test/CodeGen/Thumb/ispositive.ll (revision dc206be77b329b0a83414f8c9440cb8983071622)
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2; RUN: llc -mtriple=thumb-eabi %s -o - | FileCheck %s
3
4define i32 @test1(i32 %X) {
5; CHECK-LABEL: test1:
6; CHECK:       @ %bb.0: @ %entry
7; CHECK-NEXT:    lsrs r0, r0, #31
8; CHECK-NEXT:    bx lr
9entry:
10  icmp slt i32 %X, 0              ; <i1>:0 [#uses=1]
11  zext i1 %0 to i32               ; <i32>:1 [#uses=1]
12  ret i32 %1
13}
14
15define i32 @test2(i32 %X) {
16; CHECK-LABEL: test2:
17; CHECK:       @ %bb.0: @ %entry
18; CHECK-NEXT:    movs r1, #1
19; CHECK-NEXT:    lsls r1, r1, #31
20; CHECK-NEXT:    adds r0, r0, r1
21; CHECK-NEXT:    bx lr
22entry:
23  %tmp1 = sub i32 %X, 2147483648
24  ret i32 %tmp1
25}
26
27