1 ; RUN: %if --need=target_MIPS32 --need=allow_dump \ 2 ; RUN: --command %p2i --filetype=asm --assemble \ 3 ; RUN: --disassemble --target mips32 -i %s --args -O2 \ 4 ; RUN: -allow-externally-defined-symbols \ 5 ; RUN: | %if --need=target_MIPS32 --need=allow_dump \ 6 ; RUN: --command FileCheck --check-prefix MIPS32 %s 7 8 9 10 declare void @voidCall5i32(i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5) 11 declare void @voidCall5i64(i64 %a1, i64 %a2, i64 %a3, i64 %a4, i64 %a5) 12 declare void @voidCalli32i64i32(i32 %a1, i64 %a2, i32 %a3) 13 14 ;TODO(mohit.bhakkad): Add tests for f32/f64 once legalize() or lowerArgument is 15 ;available for f32/f64 16 17 define internal void @Call() { 18 call void @voidCall5i32(i32 1, i32 2, i32 3, i32 4, i32 5) 19 call void @voidCall5i64(i64 1, i64 2, i64 3, i64 4, i64 5) 20 call void @voidCalli32i64i32(i32 1, i64 2, i32 3) 21 ret void 22 } 23 ; MIPS32: li {{.*}},5 24 ; MIPS32: sw {{.*}},16(sp) 25 ; MIPS32: li a0,1 26 ; MIPS32: li a1,2 27 ; MIPS32: li a2,3 28 ; MIPS32: li a3,4 29 ; MIPS32: jal 30 31 ; MIPS32: li {{.*}},0 32 ; MIPS32: li {{.*}},3 33 ; MIPS32: sw {{.*}},20(sp) 34 ; MIPS32: sw {{.*}},16(sp) 35 ; MIPS32: li {{.*}},0 36 ; MIPS32: li {{.*}},4 37 ; MIPS32: sw {{.*}},28(sp) 38 ; MIPS32: sw {{.*}},24(sp) 39 ; MIPS32: li {{.*}},0 40 ; MIPS32: li {{.*}},5 41 ; MIPS32: sw {{.*}},36(sp) 42 ; MIPS32: sw {{.*}},32(sp) 43 ; MIPS32: li a0,1 44 ; MIPS32: li a1,0 45 ; MIPS32: li a2,2 46 ; MIPS32: li a3,0 47 ; MIPS32: jal 48 49 ; MIPS32: li {{.*}},3 50 ; MIPS32: sw {{.*}},16(sp) 51 ; MIPS32: li a0,1 52 ; MIPS32: li a2,2 53 ; MIPS32: li a3,0 54 ; MIPS32: jal 55