OLD | NEW |
1 ; Assembly test for simple arithmetic operations. | 1 ; Assembly test for simple arithmetic operations. |
2 | 2 |
3 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \ | 3 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \ |
4 ; RUN: --target x8632 -i %s --args -O2 \ | 4 ; RUN: --target x8632 -i %s --args -O2 \ |
5 ; RUN: | %if --need=target_X8632 --command FileCheck %s | 5 ; RUN: | %if --need=target_X8632 --command FileCheck %s |
6 | 6 |
7 ; RUN: %if --need=target_ARM32 --need=allow_dump \ | 7 ; RUN: %if --need=target_ARM32 --need=allow_dump \ |
8 ; RUN: --command %p2i --filetype=obj --assemble --disassemble --target arm32 \ | 8 ; RUN: --command %p2i --filetype=obj --assemble --disassemble --target arm32 \ |
9 ; RUN: -i %s --args -O2 \ | 9 ; RUN: -i %s --args -O2 \ |
10 ; RUN: | %if --need=target_ARM32 --need=allow_dump \ | 10 ; RUN: | %if --need=target_ARM32 --need=allow_dump \ |
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
155 %div = sdiv i32 %a, %b | 155 %div = sdiv i32 %a, %b |
156 ret i32 %div | 156 ret i32 %div |
157 } | 157 } |
158 ; CHECK-LABEL: Sdiv | 158 ; CHECK-LABEL: Sdiv |
159 ; CHECK: cdq | 159 ; CHECK: cdq |
160 ; CHECK: idiv e | 160 ; CHECK: idiv e |
161 ; | 161 ; |
162 ; ARM32-LABEL: Sdiv | 162 ; ARM32-LABEL: Sdiv |
163 ; ARM32: tst [[DENOM:r.*]], [[DENOM]] | 163 ; ARM32: tst [[DENOM:r.*]], [[DENOM]] |
164 ; ARM32: bne | 164 ; ARM32: bne |
165 ; AARM32: .word 0xe7fedef0 | 165 ; The following instruction is ".word 0xe7fedef0 = udf #60896 ; 0xede0". |
166 ; ARM32: udf #60896 ; 0xede0 | 166 ; ARM32: e7fedef0 |
167 ; ARM32: movw [[CALL:r[0-9]]], {{.+}} __divsi3 | 167 ; ARM32: movw [[CALL:r[0-9]]], {{.+}} __divsi3 |
168 ; ARM32: movt [[CALL]], {{.+}} __divsi3 | 168 ; ARM32: movt [[CALL]], {{.+}} __divsi3 |
169 ; ARM32: blx [[CALL]] | 169 ; ARM32: blx [[CALL]] |
170 ; ARM32HWDIV-LABEL: Sdiv | 170 ; ARM32HWDIV-LABEL: Sdiv |
171 ; ARM32HWDIV: tst | 171 ; ARM32HWDIV: tst |
172 ; ARM32HWDIV: bne | 172 ; ARM32HWDIV: bne |
173 ; ARM32HWDIV: sdiv | 173 ; ARM32HWDIV: sdiv |
174 | 174 |
175 ; MIPS32-LABEL: Sdiv | 175 ; MIPS32-LABEL: Sdiv |
176 | 176 |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
284 ; CHECK: shr {{.*}},cl | 284 ; CHECK: shr {{.*}},cl |
285 | 285 |
286 define internal i32 @AshrReloc(i32 %a) { | 286 define internal i32 @AshrReloc(i32 %a) { |
287 entry: | 287 entry: |
288 %opnd = ptrtoint [4 x i8]* @G to i32 | 288 %opnd = ptrtoint [4 x i8]* @G to i32 |
289 %result = ashr i32 %a, %opnd | 289 %result = ashr i32 %a, %opnd |
290 ret i32 %result | 290 ret i32 %result |
291 } | 291 } |
292 ; CHECK-LABEL: AshrReloc | 292 ; CHECK-LABEL: AshrReloc |
293 ; CHECK: sar {{.*}},cl | 293 ; CHECK: sar {{.*}},cl |
OLD | NEW |