Skip to content

Commit 5126965

Browse files
committed
update tests
1 parent fa0dda3 commit 5126965

17 files changed

+176
-382
lines changed

llvm/test/CodeGen/RISCV/callee-saved-gprs.ll

Lines changed: 8 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -432,8 +432,7 @@ define void @callee() nounwind {
432432
; RV32IZCMP-NEXT: sw a0, %lo(var+4)(t0)
433433
; RV32IZCMP-NEXT: lw a0, 28(sp) # 4-byte Folded Reload
434434
; RV32IZCMP-NEXT: sw a0, %lo(var)(t0)
435-
; RV32IZCMP-NEXT: cm.pop {ra, s0-s11}, 96
436-
; RV32IZCMP-NEXT: ret
435+
; RV32IZCMP-NEXT: cm.popret {ra, s0-s11}, 96
437436
;
438437
; RV32IZCMP-WITH-FP-LABEL: callee:
439438
; RV32IZCMP-WITH-FP: # %bb.0:
@@ -942,8 +941,7 @@ define void @callee() nounwind {
942941
; RV64IZCMP-NEXT: sw a0, %lo(var+4)(t0)
943942
; RV64IZCMP-NEXT: ld a0, 40(sp) # 8-byte Folded Reload
944943
; RV64IZCMP-NEXT: sw a0, %lo(var)(t0)
945-
; RV64IZCMP-NEXT: cm.pop {ra, s0-s11}, 160
946-
; RV64IZCMP-NEXT: ret
944+
; RV64IZCMP-NEXT: cm.popret {ra, s0-s11}, 160
947945
;
948946
; RV64IZCMP-WITH-FP-LABEL: callee:
949947
; RV64IZCMP-WITH-FP: # %bb.0:
@@ -1613,8 +1611,7 @@ define void @caller() nounwind {
16131611
; RV32IZCMP-NEXT: lw a0, 92(sp) # 4-byte Folded Reload
16141612
; RV32IZCMP-NEXT: sw a0, %lo(var)(s0)
16151613
; RV32IZCMP-NEXT: addi sp, sp, 48
1616-
; RV32IZCMP-NEXT: cm.pop {ra, s0-s11}, 112
1617-
; RV32IZCMP-NEXT: ret
1614+
; RV32IZCMP-NEXT: cm.popret {ra, s0-s11}, 112
16181615
;
16191616
; RV32IZCMP-WITH-FP-LABEL: caller:
16201617
; RV32IZCMP-WITH-FP: # %bb.0:
@@ -2309,8 +2306,7 @@ define void @caller() nounwind {
23092306
; RV64IZCMP-NEXT: ld a0, 168(sp) # 8-byte Folded Reload
23102307
; RV64IZCMP-NEXT: sw a0, %lo(var)(s0)
23112308
; RV64IZCMP-NEXT: addi sp, sp, 128
2312-
; RV64IZCMP-NEXT: cm.pop {ra, s0-s11}, 160
2313-
; RV64IZCMP-NEXT: ret
2309+
; RV64IZCMP-NEXT: cm.popret {ra, s0-s11}, 160
23142310
;
23152311
; RV64IZCMP-WITH-FP-LABEL: caller:
23162312
; RV64IZCMP-WITH-FP: # %bb.0:
@@ -2522,10 +2518,7 @@ define void @foo() {
25222518
; RV32IZCMP-NEXT: #APP
25232519
; RV32IZCMP-NEXT: li s4, 0
25242520
; RV32IZCMP-NEXT: #NO_APP
2525-
; RV32IZCMP-NEXT: cm.pop {ra, s0-s4}, 32
2526-
; RV32IZCMP-NEXT: .cfi_def_cfa_offset 0
2527-
; RV32IZCMP-NEXT: .cfi_restore s4
2528-
; RV32IZCMP-NEXT: ret
2521+
; RV32IZCMP-NEXT: cm.popret {ra, s0-s4}, 32
25292522
;
25302523
; RV32IZCMP-WITH-FP-LABEL: foo:
25312524
; RV32IZCMP-WITH-FP: # %bb.0: # %entry
@@ -2609,10 +2602,7 @@ define void @foo() {
26092602
; RV64IZCMP-NEXT: #APP
26102603
; RV64IZCMP-NEXT: li s4, 0
26112604
; RV64IZCMP-NEXT: #NO_APP
2612-
; RV64IZCMP-NEXT: cm.pop {ra, s0-s4}, 48
2613-
; RV64IZCMP-NEXT: .cfi_def_cfa_offset 0
2614-
; RV64IZCMP-NEXT: .cfi_restore s4
2615-
; RV64IZCMP-NEXT: ret
2605+
; RV64IZCMP-NEXT: cm.popret {ra, s0-s4}, 48
26162606
;
26172607
; RV64IZCMP-WITH-FP-LABEL: foo:
26182608
; RV64IZCMP-WITH-FP: # %bb.0: # %entry
@@ -2702,10 +2692,7 @@ define void @bar() {
27022692
; RV32IZCMP-NEXT: #APP
27032693
; RV32IZCMP-NEXT: li s11, 0
27042694
; RV32IZCMP-NEXT: #NO_APP
2705-
; RV32IZCMP-NEXT: cm.pop {ra, s0-s11}, 64
2706-
; RV32IZCMP-NEXT: .cfi_def_cfa_offset 0
2707-
; RV32IZCMP-NEXT: .cfi_restore s11
2708-
; RV32IZCMP-NEXT: ret
2695+
; RV32IZCMP-NEXT: cm.popret {ra, s0-s11}, 64
27092696
;
27102697
; RV32IZCMP-WITH-FP-LABEL: bar:
27112698
; RV32IZCMP-WITH-FP: # %bb.0: # %entry
@@ -2789,10 +2776,7 @@ define void @bar() {
27892776
; RV64IZCMP-NEXT: #APP
27902777
; RV64IZCMP-NEXT: li s11, 0
27912778
; RV64IZCMP-NEXT: #NO_APP
2792-
; RV64IZCMP-NEXT: cm.pop {ra, s0-s11}, 112
2793-
; RV64IZCMP-NEXT: .cfi_def_cfa_offset 0
2794-
; RV64IZCMP-NEXT: .cfi_restore s11
2795-
; RV64IZCMP-NEXT: ret
2779+
; RV64IZCMP-NEXT: cm.popret {ra, s0-s11}, 112
27962780
;
27972781
; RV64IZCMP-WITH-FP-LABEL: bar:
27982782
; RV64IZCMP-WITH-FP: # %bb.0: # %entry

llvm/test/CodeGen/RISCV/calling-conv-ilp32e.ll

Lines changed: 51 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -272,9 +272,10 @@ define i32 @caller_float_on_stack() {
272272
; ILP32E-FPELIM-SAVE-RESTORE-LABEL: caller_float_on_stack:
273273
; ILP32E-FPELIM-SAVE-RESTORE: # %bb.0:
274274
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: call t0, __riscv_save_0
275+
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 4
276+
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_offset ra, -4
275277
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: addi sp, sp, -12
276278
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 16
277-
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_offset ra, -4
278279
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: lui a1, 264704
279280
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: li a3, 4
280281
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: li a0, 1
@@ -294,10 +295,11 @@ define i32 @caller_float_on_stack() {
294295
; ILP32E-WITHFP-SAVE-RESTORE-LABEL: caller_float_on_stack:
295296
; ILP32E-WITHFP-SAVE-RESTORE: # %bb.0:
296297
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: call t0, __riscv_save_1
297-
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi sp, sp, -12
298-
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 20
298+
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 8
299299
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_offset ra, -4
300300
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_offset s0, -8
301+
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi sp, sp, -12
302+
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 20
301303
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi s0, sp, 20
302304
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa s0, 0
303305
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: lui a1, 264704
@@ -802,10 +804,11 @@ define void @caller_aligned_stack() {
802804
; ILP32E-FPELIM-SAVE-RESTORE-LABEL: caller_aligned_stack:
803805
; ILP32E-FPELIM-SAVE-RESTORE: # %bb.0:
804806
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: call t0, __riscv_save_1
805-
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: addi sp, sp, -56
806-
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 64
807+
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 8
807808
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_offset ra, -4
808809
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_offset s0, -8
810+
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: addi sp, sp, -56
811+
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 64
809812
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: addi s0, sp, 64
810813
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa s0, 0
811814
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: andi sp, sp, -16
@@ -856,10 +859,11 @@ define void @caller_aligned_stack() {
856859
; ILP32E-WITHFP-SAVE-RESTORE-LABEL: caller_aligned_stack:
857860
; ILP32E-WITHFP-SAVE-RESTORE: # %bb.0:
858861
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: call t0, __riscv_save_1
859-
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi sp, sp, -56
860-
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 64
862+
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 8
861863
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_offset ra, -4
862864
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_offset s0, -8
865+
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi sp, sp, -56
866+
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 64
863867
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi s0, sp, 64
864868
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa s0, 0
865869
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: andi sp, sp, -16
@@ -1323,9 +1327,10 @@ define i32 @caller_many_scalars() {
13231327
; ILP32E-FPELIM-SAVE-RESTORE-LABEL: caller_many_scalars:
13241328
; ILP32E-FPELIM-SAVE-RESTORE: # %bb.0:
13251329
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: call t0, __riscv_save_0
1330+
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 4
1331+
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_offset ra, -4
13261332
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: addi sp, sp, -16
13271333
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 20
1328-
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_offset ra, -4
13291334
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: li a4, 8
13301335
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: li a6, 7
13311336
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: li a7, 6
@@ -1347,10 +1352,11 @@ define i32 @caller_many_scalars() {
13471352
; ILP32E-WITHFP-SAVE-RESTORE-LABEL: caller_many_scalars:
13481353
; ILP32E-WITHFP-SAVE-RESTORE: # %bb.0:
13491354
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: call t0, __riscv_save_1
1350-
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi sp, sp, -16
1351-
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 24
1355+
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 8
13521356
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_offset ra, -4
13531357
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_offset s0, -8
1358+
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi sp, sp, -16
1359+
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 24
13541360
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi s0, sp, 24
13551361
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa s0, 0
13561362
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: li a4, 8
@@ -1557,10 +1563,11 @@ define i32 @caller_large_scalars() {
15571563
; ILP32E-FPELIM-SAVE-RESTORE-LABEL: caller_large_scalars:
15581564
; ILP32E-FPELIM-SAVE-RESTORE: # %bb.0:
15591565
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: call t0, __riscv_save_1
1560-
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: addi sp, sp, -40
1561-
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 48
1566+
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 8
15621567
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_offset ra, -4
15631568
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_offset s0, -8
1569+
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: addi sp, sp, -40
1570+
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 48
15641571
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: addi s0, sp, 48
15651572
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa s0, 0
15661573
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: andi sp, sp, -16
@@ -1586,10 +1593,11 @@ define i32 @caller_large_scalars() {
15861593
; ILP32E-WITHFP-SAVE-RESTORE-LABEL: caller_large_scalars:
15871594
; ILP32E-WITHFP-SAVE-RESTORE: # %bb.0:
15881595
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: call t0, __riscv_save_1
1589-
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi sp, sp, -40
1590-
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 48
1596+
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 8
15911597
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_offset ra, -4
15921598
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_offset s0, -8
1599+
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi sp, sp, -40
1600+
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 48
15931601
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi s0, sp, 48
15941602
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa s0, 0
15951603
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: andi sp, sp, -16
@@ -1831,10 +1839,11 @@ define i32 @caller_large_scalars_exhausted_regs() {
18311839
; ILP32E-FPELIM-SAVE-RESTORE-LABEL: caller_large_scalars_exhausted_regs:
18321840
; ILP32E-FPELIM-SAVE-RESTORE: # %bb.0:
18331841
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: call t0, __riscv_save_1
1834-
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: addi sp, sp, -56
1835-
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 64
1842+
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 8
18361843
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_offset ra, -4
18371844
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_offset s0, -8
1845+
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: addi sp, sp, -56
1846+
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 64
18381847
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: addi s0, sp, 64
18391848
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa s0, 0
18401849
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: andi sp, sp, -16
@@ -1872,10 +1881,11 @@ define i32 @caller_large_scalars_exhausted_regs() {
18721881
; ILP32E-WITHFP-SAVE-RESTORE-LABEL: caller_large_scalars_exhausted_regs:
18731882
; ILP32E-WITHFP-SAVE-RESTORE: # %bb.0:
18741883
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: call t0, __riscv_save_1
1875-
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi sp, sp, -56
1876-
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 64
1884+
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 8
18771885
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_offset ra, -4
18781886
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_offset s0, -8
1887+
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi sp, sp, -56
1888+
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 64
18791889
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi s0, sp, 64
18801890
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa s0, 0
18811891
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: andi sp, sp, -16
@@ -1973,10 +1983,11 @@ define i32 @caller_mixed_scalar_libcalls(i64 %a) {
19731983
; ILP32E-FPELIM-SAVE-RESTORE-LABEL: caller_mixed_scalar_libcalls:
19741984
; ILP32E-FPELIM-SAVE-RESTORE: # %bb.0:
19751985
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: call t0, __riscv_save_1
1976-
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: addi sp, sp, -16
1977-
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 24
1986+
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 8
19781987
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_offset ra, -4
19791988
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_offset s0, -8
1989+
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: addi sp, sp, -16
1990+
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 24
19801991
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: addi s0, sp, 24
19811992
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa s0, 0
19821993
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: andi sp, sp, -8
@@ -1994,10 +2005,11 @@ define i32 @caller_mixed_scalar_libcalls(i64 %a) {
19942005
; ILP32E-WITHFP-SAVE-RESTORE-LABEL: caller_mixed_scalar_libcalls:
19952006
; ILP32E-WITHFP-SAVE-RESTORE: # %bb.0:
19962007
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: call t0, __riscv_save_1
1997-
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi sp, sp, -16
1998-
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 24
2008+
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 8
19992009
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_offset ra, -4
20002010
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_offset s0, -8
2011+
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi sp, sp, -16
2012+
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 24
20012013
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi s0, sp, 24
20022014
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa s0, 0
20032015
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: andi sp, sp, -8
@@ -2265,9 +2277,10 @@ define i32 @caller_large_struct() {
22652277
; ILP32E-FPELIM-SAVE-RESTORE-LABEL: caller_large_struct:
22662278
; ILP32E-FPELIM-SAVE-RESTORE: # %bb.0:
22672279
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: call t0, __riscv_save_0
2280+
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 4
2281+
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_offset ra, -4
22682282
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: addi sp, sp, -32
22692283
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 36
2270-
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_offset ra, -4
22712284
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: li a0, 1
22722285
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: li a1, 2
22732286
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: li a2, 3
@@ -2289,10 +2302,11 @@ define i32 @caller_large_struct() {
22892302
; ILP32E-WITHFP-SAVE-RESTORE-LABEL: caller_large_struct:
22902303
; ILP32E-WITHFP-SAVE-RESTORE: # %bb.0:
22912304
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: call t0, __riscv_save_1
2292-
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi sp, sp, -32
2293-
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 40
2305+
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 8
22942306
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_offset ra, -4
22952307
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_offset s0, -8
2308+
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi sp, sp, -32
2309+
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 40
22962310
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi s0, sp, 40
22972311
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa s0, 0
22982312
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: li a0, 1
@@ -2556,10 +2570,11 @@ define void @caller_large_scalar_ret() {
25562570
; ILP32E-FPELIM-SAVE-RESTORE-LABEL: caller_large_scalar_ret:
25572571
; ILP32E-FPELIM-SAVE-RESTORE: # %bb.0:
25582572
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: call t0, __riscv_save_1
2559-
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: addi sp, sp, -24
2560-
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 32
2573+
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 8
25612574
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_offset ra, -4
25622575
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_offset s0, -8
2576+
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: addi sp, sp, -24
2577+
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 32
25632578
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: addi s0, sp, 32
25642579
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa s0, 0
25652580
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: andi sp, sp, -16
@@ -2574,10 +2589,11 @@ define void @caller_large_scalar_ret() {
25742589
; ILP32E-WITHFP-SAVE-RESTORE-LABEL: caller_large_scalar_ret:
25752590
; ILP32E-WITHFP-SAVE-RESTORE: # %bb.0:
25762591
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: call t0, __riscv_save_1
2577-
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi sp, sp, -24
2578-
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 32
2592+
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 8
25792593
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_offset ra, -4
25802594
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_offset s0, -8
2595+
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi sp, sp, -24
2596+
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 32
25812597
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi s0, sp, 32
25822598
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa s0, 0
25832599
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: andi sp, sp, -16
@@ -2731,10 +2747,11 @@ define i32 @caller_large_struct_ret() {
27312747
; ILP32E-FPELIM-SAVE-RESTORE-LABEL: caller_large_struct_ret:
27322748
; ILP32E-FPELIM-SAVE-RESTORE: # %bb.0:
27332749
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: call t0, __riscv_save_1
2734-
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: addi sp, sp, -16
2735-
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 24
2750+
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 8
27362751
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_offset ra, -4
27372752
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_offset s0, -8
2753+
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: addi sp, sp, -16
2754+
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 24
27382755
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: addi s0, sp, 24
27392756
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa s0, 0
27402757
; ILP32E-FPELIM-SAVE-RESTORE-NEXT: andi sp, sp, -8
@@ -2752,10 +2769,11 @@ define i32 @caller_large_struct_ret() {
27522769
; ILP32E-WITHFP-SAVE-RESTORE-LABEL: caller_large_struct_ret:
27532770
; ILP32E-WITHFP-SAVE-RESTORE: # %bb.0:
27542771
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: call t0, __riscv_save_1
2755-
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi sp, sp, -16
2756-
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 24
2772+
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 8
27572773
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_offset ra, -4
27582774
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_offset s0, -8
2775+
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi sp, sp, -16
2776+
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 24
27592777
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi s0, sp, 24
27602778
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa s0, 0
27612779
; ILP32E-WITHFP-SAVE-RESTORE-NEXT: andi sp, sp, -8

llvm/test/CodeGen/RISCV/cm_mvas_mvsa.ll

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,7 @@ define i32 @zcmp_mv(i32 %num, i32 %f) nounwind {
4343
; CHECK32ZCMP-NEXT: cm.mva01s s1, s0
4444
; CHECK32ZCMP-NEXT: call func
4545
; CHECK32ZCMP-NEXT: add a0, s2, s0
46-
; CHECK32ZCMP-NEXT: cm.pop {ra, s0-s2}, 16
47-
; CHECK32ZCMP-NEXT: ret
46+
; CHECK32ZCMP-NEXT: cm.popret {ra, s0-s2}, 16
4847
;
4948
; CHECK64I-LABEL: zcmp_mv:
5049
; CHECK64I: # %bb.0:
@@ -77,8 +76,7 @@ define i32 @zcmp_mv(i32 %num, i32 %f) nounwind {
7776
; CHECK64ZCMP-NEXT: cm.mva01s s1, s0
7877
; CHECK64ZCMP-NEXT: call func
7978
; CHECK64ZCMP-NEXT: addw a0, s2, s0
80-
; CHECK64ZCMP-NEXT: cm.pop {ra, s0-s2}, 32
81-
; CHECK64ZCMP-NEXT: ret
79+
; CHECK64ZCMP-NEXT: cm.popret {ra, s0-s2}, 32
8280
%call = call i32 @func(i32 %num, i32 %f)
8381
%call1 = call i32 @func(i32 %num, i32 %f)
8482
%res = add i32 %call, %f
@@ -121,8 +119,7 @@ define i32 @not_zcmp_mv(i32 %num, i32 %f) nounwind {
121119
; CHECK32ZCMP-NEXT: li a0, 1
122120
; CHECK32ZCMP-NEXT: mv a1, s0
123121
; CHECK32ZCMP-NEXT: call func
124-
; CHECK32ZCMP-NEXT: cm.pop {ra, s0-s1}, 16
125-
; CHECK32ZCMP-NEXT: ret
122+
; CHECK32ZCMP-NEXT: cm.popret {ra, s0-s1}, 16
126123
;
127124
; CHECK64I-LABEL: not_zcmp_mv:
128125
; CHECK64I: # %bb.0:
@@ -159,8 +156,7 @@ define i32 @not_zcmp_mv(i32 %num, i32 %f) nounwind {
159156
; CHECK64ZCMP-NEXT: li a0, 1
160157
; CHECK64ZCMP-NEXT: mv a1, s0
161158
; CHECK64ZCMP-NEXT: call func
162-
; CHECK64ZCMP-NEXT: cm.pop {ra, s0-s1}, 32
163-
; CHECK64ZCMP-NEXT: ret
159+
; CHECK64ZCMP-NEXT: cm.popret {ra, s0-s1}, 32
164160
%call = call i32 @foo(i32 %num)
165161
%call1 = call i32 @foo(i32 %f)
166162
%tmp = call i32 @foo(i32 %call)

llvm/test/CodeGen/RISCV/inline-asm-d-constraint-f.ll

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,15 +75,13 @@ define double @constraint_f_double_abi_name(double %a) nounwind {
7575
define double @constraint_gpr(double %x) {
7676
; RV32F-LABEL: constraint_gpr:
7777
; RV32F: # %bb.0:
78-
; RV32F-NEXT: .cfi_def_cfa_offset 0
7978
; RV32F-NEXT: #APP
8079
; RV32F-NEXT: mv a0, a0
8180
; RV32F-NEXT: #NO_APP
8281
; RV32F-NEXT: ret
8382
;
8483
; RV64F-LABEL: constraint_gpr:
8584
; RV64F: # %bb.0:
86-
; RV64F-NEXT: .cfi_def_cfa_offset 0
8785
; RV64F-NEXT: #APP
8886
; RV64F-NEXT: mv a0, a0
8987
; RV64F-NEXT: #NO_APP

0 commit comments

Comments
 (0)