@@ -7,12 +7,12 @@ define i32 @t1(i1 %c) nounwind readnone {
7
7
entry:
8
8
; ARM: t1
9
9
; ARM: movw r{{[1-9]}}, #10
10
- ; ARM: cmp r0, #0
10
+ ; ARM: tst r0, #1
11
11
; ARM: moveq r{{[1-9]}}, #20
12
12
; ARM: mov r0, r{{[1-9]}}
13
13
; THUMB: t1
14
14
; THUMB: movs r{{[1-9]}}, #10
15
- ; THUMB: cmp r0, #0
15
+ ; THUMB: tst.w r0, #1
16
16
; THUMB: it eq
17
17
; THUMB: moveq r{{[1-9]}}, #20
18
18
; THUMB: mov r0, r{{[1-9]}}
@@ -23,11 +23,11 @@ entry:
23
23
define i32 @t2 (i1 %c , i32 %a ) nounwind readnone {
24
24
entry:
25
25
; ARM: t2
26
- ; ARM: cmp r0, #0
26
+ ; ARM: tst r0, #1
27
27
; ARM: moveq r{{[1-9]}}, #20
28
28
; ARM: mov r0, r{{[1-9]}}
29
29
; THUMB: t2
30
- ; THUMB: cmp r0, #0
30
+ ; THUMB: tst.w r0, #1
31
31
; THUMB: it eq
32
32
; THUMB: moveq r{{[1-9]}}, #20
33
33
; THUMB: mov r0, r{{[1-9]}}
@@ -38,11 +38,11 @@ entry:
38
38
define i32 @t3 (i1 %c , i32 %a , i32 %b ) nounwind readnone {
39
39
entry:
40
40
; ARM: t3
41
- ; ARM: cmp r0, #0
41
+ ; ARM: tst r0, #1
42
42
; ARM: movne r2, r1
43
43
; ARM: add r0, r2, r1
44
44
; THUMB: t3
45
- ; THUMB: cmp r0, #0
45
+ ; THUMB: tst.w r0, #1
46
46
; THUMB: it ne
47
47
; THUMB: movne r2, r1
48
48
; THUMB: add.w r0, r2, r1
@@ -55,12 +55,12 @@ define i32 @t4(i1 %c) nounwind readnone {
55
55
entry:
56
56
; ARM: t4
57
57
; ARM: mvn r{{[1-9]}}, #9
58
- ; ARM: cmp r0, #0
58
+ ; ARM: tst r0, #1
59
59
; ARM: mvneq r{{[1-9]}}, #0
60
60
; ARM: mov r0, r{{[1-9]}}
61
61
; THUMB-LABEL: t4
62
62
; THUMB: mvn [[REG:r[1-9]+]], #9
63
- ; THUMB: cmp r0, #0
63
+ ; THUMB: tst.w r0, #1
64
64
; THUMB: it eq
65
65
; THUMB: mvneq [[REG]], #0
66
66
; THUMB: mov r0, [[REG]]
@@ -71,11 +71,11 @@ entry:
71
71
define i32 @t5 (i1 %c , i32 %a ) nounwind readnone {
72
72
entry:
73
73
; ARM: t5
74
- ; ARM: cmp r0, #0
74
+ ; ARM: tst r0, #1
75
75
; ARM: mvneq r{{[1-9]}}, #1
76
76
; ARM: mov r0, r{{[1-9]}}
77
77
; THUMB: t5
78
- ; THUMB: cmp r0, #0
78
+ ; THUMB: tst.w r0, #1
79
79
; THUMB: it eq
80
80
; THUMB: mvneq r{{[1-9]}}, #1
81
81
; THUMB: mov r0, r{{[1-9]}}
@@ -87,11 +87,11 @@ entry:
87
87
define i32 @t6 (i1 %c , i32 %a ) nounwind readnone {
88
88
entry:
89
89
; ARM: t6
90
- ; ARM: cmp r0, #0
90
+ ; ARM: tst r0, #1
91
91
; ARM: mvneq r{{[1-9]}}, #978944
92
92
; ARM: mov r0, r{{[1-9]}}
93
93
; THUMB: t6
94
- ; THUMB: cmp r0, #0
94
+ ; THUMB: tst.w r0, #1
95
95
; THUMB: it eq
96
96
; THUMB: mvneq r{{[1-9]}}, #978944
97
97
; THUMB: mov r0, r{{[1-9]}}
0 commit comments