Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(131)

Side by Side Diff: tests_lit/assembler/arm32/branch-mult-fwd.ll

Issue 1417393003: Subzero. ARM32. New bool folding. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Fixes lit tests. Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 ; Test that we correctly fix multiple forward branches. 1 ; Test that we correctly fix multiple forward branches.
2 2
3 ; Compile using standalone assembler. 3 ; Compile using standalone assembler.
4 ; RUN: %p2i --filetype=asm -i %s --target=arm32 --args -Om1 \ 4 ; RUN: %p2i --filetype=asm -i %s --target=arm32 --args -Om1 \
5 ; RUN: | FileCheck %s --check-prefix=ASM 5 ; RUN: | FileCheck %s --check-prefix=ASM
6 6
7 ; Show bytes in assembled standalone code. 7 ; Show bytes in assembled standalone code.
8 ; RUN: %p2i --filetype=asm -i %s --target=arm32 --assemble --disassemble \ 8 ; RUN: %p2i --filetype=asm -i %s --target=arm32 --assemble --disassemble \
9 ; RUN: --args -Om1 | FileCheck %s --check-prefix=DIS 9 ; RUN: --args -Om1 | FileCheck %s --check-prefix=DIS
10 10
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 ; IASM-NEXT: .byte 0x8d 45 ; IASM-NEXT: .byte 0x8d
46 ; IASM-NEXT: .byte 0xe5 46 ; IASM-NEXT: .byte 0xe5
47 47
48 ; IASM-NEXT: .byte 0x4 48 ; IASM-NEXT: .byte 0x4
49 ; IASM-NEXT: .byte 0x10 49 ; IASM-NEXT: .byte 0x10
50 ; IASM-NEXT: .byte 0x8d 50 ; IASM-NEXT: .byte 0x8d
51 ; IASM-NEXT: .byte 0xe5 51 ; IASM-NEXT: .byte 0xe5
52 52
53 %cmp = icmp slt i32 %a, %b 53 %cmp = icmp slt i32 %a, %b
54 54
55 ; ASM-NEXT: ldr r0, [sp, #8] 55 ; ASM-NEXT: mov r0, #0
56 ; ASM-NEXT: ldr r1, [sp, #4] 56 ; ASM-NEXT: ldr r1, [sp, #8]
57 ; ASM-NEXT: cmp r0, r1 57 ; ASM-NEXT: ldr r2, [sp, #4]
58 ; ASM-NEXT: movge r0, #0 58 ; ASM-NEXT: cmp r1, r2
59 ; ASM-NEXT: movlt r0, #1 59 ; ASM-NEXT: movlt r0, #1
60 ; ASM-NEXT: strb r0, [sp] 60 ; ASM-NEXT: strb r0, [sp]
61 61
62 ; DIS-NEXT: c: e59d0008 62 ; DIS-NEXT: c: e3a00000
63 ; DIS-NEXT: 10: e59d1004 63 ; DIS-NEXT: 10: e59d1008
64 ; DIS-NEXT: 14: e1500001 64 ; DIS-NEXT: 14: e59d2004
65 ; DIS-NEXT: 18: a3a00000 65 ; DIS-NEXT: 18: e1510002
66 ; DIS-NEXT: 1c: b3a00001 66 ; DIS-NEXT: 1c: b3a00001
67 ; DIS-NEXT: 20: e5cd0000 67 ; DIS-NEXT: 20: e5cd0000
68 68
69 ; IASM-NEXT: .byte 0x0
70 ; IASM-NEXT: .byte 0x0
71 ; IASM-NEXT: .byte 0xa0
72 ; IASM-NEXT: .byte 0xe3
73
69 ; IASM-NEXT: .byte 0x8 74 ; IASM-NEXT: .byte 0x8
70 ; IASM-NEXT: .byte 0x0 75 ; IASM-NEXT: .byte 0x10
71 ; IASM-NEXT: .byte 0x9d 76 ; IASM-NEXT: .byte 0x9d
72 ; IASM-NEXT: .byte 0xe5 77 ; IASM-NEXT: .byte 0xe5
73 78
74 ; IASM-NEXT: .byte 0x4 79 ; IASM-NEXT: .byte 0x4
75 ; IASM-NEXT: .byte 0x10 80 ; IASM-NEXT: .byte 0x20
76 ; IASM-NEXT: .byte 0x9d 81 ; IASM-NEXT: .byte 0x9d
77 ; IASM-NEXT: .byte 0xe5 82 ; IASM-NEXT: .byte 0xe5
78 83
79 ; IASM-NEXT: .byte 0x1 84 ; IASM-NEXT: .byte 0x2
80 ; IASM-NEXT: .byte 0x0 85 ; IASM-NEXT: .byte 0x0
81 ; IASM-NEXT: .byte 0x50 86 ; IASM-NEXT: .byte 0x51
82 ; IASM-NEXT: .byte 0xe1 87 ; IASM-NEXT: .byte 0xe1
83 88
84 ; IASM-NEXT: .byte 0x0
85 ; IASM-NEXT: .byte 0x0
86 ; IASM-NEXT: .byte 0xa0
87 ; IASM-NEXT: .byte 0xa3
88
89 ; IASM-NEXT: .byte 0x1 89 ; IASM-NEXT: .byte 0x1
90 ; IASM-NEXT: .byte 0x0 90 ; IASM-NEXT: .byte 0x0
91 ; IASM-NEXT: .byte 0xa0 91 ; IASM-NEXT: .byte 0xa0
92 ; IASM-NEXT: .byte 0xb3 92 ; IASM-NEXT: .byte 0xb3
93 93
94 ; IASM-NEXT: strb r0, [sp] 94 ; IASM-NEXT: strb r0, [sp]
95 95
96 br i1 %cmp, label %then, label %else 96 br i1 %cmp, label %then, label %else
97 97
98 ; ASM-NEXT: ldrb r0, [sp] 98 ; ASM-NEXT: ldrb r0, [sp]
99 ; ASM-NEXT: uxtb r0, r0 99 ; ASM-NEXT: tst r0, #1
100 ; ASM-NEXT: cmp r0, #0
101 ; ASM-NEXT: bne .Lmult_fwd_branches$then 100 ; ASM-NEXT: bne .Lmult_fwd_branches$then
102 ; ASM-NEXT: b .Lmult_fwd_branches$else 101 ; ASM-NEXT: b .Lmult_fwd_branches$else
103 102
104 ; DIS-NEXT: 24: e5dd0000 103 ; DIS-NEXT: 24: e5dd0000
105 ; DIS-NEXT: 28: e6ef0070 104 ; DIS-NEXT: 28: e3100001
106 ; DIS-NEXT: 2c: e3500000 105 ; DIS-NEXT: 2c: 1a000000
107 ; DIS-NEXT: 30: 1a000000 106 ; DIS-NEXT: 30: ea000000
108 ; DIS-NEXT: 34: ea000000
109 107
110 ; IASM-NEXT: ldrb r0, [sp] 108 ; IASM-NEXT: ldrb r0, [sp]
111 ; IASM-NEXT: uxtb r0, r0
112 109
110 ; IASM-NEXT: .byte 0x1
113 ; IASM-NEXT: .byte 0x0 111 ; IASM-NEXT: .byte 0x0
114 ; IASM-NEXT: .byte 0x0 112 ; IASM-NEXT: .byte 0x10
115 ; IASM-NEXT: .byte 0x50
116 ; IASM-NEXT: .byte 0xe3 113 ; IASM-NEXT: .byte 0xe3
117 114
118 ; IASM-NEXT: .byte 0x0 115 ; IASM-NEXT: .byte 0x0
119 ; IASM-NEXT: .byte 0x0 116 ; IASM-NEXT: .byte 0x0
120 ; IASM-NEXT: .byte 0x0 117 ; IASM-NEXT: .byte 0x0
121 ; IASM-NEXT: .byte 0x1a 118 ; IASM-NEXT: .byte 0x1a
122 119
123 ; IASM-NEXT: .byte 0x0 120 ; IASM-NEXT: .byte 0x0
124 ; IASM-NEXT: .byte 0x0 121 ; IASM-NEXT: .byte 0x0
125 ; IASM-NEXT: .byte 0x0 122 ; IASM-NEXT: .byte 0x0
126 ; IASM-NEXT: .byte 0xea 123 ; IASM-NEXT: .byte 0xea
127 124
128 then: 125 then:
129 ; ASM-LABEL:.Lmult_fwd_branches$then: 126 ; ASM-LABEL:.Lmult_fwd_branches$then:
130 ; IASM-LABEL:.Lmult_fwd_branches$then: 127 ; IASM-LABEL:.Lmult_fwd_branches$then:
131 128
132 br label %end 129 br label %end
133 ; ASM-NEXT: b .Lmult_fwd_branches$end 130 ; ASM-NEXT: b .Lmult_fwd_branches$end
134 131
135 ; DIS-NEXT: 38: ea000000 132 ; DIS-NEXT: 34: ea000000
136 133
137 ; IASM-NEXT: .byte 0x0 134 ; IASM-NEXT: .byte 0x0
138 ; IASM-NEXT: .byte 0x0 135 ; IASM-NEXT: .byte 0x0
139 ; IASM-NEXT: .byte 0x0 136 ; IASM-NEXT: .byte 0x0
140 ; IASM-NEXT: .byte 0xea 137 ; IASM-NEXT: .byte 0xea
141 138
142 else: 139 else:
143 ; ASM-LABEL:.Lmult_fwd_branches$else: 140 ; ASM-LABEL:.Lmult_fwd_branches$else:
144 ; IASM-LABEL:.Lmult_fwd_branches$else: 141 ; IASM-LABEL:.Lmult_fwd_branches$else:
145 142
146 br label %end 143 br label %end
147 ; ASM-NEXT: b .Lmult_fwd_branches$end 144 ; ASM-NEXT: b .Lmult_fwd_branches$end
148 145
149 ; DIS-NEXT: 3c: eaffffff 146 ; DIS-NEXT: 38: eaffffff
150 147
151 ; IASM-NEXT: .byte 0xff 148 ; IASM-NEXT: .byte 0xff
152 ; IASM-NEXT: .byte 0xff 149 ; IASM-NEXT: .byte 0xff
153 ; IASM-NEXT: .byte 0xff 150 ; IASM-NEXT: .byte 0xff
154 ; IASM-NEXT: .byte 0xea 151 ; IASM-NEXT: .byte 0xea
155 152
156 153
157 end: 154 end:
158 ; ASM-LABEL:.Lmult_fwd_branches$end: 155 ; ASM-LABEL:.Lmult_fwd_branches$end:
159 ; IASM-LABEL: .Lmult_fwd_branches$end: 156 ; IASM-LABEL: .Lmult_fwd_branches$end:
160 157
161 ret void 158 ret void
162 159
163 ; ASM-NEXT: add sp, sp, #12 160 ; ASM-NEXT: add sp, sp, #12
164 ; ASM-NEXT: bx lr 161 ; ASM-NEXT: bx lr
165 162
166 ; DIS-NEXT: 40: e28dd00c 163 ; DIS-NEXT: 3c: e28dd00c
167 ; DIS-NEXT: 44: e12fff1e 164 ; DIS-NEXT: 40: e12fff1e
168 165
169 ; IASM-NEXT: .byte 0xc 166 ; IASM-NEXT: .byte 0xc
170 ; IASM-NEXT: .byte 0xd0 167 ; IASM-NEXT: .byte 0xd0
171 ; IASM-NEXT: .byte 0x8d 168 ; IASM-NEXT: .byte 0x8d
172 ; IASM-NEXT: .byte 0xe2 169 ; IASM-NEXT: .byte 0xe2
173 170
174 ; IASM-NEXT: .byte 0x1e 171 ; IASM-NEXT: .byte 0x1e
175 ; IASM-NEXT: .byte 0xff 172 ; IASM-NEXT: .byte 0xff
176 ; IASM-NEXT: .byte 0x2f 173 ; IASM-NEXT: .byte 0x2f
177 ; IASM-NEXT: .byte 0xe1 174 ; IASM-NEXT: .byte 0xe1
178 175
179 } 176 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698