OLD | NEW |
1 ; Test encoding of MIPS32 arithmetic instructions | 1 ; Test encoding of MIPS32 arithmetic instructions |
2 | 2 |
3 ; REQUIRES: allow_dump | 3 ; REQUIRES: allow_dump |
4 | 4 |
5 ; Compile using standalone assembler. | 5 ; Compile using standalone assembler. |
6 ; RUN: %p2i --filetype=asm -i %s --target=mips32 --args -O2 \ | 6 ; RUN: %p2i --filetype=asm -i %s --target=mips32 --args -O2 \ |
7 ; RUN: --allow-externally-defined-symbols --skip-unimplemented \ | 7 ; RUN: --allow-externally-defined-symbols \ |
8 ; RUN: | FileCheck %s --check-prefix=ASM | 8 ; RUN: | FileCheck %s --check-prefix=ASM |
9 | 9 |
10 ; Show bytes in assembled standalone code. | 10 ; Show bytes in assembled standalone code. |
11 ; RUN: %p2i --filetype=asm -i %s --target=mips32 --assemble --disassemble \ | 11 ; RUN: %p2i --filetype=asm -i %s --target=mips32 --assemble --disassemble \ |
12 ; RUN: --args -O2 --allow-externally-defined-symbols --skip-unimplemented \ | 12 ; RUN: --args -O2 --allow-externally-defined-symbols \ |
13 ; RUN: | FileCheck %s --check-prefix=DIS | 13 ; RUN: | FileCheck %s --check-prefix=DIS |
14 | 14 |
15 ; Compile using integrated assembler. | 15 ; Compile using integrated assembler. |
16 ; RUN: %p2i --filetype=iasm -i %s --target=mips32 --args -O2 \ | 16 ; RUN: %p2i --filetype=iasm -i %s --target=mips32 --args -O2 \ |
17 ; RUN: --allow-externally-defined-symbols --skip-unimplemented \ | 17 ; RUN: --allow-externally-defined-symbols \ |
18 ; RUN: | FileCheck %s --check-prefix=IASM | 18 ; RUN: | FileCheck %s --check-prefix=IASM |
19 | 19 |
20 ; Show bytes in assembled integrated code. | 20 ; Show bytes in assembled integrated code. |
21 ; RUN: %p2i --filetype=iasm -i %s --target=mips32 --assemble --disassemble \ | 21 ; RUN: %p2i --filetype=iasm -i %s --target=mips32 --assemble --disassemble \ |
22 ; RUN: --args -O2 --allow-externally-defined-symbols --skip-unimplemented \ | 22 ; RUN: --args -O2 --allow-externally-defined-symbols \ |
23 ; RUN: | FileCheck %s --check-prefix=DIS | 23 ; RUN: | FileCheck %s --check-prefix=DIS |
24 | 24 |
25 define internal i32 @test_01(i32 %a) { | 25 define internal i32 @test_01(i32 %a) { |
26 %v = add i32 %a, 1 | 26 %v = add i32 %a, 1 |
27 %v1 = and i32 %v, 1 | 27 %v1 = and i32 %v, 1 |
28 %v2 = or i32 %v1, 1 | 28 %v2 = or i32 %v1, 1 |
29 %v3 = xor i32 %v2, 1 | 29 %v3 = xor i32 %v2, 1 |
30 ret i32 %v3 | 30 ret i32 %v3 |
31 } | 31 } |
32 | 32 |
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
187 ; IASM-NEXT: .byte 0xa4 | 187 ; IASM-NEXT: .byte 0xa4 |
188 ; IASM-NEXT: .byte 0x0 | 188 ; IASM-NEXT: .byte 0x0 |
189 ; IASM-NEXT: .byte 0x21 | 189 ; IASM-NEXT: .byte 0x21 |
190 ; IASM-NEXT: .byte 0x10 | 190 ; IASM-NEXT: .byte 0x10 |
191 ; IASM-NEXT: .byte 0x80 | 191 ; IASM-NEXT: .byte 0x80 |
192 ; IASM-NEXT: .byte 0x0 | 192 ; IASM-NEXT: .byte 0x0 |
193 ; IASM-NEXT: .byte 0x8 | 193 ; IASM-NEXT: .byte 0x8 |
194 ; IASM-NEXT: .byte 0x0 | 194 ; IASM-NEXT: .byte 0x0 |
195 ; IASM-NEXT: .byte 0xe0 | 195 ; IASM-NEXT: .byte 0xe0 |
196 ; IASM-NEXT: .byte 0x3 | 196 ; IASM-NEXT: .byte 0x3 |
OLD | NEW |