[ORC] Fix bug in source file name finding in DebuggerSupportPlugin.
[llvm-project.git] / llvm / test / CodeGen / RISCV / GlobalISel / legalizer / legalize-extload-rv64.mir
blob031c1309f5851c5141511c7f4b7a8e0e3f7daf7e
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=riscv64 -run-pass=legalizer %s -o - \
3 # RUN: | FileCheck %s
5 ---
6 name:            zextload_i8_i16
7 body:             |
8   bb.0:
9     liveins: $x10
11     ; CHECK-LABEL: name: zextload_i8_i16
12     ; CHECK: liveins: $x10
13     ; CHECK-NEXT: {{  $}}
14     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10
15     ; CHECK-NEXT: [[ZEXTLOAD:%[0-9]+]]:_(s64) = G_ZEXTLOAD [[COPY]](p0) :: (load (s8))
16     ; CHECK-NEXT: $x10 = COPY [[ZEXTLOAD]](s64)
17     ; CHECK-NEXT: PseudoRET implicit $x10
18     %0:_(p0) = COPY $x10
19     %2:_(s16) = G_ZEXTLOAD %0(p0) :: (load (s8))
20     %3:_(s64) = G_ANYEXT %2(s16)
21     $x10 = COPY %3(s64)
22     PseudoRET implicit $x10
24 ...
25 ---
26 name:            zextload_i8_i32
27 body:             |
28   bb.0:
29     liveins: $x10
31     ; CHECK-LABEL: name: zextload_i8_i32
32     ; CHECK: liveins: $x10
33     ; CHECK-NEXT: {{  $}}
34     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10
35     ; CHECK-NEXT: [[ZEXTLOAD:%[0-9]+]]:_(s64) = G_ZEXTLOAD [[COPY]](p0) :: (load (s8))
36     ; CHECK-NEXT: $x10 = COPY [[ZEXTLOAD]](s64)
37     ; CHECK-NEXT: PseudoRET implicit $x10
38     %0:_(p0) = COPY $x10
39     %2:_(s32) = G_ZEXTLOAD %0(p0) :: (load (s8))
40     %3:_(s64) = G_ANYEXT %2(s32)
41     $x10 = COPY %3(s64)
42     PseudoRET implicit $x10
44 ...
45 ---
46 name:            zextload_i16_i32
47 body:             |
48   bb.0:
49     liveins: $x10
51     ; CHECK-LABEL: name: zextload_i16_i32
52     ; CHECK: liveins: $x10
53     ; CHECK-NEXT: {{  $}}
54     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10
55     ; CHECK-NEXT: [[ZEXTLOAD:%[0-9]+]]:_(s64) = G_ZEXTLOAD [[COPY]](p0) :: (load (s16))
56     ; CHECK-NEXT: $x10 = COPY [[ZEXTLOAD]](s64)
57     ; CHECK-NEXT: PseudoRET implicit $x10
58     %0:_(p0) = COPY $x10
59     %2:_(s32) = G_ZEXTLOAD %0(p0) :: (load (s16))
60     %3:_(s64) = G_ANYEXT %2(s32)
61     $x10 = COPY %3(s64)
62     PseudoRET implicit $x10
64 ...
65 ---
66 name:            zextload_i8_i64
67 body:             |
68   bb.0:
69     liveins: $x10
71     ; CHECK-LABEL: name: zextload_i8_i64
72     ; CHECK: liveins: $x10
73     ; CHECK-NEXT: {{  $}}
74     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10
75     ; CHECK-NEXT: [[ZEXTLOAD:%[0-9]+]]:_(s64) = G_ZEXTLOAD [[COPY]](p0) :: (load (s8))
76     ; CHECK-NEXT: $x10 = COPY [[ZEXTLOAD]](s64)
77     ; CHECK-NEXT: PseudoRET implicit $x10
78     %0:_(p0) = COPY $x10
79     %2:_(s64) = G_ZEXTLOAD %0(p0) :: (load (s8))
80     $x10 = COPY %2(s64)
81     PseudoRET implicit $x10
83 ...
84 ---
85 name:            zextload_i16_i64
86 body:             |
87   bb.0:
88     liveins: $x10
90     ; CHECK-LABEL: name: zextload_i16_i64
91     ; CHECK: liveins: $x10
92     ; CHECK-NEXT: {{  $}}
93     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10
94     ; CHECK-NEXT: [[ZEXTLOAD:%[0-9]+]]:_(s64) = G_ZEXTLOAD [[COPY]](p0) :: (load (s16))
95     ; CHECK-NEXT: $x10 = COPY [[ZEXTLOAD]](s64)
96     ; CHECK-NEXT: PseudoRET implicit $x10
97     %0:_(p0) = COPY $x10
98     %2:_(s64) = G_ZEXTLOAD %0(p0) :: (load (s16))
99     $x10 = COPY %2(s64)
100     PseudoRET implicit $x10
104 name:            zextload_i32_i64
105 body:             |
106   bb.0:
107     liveins: $x10
109     ; CHECK-LABEL: name: zextload_i32_i64
110     ; CHECK: liveins: $x10
111     ; CHECK-NEXT: {{  $}}
112     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10
113     ; CHECK-NEXT: [[ZEXTLOAD:%[0-9]+]]:_(s64) = G_ZEXTLOAD [[COPY]](p0) :: (load (s32))
114     ; CHECK-NEXT: $x10 = COPY [[ZEXTLOAD]](s64)
115     ; CHECK-NEXT: PseudoRET implicit $x10
116     %0:_(p0) = COPY $x10
117     %2:_(s64) = G_ZEXTLOAD %0(p0) :: (load (s32))
118     $x10 = COPY %2(s64)
119     PseudoRET implicit $x10
123 name:            zextload_i8_i48
124 body:             |
125   bb.0:
126     liveins: $x10
128     ; CHECK-LABEL: name: zextload_i8_i48
129     ; CHECK: liveins: $x10
130     ; CHECK-NEXT: {{  $}}
131     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10
132     ; CHECK-NEXT: [[ZEXTLOAD:%[0-9]+]]:_(s64) = G_ZEXTLOAD [[COPY]](p0) :: (load (s8))
133     ; CHECK-NEXT: $x10 = COPY [[ZEXTLOAD]](s64)
134     ; CHECK-NEXT: PseudoRET implicit $x10
135     %0:_(p0) = COPY $x10
136     %2:_(s48) = G_ZEXTLOAD %0(p0) :: (load (s8))
137     %3:_(s64) = G_ANYEXT %2(s48)
138     $x10 = COPY %3(s64)
139     PseudoRET implicit $x10
143 name:            sextload_i8_i16
144 body:             |
145   bb.0:
146     liveins: $x10
148     ; CHECK-LABEL: name: sextload_i8_i16
149     ; CHECK: liveins: $x10
150     ; CHECK-NEXT: {{  $}}
151     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10
152     ; CHECK-NEXT: [[SEXTLOAD:%[0-9]+]]:_(s64) = G_SEXTLOAD [[COPY]](p0) :: (load (s8))
153     ; CHECK-NEXT: $x10 = COPY [[SEXTLOAD]](s64)
154     ; CHECK-NEXT: PseudoRET implicit $x10
155     %0:_(p0) = COPY $x10
156     %2:_(s16) = G_SEXTLOAD %0(p0) :: (load (s8))
157     %3:_(s64) = G_ANYEXT %2(s16)
158     $x10 = COPY %3(s64)
159     PseudoRET implicit $x10
163 name:            sextload_i8_i32
164 body:             |
165   bb.0:
166     liveins: $x10
168     ; CHECK-LABEL: name: sextload_i8_i32
169     ; CHECK: liveins: $x10
170     ; CHECK-NEXT: {{  $}}
171     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10
172     ; CHECK-NEXT: [[SEXTLOAD:%[0-9]+]]:_(s64) = G_SEXTLOAD [[COPY]](p0) :: (load (s8))
173     ; CHECK-NEXT: $x10 = COPY [[SEXTLOAD]](s64)
174     ; CHECK-NEXT: PseudoRET implicit $x10
175     %0:_(p0) = COPY $x10
176     %2:_(s32) = G_SEXTLOAD %0(p0) :: (load (s8))
177     %3:_(s64) = G_ANYEXT %2(s32)
178     $x10 = COPY %3(s64)
179     PseudoRET implicit $x10
183 name:            sextload_i16_i32
184 body:             |
185   bb.0:
186     liveins: $x10
188     ; CHECK-LABEL: name: sextload_i16_i32
189     ; CHECK: liveins: $x10
190     ; CHECK-NEXT: {{  $}}
191     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10
192     ; CHECK-NEXT: [[SEXTLOAD:%[0-9]+]]:_(s64) = G_SEXTLOAD [[COPY]](p0) :: (load (s16))
193     ; CHECK-NEXT: $x10 = COPY [[SEXTLOAD]](s64)
194     ; CHECK-NEXT: PseudoRET implicit $x10
195     %0:_(p0) = COPY $x10
196     %2:_(s32) = G_SEXTLOAD %0(p0) :: (load (s16))
197     %3:_(s64) = G_ANYEXT %2(s32)
198     $x10 = COPY %3(s64)
199     PseudoRET implicit $x10
203 name:            sextload_i8_i64
204 body:             |
205   bb.0:
206     liveins: $x10
208     ; CHECK-LABEL: name: sextload_i8_i64
209     ; CHECK: liveins: $x10
210     ; CHECK-NEXT: {{  $}}
211     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10
212     ; CHECK-NEXT: [[SEXTLOAD:%[0-9]+]]:_(s64) = G_SEXTLOAD [[COPY]](p0) :: (load (s8))
213     ; CHECK-NEXT: $x10 = COPY [[SEXTLOAD]](s64)
214     ; CHECK-NEXT: PseudoRET implicit $x10
215     %0:_(p0) = COPY $x10
216     %2:_(s64) = G_SEXTLOAD %0(p0) :: (load (s8))
217     $x10 = COPY %2(s64)
218     PseudoRET implicit $x10
222 name:            sextload_i16_i64
223 body:             |
224   bb.0:
225     liveins: $x10
227     ; CHECK-LABEL: name: sextload_i16_i64
228     ; CHECK: liveins: $x10
229     ; CHECK-NEXT: {{  $}}
230     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10
231     ; CHECK-NEXT: [[SEXTLOAD:%[0-9]+]]:_(s64) = G_SEXTLOAD [[COPY]](p0) :: (load (s16))
232     ; CHECK-NEXT: $x10 = COPY [[SEXTLOAD]](s64)
233     ; CHECK-NEXT: PseudoRET implicit $x10
234     %0:_(p0) = COPY $x10
235     %2:_(s64) = G_SEXTLOAD %0(p0) :: (load (s16))
236     $x10 = COPY %2(s64)
237     PseudoRET implicit $x10
241 name:            sextload_i32_i64
242 body:             |
243   bb.0:
244     liveins: $x10
246     ; CHECK-LABEL: name: sextload_i32_i64
247     ; CHECK: liveins: $x10
248     ; CHECK-NEXT: {{  $}}
249     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10
250     ; CHECK-NEXT: [[SEXTLOAD:%[0-9]+]]:_(s64) = G_SEXTLOAD [[COPY]](p0) :: (load (s32))
251     ; CHECK-NEXT: $x10 = COPY [[SEXTLOAD]](s64)
252     ; CHECK-NEXT: PseudoRET implicit $x10
253     %0:_(p0) = COPY $x10
254     %2:_(s64) = G_SEXTLOAD %0(p0) :: (load (s32))
255     $x10 = COPY %2(s64)
256     PseudoRET implicit $x10
260 name:            sextload_i8_i48
261 alignment:       4
262 body:             |
263   bb.0:
264     liveins: $x10
266     ; CHECK-LABEL: name: sextload_i8_i48
267     ; CHECK: liveins: $x10
268     ; CHECK-NEXT: {{  $}}
269     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10
270     ; CHECK-NEXT: [[SEXTLOAD:%[0-9]+]]:_(s64) = G_SEXTLOAD [[COPY]](p0) :: (load (s8))
271     ; CHECK-NEXT: $x10 = COPY [[SEXTLOAD]](s64)
272     ; CHECK-NEXT: PseudoRET implicit $x10
273     %0:_(p0) = COPY $x10
274     %2:_(s48) = G_SEXTLOAD %0(p0) :: (load (s8))
275     %3:_(s64) = G_ANYEXT %2(s48)
276     $x10 = COPY %3(s64)
277     PseudoRET implicit $x10