Skip to content

Commit c805edf

Browse files
committed
b
1 parent 49527d7 commit c805edf

File tree

1 file changed

+22
-11
lines changed

1 file changed

+22
-11
lines changed

llvm/test/CodeGen/Thumb/bic_imm.ll

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,19 @@ entry:
3939
define void @truncated(i16 %a, ptr %p) {
4040
; CHECK-T1-LABEL: truncated:
4141
; CHECK-T1: @ %bb.0:
42-
; CHECK-T1-NEXT: movs r2, #128
43-
; CHECK-T1-NEXT: bics r0, r2
44-
; CHECK-T1-NEXT: strh r0, [r1]
42+
; CHECK-T1-NEXT: ldr r2, .LCPI2_0
43+
; CHECK-T1-NEXT: ands r2, r0
44+
; CHECK-T1-NEXT: strh r2, [r1]
4545
; CHECK-T1-NEXT: bx lr
46+
; CHECK-T1-NEXT: .p2align 2
47+
; CHECK-T1-NEXT: @ %bb.1:
48+
; CHECK-T1-NEXT: .LCPI2_0:
49+
; CHECK-T1-NEXT: .long 65407 @ 0xff7f
4650
;
4751
; CHECK-T2-LABEL: truncated:
4852
; CHECK-T2: @ %bb.0:
49-
; CHECK-T2-NEXT: bic r0, r0, #128
53+
; CHECK-T2-NEXT: movw r2, #65407
54+
; CHECK-T2-NEXT: ands r0, r2
5055
; CHECK-T2-NEXT: strh r0, [r1]
5156
; CHECK-T2-NEXT: bx lr
5257
%and = and i16 %a, -129
@@ -57,14 +62,19 @@ define void @truncated(i16 %a, ptr %p) {
5762
define void @truncated_neg2(i16 %a, ptr %p) {
5863
; CHECK-T1-LABEL: truncated_neg2:
5964
; CHECK-T1: @ %bb.0:
60-
; CHECK-T1-NEXT: movs r2, #1
61-
; CHECK-T1-NEXT: bics r0, r2
62-
; CHECK-T1-NEXT: strh r0, [r1]
65+
; CHECK-T1-NEXT: ldr r2, .LCPI3_0
66+
; CHECK-T1-NEXT: ands r2, r0
67+
; CHECK-T1-NEXT: strh r2, [r1]
6368
; CHECK-T1-NEXT: bx lr
69+
; CHECK-T1-NEXT: .p2align 2
70+
; CHECK-T1-NEXT: @ %bb.1:
71+
; CHECK-T1-NEXT: .LCPI3_0:
72+
; CHECK-T1-NEXT: .long 65534 @ 0xfffe
6473
;
6574
; CHECK-T2-LABEL: truncated_neg2:
6675
; CHECK-T2: @ %bb.0:
67-
; CHECK-T2-NEXT: bic r0, r0, #1
76+
; CHECK-T2-NEXT: movw r2, #65534
77+
; CHECK-T2-NEXT: ands r0, r2
6878
; CHECK-T2-NEXT: strh r0, [r1]
6979
; CHECK-T2-NEXT: bx lr
7080
%and = and i16 %a, -2
@@ -76,13 +86,14 @@ define void @truncated_neg256(i16 %a, ptr %p) {
7686
; CHECK-T1-LABEL: truncated_neg256:
7787
; CHECK-T1: @ %bb.0:
7888
; CHECK-T1-NEXT: movs r2, #255
79-
; CHECK-T1-NEXT: bics r0, r2
80-
; CHECK-T1-NEXT: strh r0, [r1]
89+
; CHECK-T1-NEXT: lsls r2, r2, #8
90+
; CHECK-T1-NEXT: ands r2, r0
91+
; CHECK-T1-NEXT: strh r2, [r1]
8192
; CHECK-T1-NEXT: bx lr
8293
;
8394
; CHECK-T2-LABEL: truncated_neg256:
8495
; CHECK-T2: @ %bb.0:
85-
; CHECK-T2-NEXT: bic r0, r0, #255
96+
; CHECK-T2-NEXT: and r0, r0, #65280
8697
; CHECK-T2-NEXT: strh r0, [r1]
8798
; CHECK-T2-NEXT: bx lr
8899
%and = and i16 %a, -256

0 commit comments

Comments
 (0)