| Index: tests_lit/llvm2ice_tests/int-arg.ll
|
| diff --git a/tests_lit/llvm2ice_tests/int-arg.ll b/tests_lit/llvm2ice_tests/int-arg.ll
|
| index c59f0c8b295a62b1a69cd8f3ca536ecdaf94cb55..a7c41d06044a3d3dbb8344fe1debbbe25e60f02e 100644
|
| --- a/tests_lit/llvm2ice_tests/int-arg.ll
|
| +++ b/tests_lit/llvm2ice_tests/int-arg.ll
|
| @@ -15,6 +15,16 @@
|
| ; RUN: | %if --need=target_ARM32 --need=allow_dump \
|
| ; RUN: --command FileCheck --check-prefix ARM32 %s
|
|
|
| +; TODO(RKotler): Stop skipping unimplemented parts (via --skip-unimplemented)
|
| +; once enough infrastructure is in. Also, switch to --filetype=obj
|
| +; when possible.
|
| +; RUN: %if --need=target_MIPS32 --need=allow_dump \
|
| +; RUN: --command %p2i --filetype=asm --assemble \
|
| +; RUN: --disassemble --target mips32 -i %s --args -O2 --skip-unimplemented \
|
| +; RUN: -allow-externally-defined-symbols \
|
| +; RUN: | %if --need=target_MIPS32 --need=allow_dump \
|
| +; RUN: --command FileCheck --check-prefix MIPS32 %s
|
| +
|
| ; For x86-32, integer arguments use the stack.
|
| ; For ARM32, integer arguments can be r0-r3. i64 arguments occupy two
|
| ; adjacent 32-bit registers, and require the first to be an even register.
|
| @@ -31,6 +41,9 @@ entry:
|
| ; CHECK-NEXT: ret
|
| ; ARM32-LABEL: test_returning32_arg0
|
| ; ARM32-NEXT: bx lr
|
| +; MIPS32-LABEL: test_returning32_arg0
|
| +; MIPS32: move v0,a0
|
| +; MIPS32-NEXT: jr ra
|
|
|
| define internal i32 @test_returning32_arg1(i32 %arg0, i32 %arg1, i32 %arg2, i32 %arg3, i32 %arg4, i32 %arg5, i32 %arg6, i32 %arg7) {
|
| entry:
|
| @@ -42,7 +55,9 @@ entry:
|
| ; ARM32-LABEL: test_returning32_arg1
|
| ; ARM32-NEXT: mov r0, r1
|
| ; ARM32-NEXT: bx lr
|
| -
|
| +; MIPS32-LABEL: test_returning32_arg1
|
| +; MIPS32: move v0,a1
|
| +; MIPS32-NEXT: jr ra
|
|
|
| define internal i32 @test_returning32_arg2(i32 %arg0, i32 %arg1, i32 %arg2, i32 %arg3, i32 %arg4, i32 %arg5, i32 %arg6, i32 %arg7) {
|
| entry:
|
| @@ -54,6 +69,9 @@ entry:
|
| ; ARM32-LABEL: test_returning32_arg2
|
| ; ARM32-NEXT: mov r0, r2
|
| ; ARM32-NEXT: bx lr
|
| +; MIPS32-LABEL: test_returning32_arg2
|
| +; MIPS32: move v0,a2
|
| +; MIPS32-NEXT: jr ra
|
|
|
|
|
| define internal i32 @test_returning32_arg3(i32 %arg0, i32 %arg1, i32 %arg2, i32 %arg3, i32 %arg4, i32 %arg5, i32 %arg6, i32 %arg7) {
|
| @@ -103,6 +121,10 @@ entry:
|
| ; CHECK: ret
|
| ; ARM32-LABEL: test_returning64_arg0
|
| ; ARM32-NEXT: bx lr
|
| +; MIPS32-LABEL: test_returning64_arg0
|
| +; MIPS32-NEXT: move v0,a0
|
| +; MIPS32-NEXT: move v1,a1
|
| +
|
|
|
| define internal i64 @test_returning64_arg1(i64 %arg0, i64 %arg1, i64 %arg2, i64 %arg3) {
|
| entry:
|
| @@ -116,6 +138,9 @@ entry:
|
| ; ARM32-NEXT: mov r0, r2
|
| ; ARM32-NEXT: mov r1, r3
|
| ; ARM32-NEXT: bx lr
|
| +; MIPS32-LABEL: test_returning64_arg1
|
| +; MIPS32-NEXT: move v0,a2
|
| +; MIPS32-NEXT: move v1,a3
|
|
|
| define internal i64 @test_returning64_arg2(i64 %arg0, i64 %arg1, i64 %arg2, i64 %arg3) {
|
| entry:
|
|
|