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