@@ -24,7 +24,8 @@ define i64 @caller_i128_in_regs() nounwind {
24
24
; CHECK-NEXT: ori $a0, $zero, 1
25
25
; CHECK-NEXT: ori $a1, $zero, 2
26
26
; CHECK-NEXT: move $a2, $zero
27
- ; CHECK-NEXT: bl %plt(callee_i128_in_regs)
27
+ ; CHECK-NEXT: pcaddu18i $ra, %call36(callee_i128_in_regs)
28
+ ; CHECK-NEXT: jirl $ra, $ra, 0
28
29
; CHECK-NEXT: ld.d $ra, $sp, 8 # 8-byte Folded Reload
29
30
; CHECK-NEXT: addi.d $sp, $sp, 16
30
31
; CHECK-NEXT: ret
@@ -82,7 +83,8 @@ define i64 @caller_many_scalars() nounwind {
82
83
; CHECK-NEXT: ori $a7, $zero, 7
83
84
; CHECK-NEXT: st.d $zero, $sp, 0
84
85
; CHECK-NEXT: move $a5, $zero
85
- ; CHECK-NEXT: bl %plt(callee_many_scalars)
86
+ ; CHECK-NEXT: pcaddu18i $ra, %call36(callee_many_scalars)
87
+ ; CHECK-NEXT: jirl $ra, $ra, 0
86
88
; CHECK-NEXT: ld.d $ra, $sp, 24 # 8-byte Folded Reload
87
89
; CHECK-NEXT: addi.d $sp, $sp, 32
88
90
; CHECK-NEXT: ret
@@ -133,7 +135,8 @@ define i64 @caller_large_scalars() nounwind {
133
135
; CHECK-NEXT: addi.d $a0, $sp, 32
134
136
; CHECK-NEXT: addi.d $a1, $sp, 0
135
137
; CHECK-NEXT: st.d $a2, $sp, 32
136
- ; CHECK-NEXT: bl %plt(callee_large_scalars)
138
+ ; CHECK-NEXT: pcaddu18i $ra, %call36(callee_large_scalars)
139
+ ; CHECK-NEXT: jirl $ra, $ra, 0
137
140
; CHECK-NEXT: ld.d $ra, $sp, 72 # 8-byte Folded Reload
138
141
; CHECK-NEXT: addi.d $sp, $sp, 80
139
142
; CHECK-NEXT: ret
@@ -197,7 +200,8 @@ define i64 @caller_large_scalars_exhausted_regs() nounwind {
197
200
; CHECK-NEXT: ori $a6, $zero, 7
198
201
; CHECK-NEXT: addi.d $a7, $sp, 48
199
202
; CHECK-NEXT: vst $vr0, $sp, 56
200
- ; CHECK-NEXT: bl %plt(callee_large_scalars_exhausted_regs)
203
+ ; CHECK-NEXT: pcaddu18i $ra, %call36(callee_large_scalars_exhausted_regs)
204
+ ; CHECK-NEXT: jirl $ra, $ra, 0
201
205
; CHECK-NEXT: ld.d $ra, $sp, 88 # 8-byte Folded Reload
202
206
; CHECK-NEXT: addi.d $sp, $sp, 96
203
207
; CHECK-NEXT: ret
@@ -244,7 +248,8 @@ define i64 @caller_large_struct() nounwind {
244
248
; CHECK-NEXT: st.d $a2, $sp, 24
245
249
; CHECK-NEXT: st.d $a3, $sp, 32
246
250
; CHECK-NEXT: addi.d $a0, $sp, 8
247
- ; CHECK-NEXT: bl %plt(callee_large_struct)
251
+ ; CHECK-NEXT: pcaddu18i $ra, %call36(callee_large_struct)
252
+ ; CHECK-NEXT: jirl $ra, $ra, 0
248
253
; CHECK-NEXT: ld.d $ra, $sp, 72 # 8-byte Folded Reload
249
254
; CHECK-NEXT: addi.d $sp, $sp, 80
250
255
; CHECK-NEXT: ret
@@ -277,7 +282,8 @@ define i64 @caller_small_scalar_ret() nounwind {
277
282
; CHECK: # %bb.0:
278
283
; CHECK-NEXT: addi.d $sp, $sp, -16
279
284
; CHECK-NEXT: st.d $ra, $sp, 8 # 8-byte Folded Spill
280
- ; CHECK-NEXT: bl %plt(callee_small_scalar_ret)
285
+ ; CHECK-NEXT: pcaddu18i $ra, %call36(callee_small_scalar_ret)
286
+ ; CHECK-NEXT: jirl $ra, $ra, 0
281
287
; CHECK-NEXT: addi.w $a2, $zero, -2
282
288
; CHECK-NEXT: xor $a0, $a0, $a2
283
289
; CHECK-NEXT: orn $a0, $a0, $a1
@@ -309,7 +315,8 @@ define i64 @caller_small_struct_ret() nounwind {
309
315
; CHECK: # %bb.0:
310
316
; CHECK-NEXT: addi.d $sp, $sp, -16
311
317
; CHECK-NEXT: st.d $ra, $sp, 8 # 8-byte Folded Spill
312
- ; CHECK-NEXT: bl %plt(callee_small_struct_ret)
318
+ ; CHECK-NEXT: pcaddu18i $ra, %call36(callee_small_struct_ret)
319
+ ; CHECK-NEXT: jirl $ra, $ra, 0
313
320
; CHECK-NEXT: add.d $a0, $a0, $a1
314
321
; CHECK-NEXT: ld.d $ra, $sp, 8 # 8-byte Folded Reload
315
322
; CHECK-NEXT: addi.d $sp, $sp, 16
@@ -344,7 +351,8 @@ define void @caller_large_scalar_ret() nounwind {
344
351
; CHECK-NEXT: addi.d $sp, $sp, -48
345
352
; CHECK-NEXT: st.d $ra, $sp, 40 # 8-byte Folded Spill
346
353
; CHECK-NEXT: addi.d $a0, $sp, 0
347
- ; CHECK-NEXT: bl %plt(callee_large_scalar_ret)
354
+ ; CHECK-NEXT: pcaddu18i $ra, %call36(callee_large_scalar_ret)
355
+ ; CHECK-NEXT: jirl $ra, $ra, 0
348
356
; CHECK-NEXT: ld.d $ra, $sp, 40 # 8-byte Folded Reload
349
357
; CHECK-NEXT: addi.d $sp, $sp, 48
350
358
; CHECK-NEXT: ret
@@ -383,7 +391,8 @@ define i64 @caller_large_struct_ret() nounwind {
383
391
; CHECK-NEXT: addi.d $sp, $sp, -48
384
392
; CHECK-NEXT: st.d $ra, $sp, 40 # 8-byte Folded Spill
385
393
; CHECK-NEXT: addi.d $a0, $sp, 8
386
- ; CHECK-NEXT: bl %plt(callee_large_struct_ret)
394
+ ; CHECK-NEXT: pcaddu18i $ra, %call36(callee_large_struct_ret)
395
+ ; CHECK-NEXT: jirl $ra, $ra, 0
387
396
; CHECK-NEXT: ld.d $a0, $sp, 8
388
397
; CHECK-NEXT: ld.d $a1, $sp, 32
389
398
; CHECK-NEXT: add.d $a0, $a0, $a1
0 commit comments