@@ -395,36 +395,24 @@ define void @f2_hw() "hw-shadow-stack" {
395
395
define i32 @f3_hw () "hw-shadow-stack" {
396
396
; RV32-LABEL: f3_hw:
397
397
; RV32: # %bb.0:
398
- ; RV32-NEXT: addi gp, gp, 4
399
- ; RV32-NEXT: sw ra, -4(gp)
400
- ; RV32-NEXT: .cfi_escape 0x16, 0x03, 0x02, 0x73, 0x7c #
401
398
; RV32-NEXT: addi sp, sp, -16
402
399
; RV32-NEXT: .cfi_def_cfa_offset 16
403
400
; RV32-NEXT: sw ra, 12(sp) # 4-byte Folded Spill
404
401
; RV32-NEXT: .cfi_offset ra, -4
405
402
; RV32-NEXT: call bar
406
403
; RV32-NEXT: lw ra, 12(sp) # 4-byte Folded Reload
407
404
; RV32-NEXT: addi sp, sp, 16
408
- ; RV32-NEXT: lw ra, -4(gp)
409
- ; RV32-NEXT: addi gp, gp, -4
410
- ; RV32-NEXT: .cfi_restore gp
411
405
; RV32-NEXT: ret
412
406
;
413
407
; RV64-LABEL: f3_hw:
414
408
; RV64: # %bb.0:
415
- ; RV64-NEXT: addi gp, gp, 8
416
- ; RV64-NEXT: sd ra, -8(gp)
417
- ; RV64-NEXT: .cfi_escape 0x16, 0x03, 0x02, 0x73, 0x78 #
418
409
; RV64-NEXT: addi sp, sp, -16
419
410
; RV64-NEXT: .cfi_def_cfa_offset 16
420
411
; RV64-NEXT: sd ra, 8(sp) # 8-byte Folded Spill
421
412
; RV64-NEXT: .cfi_offset ra, -8
422
413
; RV64-NEXT: call bar
423
414
; RV64-NEXT: ld ra, 8(sp) # 8-byte Folded Reload
424
415
; RV64-NEXT: addi sp, sp, 16
425
- ; RV64-NEXT: ld ra, -8(gp)
426
- ; RV64-NEXT: addi gp, gp, -8
427
- ; RV64-NEXT: .cfi_restore gp
428
416
; RV64-NEXT: ret
429
417
;
430
418
; RV32-ZICFISS-LABEL: f3_hw:
@@ -460,9 +448,6 @@ define i32 @f3_hw() "hw-shadow-stack" {
460
448
define i32 @f4_hw () "hw-shadow-stack" {
461
449
; RV32-LABEL: f4_hw:
462
450
; RV32: # %bb.0:
463
- ; RV32-NEXT: addi gp, gp, 4
464
- ; RV32-NEXT: sw ra, -4(gp)
465
- ; RV32-NEXT: .cfi_escape 0x16, 0x03, 0x02, 0x73, 0x7c #
466
451
; RV32-NEXT: addi sp, sp, -16
467
452
; RV32-NEXT: .cfi_def_cfa_offset 16
468
453
; RV32-NEXT: sw ra, 12(sp) # 4-byte Folded Spill
@@ -488,16 +473,10 @@ define i32 @f4_hw() "hw-shadow-stack" {
488
473
; RV32-NEXT: lw s1, 4(sp) # 4-byte Folded Reload
489
474
; RV32-NEXT: lw s2, 0(sp) # 4-byte Folded Reload
490
475
; RV32-NEXT: addi sp, sp, 16
491
- ; RV32-NEXT: lw ra, -4(gp)
492
- ; RV32-NEXT: addi gp, gp, -4
493
- ; RV32-NEXT: .cfi_restore gp
494
476
; RV32-NEXT: ret
495
477
;
496
478
; RV64-LABEL: f4_hw:
497
479
; RV64: # %bb.0:
498
- ; RV64-NEXT: addi gp, gp, 8
499
- ; RV64-NEXT: sd ra, -8(gp)
500
- ; RV64-NEXT: .cfi_escape 0x16, 0x03, 0x02, 0x73, 0x78 #
501
480
; RV64-NEXT: addi sp, sp, -32
502
481
; RV64-NEXT: .cfi_def_cfa_offset 32
503
482
; RV64-NEXT: sd ra, 24(sp) # 8-byte Folded Spill
@@ -523,9 +502,6 @@ define i32 @f4_hw() "hw-shadow-stack" {
523
502
; RV64-NEXT: ld s1, 8(sp) # 8-byte Folded Reload
524
503
; RV64-NEXT: ld s2, 0(sp) # 8-byte Folded Reload
525
504
; RV64-NEXT: addi sp, sp, 32
526
- ; RV64-NEXT: ld ra, -8(gp)
527
- ; RV64-NEXT: addi gp, gp, -8
528
- ; RV64-NEXT: .cfi_restore gp
529
505
; RV64-NEXT: ret
530
506
;
531
507
; RV32-ZICFISS-LABEL: f4_hw:
@@ -602,28 +578,20 @@ define i32 @f4_hw() "hw-shadow-stack" {
602
578
define i32 @f5_hw () "hw-shadow-stack" nounwind {
603
579
; RV32-LABEL: f5_hw:
604
580
; RV32: # %bb.0:
605
- ; RV32-NEXT: addi gp, gp, 4
606
- ; RV32-NEXT: sw ra, -4(gp)
607
581
; RV32-NEXT: addi sp, sp, -16
608
582
; RV32-NEXT: sw ra, 12(sp) # 4-byte Folded Spill
609
583
; RV32-NEXT: call bar
610
584
; RV32-NEXT: lw ra, 12(sp) # 4-byte Folded Reload
611
585
; RV32-NEXT: addi sp, sp, 16
612
- ; RV32-NEXT: lw ra, -4(gp)
613
- ; RV32-NEXT: addi gp, gp, -4
614
586
; RV32-NEXT: ret
615
587
;
616
588
; RV64-LABEL: f5_hw:
617
589
; RV64: # %bb.0:
618
- ; RV64-NEXT: addi gp, gp, 8
619
- ; RV64-NEXT: sd ra, -8(gp)
620
590
; RV64-NEXT: addi sp, sp, -16
621
591
; RV64-NEXT: sd ra, 8(sp) # 8-byte Folded Spill
622
592
; RV64-NEXT: call bar
623
593
; RV64-NEXT: ld ra, 8(sp) # 8-byte Folded Reload
624
594
; RV64-NEXT: addi sp, sp, 16
625
- ; RV64-NEXT: ld ra, -8(gp)
626
- ; RV64-NEXT: addi gp, gp, -8
627
595
; RV64-NEXT: ret
628
596
;
629
597
; RV32-ZICFISS-LABEL: f5_hw:
0 commit comments