OLD | NEW |
1 ; This file checks that Subzero generates code in accordance with the | 1 ; This file checks that Subzero generates code in accordance with the |
2 ; calling convention for integers. | 2 ; calling convention for integers. |
3 | 3 |
4 ; RUN: %p2i -i %s --filetype=obj --disassemble --args -O2 | FileCheck %s | 4 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \ |
| 5 ; RUN: --target x8632 -i %s --args -O2 \ |
| 6 ; RUN: | %if --need=target_X8632 --command FileCheck %s |
5 | 7 |
6 ; TODO(jvoung): Stop skipping unimplemented parts (via --skip-unimplemented) | 8 ; TODO(jvoung): Stop skipping unimplemented parts (via --skip-unimplemented) |
7 ; once enough infrastructure is in. Also, switch to --filetype=obj | 9 ; once enough infrastructure is in. Also, switch to --filetype=obj |
8 ; when possible. | 10 ; when possible. |
9 ; RUN: %if --need=target_ARM32 --command %p2i --filetype=asm --assemble \ | 11 ; RUN: %if --need=target_ARM32 --command %p2i --filetype=asm --assemble \ |
10 ; RUN: --disassemble --target arm32 -i %s --args -O2 --skip-unimplemented \ | 12 ; RUN: --disassemble --target arm32 -i %s --args -O2 --skip-unimplemented \ |
11 ; RUN: | %if --need=target_ARM32 --command FileCheck --check-prefix ARM32 %s | 13 ; RUN: | %if --need=target_ARM32 --command FileCheck --check-prefix ARM32 %s |
12 | 14 |
13 ; For x86-32, integer arguments use the stack. | 15 ; For x86-32, integer arguments use the stack. |
14 ; For ARM32, integer arguments can be r0-r3. i64 arguments occupy two | 16 ; For ARM32, integer arguments can be r0-r3. i64 arguments occupy two |
(...skipping 218 matching lines...) Loading... |
233 ; CHECK-LABEL: test_returning32_even_arg4 | 235 ; CHECK-LABEL: test_returning32_even_arg4 |
234 ; CHECK-NEXT: mov {{.*}} [esp+0x18] | 236 ; CHECK-NEXT: mov {{.*}} [esp+0x18] |
235 ; CHECK-NEXT: ret | 237 ; CHECK-NEXT: ret |
236 ; ARM32-LABEL: test_returning32_even_arg4 | 238 ; ARM32-LABEL: test_returning32_even_arg4 |
237 ; TODO(jvoung): enable this once addProlog is done. | 239 ; TODO(jvoung): enable this once addProlog is done. |
238 ; TODOARM32-NEXT: ldr r0, [sp, #8] | 240 ; TODOARM32-NEXT: ldr r0, [sp, #8] |
239 ; ARM32-NEXT: bx lr | 241 ; ARM32-NEXT: bx lr |
240 | 242 |
241 ; Test interleaving float/double and integer (different register streams on ARM)
. | 243 ; Test interleaving float/double and integer (different register streams on ARM)
. |
242 ; TODO(jvoung): Test once the S/D/Q regs are modeled. | 244 ; TODO(jvoung): Test once the S/D/Q regs are modeled. |
OLD | NEW |