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 \ | 7 ; RUN: %if --need=target_ARM32 \ |
8 ; RUN: --command %p2i --filetype=obj --disassemble --target arm32 \ | 8 ; RUN: --command %p2i --filetype=obj --disassemble --target arm32 \ |
9 ; RUN: -i %s --args -O2 \ | 9 ; RUN: -i %s --args -O2 \ |
10 ; RUN: | %if --need=target_ARM32 \ | 10 ; RUN: | %if --need=target_ARM32 \ |
11 ; RUN: --command FileCheck --check-prefix ARM32 --check-prefix ARM-OPT2 %s | 11 ; RUN: --command FileCheck --check-prefix ARM32 --check-prefix ARM-OPT2 %s |
12 ; RUN: %if --need=target_ARM32 \ | 12 ; RUN: %if --need=target_ARM32 \ |
13 ; RUN: --command %p2i --filetype=obj --disassemble --target arm32 \ | 13 ; RUN: --command %p2i --filetype=obj --disassemble --target arm32 \ |
14 ; RUN: -i %s --args -O2 --mattr=hwdiv-arm \ | 14 ; RUN: -i %s --args -O2 --mattr=hwdiv-arm \ |
15 ; RUN: | %if --need=target_ARM32 \ | 15 ; RUN: | %if --need=target_ARM32 \ |
16 ; RUN: --command FileCheck --check-prefix ARM32HWDIV %s | 16 ; RUN: --command FileCheck --check-prefix ARM32HWDIV %s |
17 ; RUN: %if --need=target_ARM32 \ | 17 ; RUN: %if --need=target_ARM32 \ |
18 ; RUN: --command %p2i --filetype=obj --disassemble --target arm32 \ | 18 ; RUN: --command %p2i --filetype=obj --disassemble --target arm32 \ |
19 ; RUN: -i %s --args -Om1 \ | 19 ; RUN: -i %s --args -Om1 \ |
20 ; RUN: | %if --need=target_ARM32 \ | 20 ; RUN: | %if --need=target_ARM32 \ |
21 ; RUN: --command FileCheck --check-prefix ARM32 --check-prefix ARM32-OPTM1 %s | 21 ; RUN: --command FileCheck --check-prefix ARM32 --check-prefix ARM32-OPTM1 %s |
22 ; | 22 ; |
23 ; RUN: %if --need=target_MIPS32 --need=allow_dump \ | 23 ; RUN: %if --need=target_MIPS32 --need=allow_dump \ |
24 ; RUN: --command %p2i --filetype=asm --assemble --disassemble --target mips32\ | 24 ; RUN: --command %p2i --filetype=asm --assemble --disassemble --target mips32\ |
25 ; RUN: -i %s --args -O2 --skip-unimplemented \ | 25 ; RUN: -i %s --args -O2 \ |
26 ; RUN: | %if --need=target_MIPS32 --need=allow_dump \ | 26 ; RUN: | %if --need=target_MIPS32 --need=allow_dump \ |
27 ; RUN: --command FileCheck --check-prefix MIPS32 %s | 27 ; RUN: --command FileCheck --check-prefix MIPS32 %s |
28 | 28 |
29 ; RUN: %if --need=target_MIPS32 --need=allow_dump \ | 29 ; RUN: %if --need=target_MIPS32 --need=allow_dump \ |
30 ; RUN: --command %p2i --filetype=asm --assemble --disassemble --target mips32\ | 30 ; RUN: --command %p2i --filetype=asm --assemble --disassemble --target mips32\ |
31 ; RUN: -i %s --args -Om1 --skip-unimplemented \ | 31 ; RUN: -i %s --args -Om1 \ |
32 ; RUN: | %if --need=target_MIPS32 --need=allow_dump \ | 32 ; RUN: | %if --need=target_MIPS32 --need=allow_dump \ |
33 ; RUN: --command FileCheck --check-prefix MIPS32 %s | 33 ; RUN: --command FileCheck --check-prefix MIPS32 %s |
34 | 34 |
35 define internal i32 @Add(i32 %a, i32 %b) { | 35 define internal i32 @Add(i32 %a, i32 %b) { |
36 entry: | 36 entry: |
37 %add = add i32 %b, %a | 37 %add = add i32 %b, %a |
38 ret i32 %add | 38 ret i32 %add |
39 } | 39 } |
40 ; CHECK-LABEL: Add | 40 ; CHECK-LABEL: Add |
41 ; CHECK: add e | 41 ; CHECK: add e |
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
301 %result = ashr i32 %a, %opnd | 301 %result = ashr i32 %a, %opnd |
302 ret i32 %result | 302 ret i32 %result |
303 } | 303 } |
304 ; CHECK-LABEL: AshrReloc | 304 ; CHECK-LABEL: AshrReloc |
305 ; CHECK: sar {{.*}},cl | 305 ; CHECK: sar {{.*}},cl |
306 | 306 |
307 ; MIPS32-LABEL: AshrReloc | 307 ; MIPS32-LABEL: AshrReloc |
308 ; MIPS32: lui [[REG:.*]],{{.*}} R_MIPS_HI16 G | 308 ; MIPS32: lui [[REG:.*]],{{.*}} R_MIPS_HI16 G |
309 ; MIPS32: addiu [[REG]],[[REG]],{{.*}} R_MIPS_LO16 G | 309 ; MIPS32: addiu [[REG]],[[REG]],{{.*}} R_MIPS_LO16 G |
310 ; MIPS32: srav {{.*}},{{.*}},[[REG]] | 310 ; MIPS32: srav {{.*}},{{.*}},[[REG]] |
OLD | NEW |