xref: /llvm-project/llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/implicit_def.ll (revision 75e43a607c8bfbb33cc56b74bbe6becd2021731a)
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