1 ; RUN: llc < %s -mtriple thumbv6m-eabi | FileCheck %s
3 define i32 @slt_poweroftwo(i32 %a) {
4 ; CHECK-LABEL: slt_poweroftwo:
6 %b = icmp slt i32 %a, 4096
7 br i1 %b, label %true, label %false
16 define i32 @sle_poweroftwo(i32 %a) {
17 ; CHECK-LABEL: sle_poweroftwo:
19 ; CHECK: lsls r1, r1, #12
20 %b = icmp sle i32 %a, 4096
21 br i1 %b, label %true, label %false
30 define i32 @sge_poweroftwo(i32 %a) {
31 ; CHECK-LABEL: sge_poweroftwo:
33 ; CHECK: lsls r1, r1, #12
34 %b = icmp sge i32 %a, 4096
35 br i1 %b, label %true, label %false
44 define i32 @sgt_poweroftwo(i32 %a) {
45 ; CHECK-LABEL: sgt_poweroftwo:
47 %b = icmp sgt i32 %a, 4096
48 br i1 %b, label %true, label %false
57 define i32 @slt_nearpoweroftwo(i32 %a) {
58 ; CHECK-LABEL: slt_nearpoweroftwo:
60 ; CHECK: lsls r1, r1, #12
61 %b = icmp slt i32 %a, 4097
62 br i1 %b, label %true, label %false
71 define i32 @sle_nearpoweroftwo(i32 %a) {
72 ; CHECK-LABEL: sle_nearpoweroftwo:
74 %b = icmp sle i32 %a, 4095
75 br i1 %b, label %true, label %false
85 define i32 @sge_nearpoweroftwo(i32 %a) {
86 ; CHECK-LABEL: sge_nearpoweroftwo:
88 %b = icmp sge i32 %a, 4097
89 br i1 %b, label %true, label %false
98 define i32 @sgt_nearpoweroftwo(i32 %a) {
99 ; CHECK-LABEL: sgt_nearpoweroftwo:
101 ; CHECK: lsls r1, r1, #12
102 %b = icmp sgt i32 %a, 4095
103 br i1 %b, label %true, label %false