| ; 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 |