| ; RUN: %if --need=target_MIPS32 --need=allow_dump \ | |
| ; RUN: --command %p2i --filetype=asm --assemble \ | |
| ; RUN: --disassemble --target mips32 -i %s --args -O2 \ | |
| ; RUN: -allow-externally-defined-symbols \ | |
| ; RUN: | %if --need=target_MIPS32 --need=allow_dump \ | |
| ; RUN: --command FileCheck --check-prefix MIPS32 %s | |
| declare void @voidCall5i32(i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5) | |
| declare void @voidCall5i64(i64 %a1, i64 %a2, i64 %a3, i64 %a4, i64 %a5) | |
| declare void @voidCalli32i64i32(i32 %a1, i64 %a2, i32 %a3) | |
| ;TODO(mohit.bhakkad): Add tests for f32/f64 once legalize() or lowerArgument is | |
| ;available for f32/f64 | |
| define internal void @Call() { | |
| call void @voidCall5i32(i32 1, i32 2, i32 3, i32 4, i32 5) | |
| call void @voidCall5i64(i64 1, i64 2, i64 3, i64 4, i64 5) | |
| call void @voidCalli32i64i32(i32 1, i64 2, i32 3) | |
| ret void | |
| } | |
| ; MIPS32: li {{.*}},5 | |
| ; MIPS32: sw {{.*}},16(sp) | |
| ; MIPS32: li a0,1 | |
| ; MIPS32: li a1,2 | |
| ; MIPS32: li a2,3 | |
| ; MIPS32: li a3,4 | |
| ; MIPS32: jal | |
| ; MIPS32: li {{.*}},0 | |
| ; MIPS32: li {{.*}},3 | |
| ; MIPS32: sw {{.*}},20(sp) | |
| ; MIPS32: sw {{.*}},16(sp) | |
| ; MIPS32: li {{.*}},0 | |
| ; MIPS32: li {{.*}},4 | |
| ; MIPS32: sw {{.*}},28(sp) | |
| ; MIPS32: sw {{.*}},24(sp) | |
| ; MIPS32: li {{.*}},0 | |
| ; MIPS32: li {{.*}},5 | |
| ; MIPS32: sw {{.*}},36(sp) | |
| ; MIPS32: sw {{.*}},32(sp) | |
| ; MIPS32: li a0,1 | |
| ; MIPS32: li a1,0 | |
| ; MIPS32: li a2,2 | |
| ; MIPS32: li a3,0 | |
| ; MIPS32: jal | |
| ; MIPS32: li {{.*}},3 | |
| ; MIPS32: sw {{.*}},16(sp) | |
| ; MIPS32: li a0,1 | |
| ; MIPS32: li a2,2 | |
| ; MIPS32: li a3,0 | |
| ; MIPS32: jal |