1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2; RUN: llc -O0 -mtriple=mipsel-linux-gnu -global-isel -verify-machineinstrs %s -o -| FileCheck %s -check-prefixes=MIPS32 3 4declare void @f_i32(i32) 5define void @g_i32() { 6; MIPS32-LABEL: g_i32: 7; MIPS32: # %bb.0: # %entry 8; MIPS32-NEXT: addiu $sp, $sp, -24 9; MIPS32-NEXT: .cfi_def_cfa_offset 24 10; MIPS32-NEXT: sw $ra, 20($sp) # 4-byte Folded Spill 11; MIPS32-NEXT: .cfi_offset 31, -4 12; MIPS32-NEXT: # implicit-def: $a0 13; MIPS32-NEXT: jal f_i32 14; MIPS32-NEXT: nop 15; MIPS32-NEXT: lw $ra, 20($sp) # 4-byte Folded Reload 16; MIPS32-NEXT: addiu $sp, $sp, 24 17; MIPS32-NEXT: jr $ra 18; MIPS32-NEXT: nop 19entry: 20 call void @f_i32(i32 undef) 21 ret void 22} 23 24declare void @f_i64(i64) 25define void @g_i64() { 26; MIPS32-LABEL: g_i64: 27; MIPS32: # %bb.0: # %entry 28; MIPS32-NEXT: addiu $sp, $sp, -24 29; MIPS32-NEXT: .cfi_def_cfa_offset 24 30; MIPS32-NEXT: sw $ra, 20($sp) # 4-byte Folded Spill 31; MIPS32-NEXT: .cfi_offset 31, -4 32; MIPS32-NEXT: # implicit-def: $a0 33; MIPS32-NEXT: # implicit-def: $a1 34; MIPS32-NEXT: jal f_i64 35; MIPS32-NEXT: nop 36; MIPS32-NEXT: lw $ra, 20($sp) # 4-byte Folded Reload 37; MIPS32-NEXT: addiu $sp, $sp, 24 38; MIPS32-NEXT: jr $ra 39; MIPS32-NEXT: nop 40entry: 41 call void @f_i64(i64 undef) 42 ret void 43} 44 45declare void @f_float(float) 46define void @g_float() { 47; MIPS32-LABEL: g_float: 48; MIPS32: # %bb.0: # %entry 49; MIPS32-NEXT: addiu $sp, $sp, -24 50; MIPS32-NEXT: .cfi_def_cfa_offset 24 51; MIPS32-NEXT: sw $ra, 20($sp) # 4-byte Folded Spill 52; MIPS32-NEXT: .cfi_offset 31, -4 53; MIPS32-NEXT: # implicit-def: $f12 54; MIPS32-NEXT: jal f_float 55; MIPS32-NEXT: nop 56; MIPS32-NEXT: lw $ra, 20($sp) # 4-byte Folded Reload 57; MIPS32-NEXT: addiu $sp, $sp, 24 58; MIPS32-NEXT: jr $ra 59; MIPS32-NEXT: nop 60entry: 61 call void @f_float(float undef) 62 ret void 63} 64 65declare void @f_double(double) 66define void @g_double() { 67; MIPS32-LABEL: g_double: 68; MIPS32: # %bb.0: # %entry 69; MIPS32-NEXT: addiu $sp, $sp, -24 70; MIPS32-NEXT: .cfi_def_cfa_offset 24 71; MIPS32-NEXT: sw $ra, 20($sp) # 4-byte Folded Spill 72; MIPS32-NEXT: .cfi_offset 31, -4 73; MIPS32-NEXT: # implicit-def: $d6 74; MIPS32-NEXT: jal f_double 75; MIPS32-NEXT: nop 76; MIPS32-NEXT: lw $ra, 20($sp) # 4-byte Folded Reload 77; MIPS32-NEXT: addiu $sp, $sp, 24 78; MIPS32-NEXT: jr $ra 79; MIPS32-NEXT: nop 80entry: 81 call void @f_double(double undef) 82 ret void 83} 84