xref: /llvm-project/llvm/test/CodeGen/Mips/GlobalISel/instruction-select/implicit_def.mir (revision 75e43a607c8bfbb33cc56b74bbe6becd2021731a)
1*75e43a60SPetar Avramovic# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2*75e43a60SPetar Avramovic# RUN: llc -O0 -mtriple=mipsel-linux-gnu -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s -check-prefixes=MIPS32
3*75e43a60SPetar Avramovic--- |
4*75e43a60SPetar Avramovic
5*75e43a60SPetar Avramovic  declare void @f_i32(i32)
6*75e43a60SPetar Avramovic  define void @g_i32() {entry: ret void}
7*75e43a60SPetar Avramovic
8*75e43a60SPetar Avramovic  declare void @f_i64(i64)
9*75e43a60SPetar Avramovic  define void @g_i64() {entry: ret void}
10*75e43a60SPetar Avramovic
11*75e43a60SPetar Avramovic  declare void @f_float(float)
12*75e43a60SPetar Avramovic  define void @g_float() {entry: ret void}
13*75e43a60SPetar Avramovic
14*75e43a60SPetar Avramovic  declare void @f_double(double)
15*75e43a60SPetar Avramovic  define void @g_double() {entry: ret void}
16*75e43a60SPetar Avramovic
17*75e43a60SPetar Avramovic...
18*75e43a60SPetar Avramovic---
19*75e43a60SPetar Avramovicname:            g_i32
20*75e43a60SPetar Avramovicalignment:       2
21*75e43a60SPetar Avramoviclegalized:       true
22*75e43a60SPetar AvramovicregBankSelected: true
23*75e43a60SPetar AvramovictracksRegLiveness: true
24*75e43a60SPetar Avramovicbody:             |
25*75e43a60SPetar Avramovic  bb.1.entry:
26*75e43a60SPetar Avramovic    ; MIPS32-LABEL: name: g_i32
27*75e43a60SPetar Avramovic    ; MIPS32: [[DEF:%[0-9]+]]:gpr32 = IMPLICIT_DEF
28*75e43a60SPetar Avramovic    ; MIPS32: ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp
29*75e43a60SPetar Avramovic    ; MIPS32: $a0 = COPY [[DEF]]
30*75e43a60SPetar Avramovic    ; MIPS32: JAL @f_i32, csr_o32, implicit-def $ra, implicit-def $sp, implicit $a0
31*75e43a60SPetar Avramovic    ; MIPS32: ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp
32*75e43a60SPetar Avramovic    ; MIPS32: RetRA
33*75e43a60SPetar Avramovic    %0:gprb(s32) = G_IMPLICIT_DEF
34*75e43a60SPetar Avramovic    ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp
35*75e43a60SPetar Avramovic    $a0 = COPY %0(s32)
36*75e43a60SPetar Avramovic    JAL @f_i32, csr_o32, implicit-def $ra, implicit-def $sp, implicit $a0
37*75e43a60SPetar Avramovic    ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp
38*75e43a60SPetar Avramovic    RetRA
39*75e43a60SPetar Avramovic
40*75e43a60SPetar Avramovic...
41*75e43a60SPetar Avramovic---
42*75e43a60SPetar Avramovicname:            g_i64
43*75e43a60SPetar Avramovicalignment:       2
44*75e43a60SPetar Avramoviclegalized:       true
45*75e43a60SPetar AvramovicregBankSelected: true
46*75e43a60SPetar AvramovictracksRegLiveness: true
47*75e43a60SPetar Avramovicbody:             |
48*75e43a60SPetar Avramovic  bb.1.entry:
49*75e43a60SPetar Avramovic    ; MIPS32-LABEL: name: g_i64
50*75e43a60SPetar Avramovic    ; MIPS32: [[DEF:%[0-9]+]]:gpr32 = IMPLICIT_DEF
51*75e43a60SPetar Avramovic    ; MIPS32: [[DEF1:%[0-9]+]]:gpr32 = IMPLICIT_DEF
52*75e43a60SPetar Avramovic    ; MIPS32: ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp
53*75e43a60SPetar Avramovic    ; MIPS32: $a0 = COPY [[DEF]]
54*75e43a60SPetar Avramovic    ; MIPS32: $a1 = COPY [[DEF1]]
55*75e43a60SPetar Avramovic    ; MIPS32: JAL @f_i64, csr_o32, implicit-def $ra, implicit-def $sp, implicit $a0, implicit $a1
56*75e43a60SPetar Avramovic    ; MIPS32: ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp
57*75e43a60SPetar Avramovic    ; MIPS32: RetRA
58*75e43a60SPetar Avramovic    %3:gprb(s32) = G_IMPLICIT_DEF
59*75e43a60SPetar Avramovic    %4:gprb(s32) = G_IMPLICIT_DEF
60*75e43a60SPetar Avramovic    ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp
61*75e43a60SPetar Avramovic    $a0 = COPY %3(s32)
62*75e43a60SPetar Avramovic    $a1 = COPY %4(s32)
63*75e43a60SPetar Avramovic    JAL @f_i64, csr_o32, implicit-def $ra, implicit-def $sp, implicit $a0, implicit $a1
64*75e43a60SPetar Avramovic    ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp
65*75e43a60SPetar Avramovic    RetRA
66*75e43a60SPetar Avramovic
67*75e43a60SPetar Avramovic...
68*75e43a60SPetar Avramovic---
69*75e43a60SPetar Avramovicname:            g_float
70*75e43a60SPetar Avramovicalignment:       2
71*75e43a60SPetar Avramoviclegalized:       true
72*75e43a60SPetar AvramovicregBankSelected: true
73*75e43a60SPetar AvramovictracksRegLiveness: true
74*75e43a60SPetar Avramovicbody:             |
75*75e43a60SPetar Avramovic  bb.1.entry:
76*75e43a60SPetar Avramovic    ; MIPS32-LABEL: name: g_float
77*75e43a60SPetar Avramovic    ; MIPS32: [[DEF:%[0-9]+]]:fgr32 = IMPLICIT_DEF
78*75e43a60SPetar Avramovic    ; MIPS32: ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp
79*75e43a60SPetar Avramovic    ; MIPS32: $f12 = COPY [[DEF]]
80*75e43a60SPetar Avramovic    ; MIPS32: JAL @f_float, csr_o32, implicit-def $ra, implicit-def $sp, implicit $f12
81*75e43a60SPetar Avramovic    ; MIPS32: ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp
82*75e43a60SPetar Avramovic    ; MIPS32: RetRA
83*75e43a60SPetar Avramovic    %0:fprb(s32) = G_IMPLICIT_DEF
84*75e43a60SPetar Avramovic    ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp
85*75e43a60SPetar Avramovic    $f12 = COPY %0(s32)
86*75e43a60SPetar Avramovic    JAL @f_float, csr_o32, implicit-def $ra, implicit-def $sp, implicit $f12
87*75e43a60SPetar Avramovic    ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp
88*75e43a60SPetar Avramovic    RetRA
89*75e43a60SPetar Avramovic
90*75e43a60SPetar Avramovic...
91*75e43a60SPetar Avramovic---
92*75e43a60SPetar Avramovicname:            g_double
93*75e43a60SPetar Avramovicalignment:       2
94*75e43a60SPetar Avramoviclegalized:       true
95*75e43a60SPetar AvramovicregBankSelected: true
96*75e43a60SPetar AvramovictracksRegLiveness: true
97*75e43a60SPetar Avramovicbody:             |
98*75e43a60SPetar Avramovic  bb.1.entry:
99*75e43a60SPetar Avramovic    ; MIPS32-LABEL: name: g_double
100*75e43a60SPetar Avramovic    ; MIPS32: [[DEF:%[0-9]+]]:afgr64 = IMPLICIT_DEF
101*75e43a60SPetar Avramovic    ; MIPS32: ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp
102*75e43a60SPetar Avramovic    ; MIPS32: $d6 = COPY [[DEF]]
103*75e43a60SPetar Avramovic    ; MIPS32: JAL @f_double, csr_o32, implicit-def $ra, implicit-def $sp, implicit $d6
104*75e43a60SPetar Avramovic    ; MIPS32: ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp
105*75e43a60SPetar Avramovic    ; MIPS32: RetRA
106*75e43a60SPetar Avramovic    %0:fprb(s64) = G_IMPLICIT_DEF
107*75e43a60SPetar Avramovic    ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp
108*75e43a60SPetar Avramovic    $d6 = COPY %0(s64)
109*75e43a60SPetar Avramovic    JAL @f_double, csr_o32, implicit-def $ra, implicit-def $sp, implicit $d6
110*75e43a60SPetar Avramovic    ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp
111*75e43a60SPetar Avramovic    RetRA
112*75e43a60SPetar Avramovic
113*75e43a60SPetar Avramovic...
114*75e43a60SPetar Avramovic
115