@@ -1442,33 +1442,17 @@ define void @foo_with_call() #1 {
1442
1442
;
1443
1443
; CHECK-RV64E-FD-LABEL: foo_with_call:
1444
1444
; CHECK-RV64E-FD: # %bb.0:
1445
- ; CHECK-RV64E-FD-NEXT: addi sp, sp, -464
1446
- ; CHECK-RV64E-FD-NEXT: sd ra, 456(sp) # 8-byte Folded Spill
1447
- ; CHECK-RV64E-FD-NEXT: sd t0, 448(sp) # 8-byte Folded Spill
1448
- ; CHECK-RV64E-FD-NEXT: sd t1, 440(sp) # 8-byte Folded Spill
1449
- ; CHECK-RV64E-FD-NEXT: sd t2, 432(sp) # 8-byte Folded Spill
1450
- ; CHECK-RV64E-FD-NEXT: sd a0, 424(sp) # 8-byte Folded Spill
1451
- ; CHECK-RV64E-FD-NEXT: sd a1, 416(sp) # 8-byte Folded Spill
1452
- ; CHECK-RV64E-FD-NEXT: sd a2, 408(sp) # 8-byte Folded Spill
1453
- ; CHECK-RV64E-FD-NEXT: sd a3, 400(sp) # 8-byte Folded Spill
1454
- ; CHECK-RV64E-FD-NEXT: sd a4, 392(sp) # 8-byte Folded Spill
1455
- ; CHECK-RV64E-FD-NEXT: sd a5, 384(sp) # 8-byte Folded Spill
1456
- ; CHECK-RV64E-FD-NEXT: sd a6, 376(sp) # 8-byte Folded Spill
1457
- ; CHECK-RV64E-FD-NEXT: sd a7, 368(sp) # 8-byte Folded Spill
1458
- ; CHECK-RV64E-FD-NEXT: sd s2, 360(sp) # 8-byte Folded Spill
1459
- ; CHECK-RV64E-FD-NEXT: sd s3, 352(sp) # 8-byte Folded Spill
1460
- ; CHECK-RV64E-FD-NEXT: sd s4, 344(sp) # 8-byte Folded Spill
1461
- ; CHECK-RV64E-FD-NEXT: sd s5, 336(sp) # 8-byte Folded Spill
1462
- ; CHECK-RV64E-FD-NEXT: sd s6, 328(sp) # 8-byte Folded Spill
1463
- ; CHECK-RV64E-FD-NEXT: sd s7, 320(sp) # 8-byte Folded Spill
1464
- ; CHECK-RV64E-FD-NEXT: sd s8, 312(sp) # 8-byte Folded Spill
1465
- ; CHECK-RV64E-FD-NEXT: sd s9, 304(sp) # 8-byte Folded Spill
1466
- ; CHECK-RV64E-FD-NEXT: sd s10, 296(sp) # 8-byte Folded Spill
1467
- ; CHECK-RV64E-FD-NEXT: sd s11, 288(sp) # 8-byte Folded Spill
1468
- ; CHECK-RV64E-FD-NEXT: sd t3, 280(sp) # 8-byte Folded Spill
1469
- ; CHECK-RV64E-FD-NEXT: sd t4, 272(sp) # 8-byte Folded Spill
1470
- ; CHECK-RV64E-FD-NEXT: sd t5, 264(sp) # 8-byte Folded Spill
1471
- ; CHECK-RV64E-FD-NEXT: sd t6, 256(sp) # 8-byte Folded Spill
1445
+ ; CHECK-RV64E-FD-NEXT: addi sp, sp, -336
1446
+ ; CHECK-RV64E-FD-NEXT: sd ra, 328(sp) # 8-byte Folded Spill
1447
+ ; CHECK-RV64E-FD-NEXT: sd t0, 320(sp) # 8-byte Folded Spill
1448
+ ; CHECK-RV64E-FD-NEXT: sd t1, 312(sp) # 8-byte Folded Spill
1449
+ ; CHECK-RV64E-FD-NEXT: sd t2, 304(sp) # 8-byte Folded Spill
1450
+ ; CHECK-RV64E-FD-NEXT: sd a0, 296(sp) # 8-byte Folded Spill
1451
+ ; CHECK-RV64E-FD-NEXT: sd a1, 288(sp) # 8-byte Folded Spill
1452
+ ; CHECK-RV64E-FD-NEXT: sd a2, 280(sp) # 8-byte Folded Spill
1453
+ ; CHECK-RV64E-FD-NEXT: sd a3, 272(sp) # 8-byte Folded Spill
1454
+ ; CHECK-RV64E-FD-NEXT: sd a4, 264(sp) # 8-byte Folded Spill
1455
+ ; CHECK-RV64E-FD-NEXT: sd a5, 256(sp) # 8-byte Folded Spill
1472
1456
; CHECK-RV64E-FD-NEXT: fsd ft0, 248(sp) # 8-byte Folded Spill
1473
1457
; CHECK-RV64E-FD-NEXT: fsd ft1, 240(sp) # 8-byte Folded Spill
1474
1458
; CHECK-RV64E-FD-NEXT: fsd ft2, 232(sp) # 8-byte Folded Spill
@@ -1502,32 +1486,16 @@ define void @foo_with_call() #1 {
1502
1486
; CHECK-RV64E-FD-NEXT: fsd ft10, 8(sp) # 8-byte Folded Spill
1503
1487
; CHECK-RV64E-FD-NEXT: fsd ft11, 0(sp) # 8-byte Folded Spill
1504
1488
; CHECK-RV64E-FD-NEXT: call otherfoo
1505
- ; CHECK-RV64E-FD-NEXT: ld ra, 456(sp) # 8-byte Folded Reload
1506
- ; CHECK-RV64E-FD-NEXT: ld t0, 448(sp) # 8-byte Folded Reload
1507
- ; CHECK-RV64E-FD-NEXT: ld t1, 440(sp) # 8-byte Folded Reload
1508
- ; CHECK-RV64E-FD-NEXT: ld t2, 432(sp) # 8-byte Folded Reload
1509
- ; CHECK-RV64E-FD-NEXT: ld a0, 424(sp) # 8-byte Folded Reload
1510
- ; CHECK-RV64E-FD-NEXT: ld a1, 416(sp) # 8-byte Folded Reload
1511
- ; CHECK-RV64E-FD-NEXT: ld a2, 408(sp) # 8-byte Folded Reload
1512
- ; CHECK-RV64E-FD-NEXT: ld a3, 400(sp) # 8-byte Folded Reload
1513
- ; CHECK-RV64E-FD-NEXT: ld a4, 392(sp) # 8-byte Folded Reload
1514
- ; CHECK-RV64E-FD-NEXT: ld a5, 384(sp) # 8-byte Folded Reload
1515
- ; CHECK-RV64E-FD-NEXT: ld a6, 376(sp) # 8-byte Folded Reload
1516
- ; CHECK-RV64E-FD-NEXT: ld a7, 368(sp) # 8-byte Folded Reload
1517
- ; CHECK-RV64E-FD-NEXT: ld s2, 360(sp) # 8-byte Folded Reload
1518
- ; CHECK-RV64E-FD-NEXT: ld s3, 352(sp) # 8-byte Folded Reload
1519
- ; CHECK-RV64E-FD-NEXT: ld s4, 344(sp) # 8-byte Folded Reload
1520
- ; CHECK-RV64E-FD-NEXT: ld s5, 336(sp) # 8-byte Folded Reload
1521
- ; CHECK-RV64E-FD-NEXT: ld s6, 328(sp) # 8-byte Folded Reload
1522
- ; CHECK-RV64E-FD-NEXT: ld s7, 320(sp) # 8-byte Folded Reload
1523
- ; CHECK-RV64E-FD-NEXT: ld s8, 312(sp) # 8-byte Folded Reload
1524
- ; CHECK-RV64E-FD-NEXT: ld s9, 304(sp) # 8-byte Folded Reload
1525
- ; CHECK-RV64E-FD-NEXT: ld s10, 296(sp) # 8-byte Folded Reload
1526
- ; CHECK-RV64E-FD-NEXT: ld s11, 288(sp) # 8-byte Folded Reload
1527
- ; CHECK-RV64E-FD-NEXT: ld t3, 280(sp) # 8-byte Folded Reload
1528
- ; CHECK-RV64E-FD-NEXT: ld t4, 272(sp) # 8-byte Folded Reload
1529
- ; CHECK-RV64E-FD-NEXT: ld t5, 264(sp) # 8-byte Folded Reload
1530
- ; CHECK-RV64E-FD-NEXT: ld t6, 256(sp) # 8-byte Folded Reload
1489
+ ; CHECK-RV64E-FD-NEXT: ld ra, 328(sp) # 8-byte Folded Reload
1490
+ ; CHECK-RV64E-FD-NEXT: ld t0, 320(sp) # 8-byte Folded Reload
1491
+ ; CHECK-RV64E-FD-NEXT: ld t1, 312(sp) # 8-byte Folded Reload
1492
+ ; CHECK-RV64E-FD-NEXT: ld t2, 304(sp) # 8-byte Folded Reload
1493
+ ; CHECK-RV64E-FD-NEXT: ld a0, 296(sp) # 8-byte Folded Reload
1494
+ ; CHECK-RV64E-FD-NEXT: ld a1, 288(sp) # 8-byte Folded Reload
1495
+ ; CHECK-RV64E-FD-NEXT: ld a2, 280(sp) # 8-byte Folded Reload
1496
+ ; CHECK-RV64E-FD-NEXT: ld a3, 272(sp) # 8-byte Folded Reload
1497
+ ; CHECK-RV64E-FD-NEXT: ld a4, 264(sp) # 8-byte Folded Reload
1498
+ ; CHECK-RV64E-FD-NEXT: ld a5, 256(sp) # 8-byte Folded Reload
1531
1499
; CHECK-RV64E-FD-NEXT: fld ft0, 248(sp) # 8-byte Folded Reload
1532
1500
; CHECK-RV64E-FD-NEXT: fld ft1, 240(sp) # 8-byte Folded Reload
1533
1501
; CHECK-RV64E-FD-NEXT: fld ft2, 232(sp) # 8-byte Folded Reload
@@ -1560,7 +1528,7 @@ define void @foo_with_call() #1 {
1560
1528
; CHECK-RV64E-FD-NEXT: fld ft9, 16(sp) # 8-byte Folded Reload
1561
1529
; CHECK-RV64E-FD-NEXT: fld ft10, 8(sp) # 8-byte Folded Reload
1562
1530
; CHECK-RV64E-FD-NEXT: fld ft11, 0(sp) # 8-byte Folded Reload
1563
- ; CHECK-RV64E-FD-NEXT: addi sp, sp, 464
1531
+ ; CHECK-RV64E-FD-NEXT: addi sp, sp, 336
1564
1532
; CHECK-RV64E-FD-NEXT: mret
1565
1533
%call = call i32 @otherfoo ()
1566
1534
ret void
@@ -2993,34 +2961,18 @@ define void @foo_fp_with_call() #2 {
2993
2961
;
2994
2962
; CHECK-RV64E-FD-LABEL: foo_fp_with_call:
2995
2963
; CHECK-RV64E-FD: # %bb.0:
2996
- ; CHECK-RV64E-FD-NEXT: addi sp, sp, -472
2997
- ; CHECK-RV64E-FD-NEXT: sd ra, 464(sp) # 8-byte Folded Spill
2998
- ; CHECK-RV64E-FD-NEXT: sd t0, 456(sp) # 8-byte Folded Spill
2999
- ; CHECK-RV64E-FD-NEXT: sd t1, 448(sp) # 8-byte Folded Spill
3000
- ; CHECK-RV64E-FD-NEXT: sd t2, 440(sp) # 8-byte Folded Spill
3001
- ; CHECK-RV64E-FD-NEXT: sd s0, 432(sp) # 8-byte Folded Spill
3002
- ; CHECK-RV64E-FD-NEXT: sd a0, 424(sp) # 8-byte Folded Spill
3003
- ; CHECK-RV64E-FD-NEXT: sd a1, 416(sp) # 8-byte Folded Spill
3004
- ; CHECK-RV64E-FD-NEXT: sd a2, 408(sp) # 8-byte Folded Spill
3005
- ; CHECK-RV64E-FD-NEXT: sd a3, 400(sp) # 8-byte Folded Spill
3006
- ; CHECK-RV64E-FD-NEXT: sd a4, 392(sp) # 8-byte Folded Spill
3007
- ; CHECK-RV64E-FD-NEXT: sd a5, 384(sp) # 8-byte Folded Spill
3008
- ; CHECK-RV64E-FD-NEXT: sd a6, 376(sp) # 8-byte Folded Spill
3009
- ; CHECK-RV64E-FD-NEXT: sd a7, 368(sp) # 8-byte Folded Spill
3010
- ; CHECK-RV64E-FD-NEXT: sd s2, 360(sp) # 8-byte Folded Spill
3011
- ; CHECK-RV64E-FD-NEXT: sd s3, 352(sp) # 8-byte Folded Spill
3012
- ; CHECK-RV64E-FD-NEXT: sd s4, 344(sp) # 8-byte Folded Spill
3013
- ; CHECK-RV64E-FD-NEXT: sd s5, 336(sp) # 8-byte Folded Spill
3014
- ; CHECK-RV64E-FD-NEXT: sd s6, 328(sp) # 8-byte Folded Spill
3015
- ; CHECK-RV64E-FD-NEXT: sd s7, 320(sp) # 8-byte Folded Spill
3016
- ; CHECK-RV64E-FD-NEXT: sd s8, 312(sp) # 8-byte Folded Spill
3017
- ; CHECK-RV64E-FD-NEXT: sd s9, 304(sp) # 8-byte Folded Spill
3018
- ; CHECK-RV64E-FD-NEXT: sd s10, 296(sp) # 8-byte Folded Spill
3019
- ; CHECK-RV64E-FD-NEXT: sd s11, 288(sp) # 8-byte Folded Spill
3020
- ; CHECK-RV64E-FD-NEXT: sd t3, 280(sp) # 8-byte Folded Spill
3021
- ; CHECK-RV64E-FD-NEXT: sd t4, 272(sp) # 8-byte Folded Spill
3022
- ; CHECK-RV64E-FD-NEXT: sd t5, 264(sp) # 8-byte Folded Spill
3023
- ; CHECK-RV64E-FD-NEXT: sd t6, 256(sp) # 8-byte Folded Spill
2964
+ ; CHECK-RV64E-FD-NEXT: addi sp, sp, -344
2965
+ ; CHECK-RV64E-FD-NEXT: sd ra, 336(sp) # 8-byte Folded Spill
2966
+ ; CHECK-RV64E-FD-NEXT: sd t0, 328(sp) # 8-byte Folded Spill
2967
+ ; CHECK-RV64E-FD-NEXT: sd t1, 320(sp) # 8-byte Folded Spill
2968
+ ; CHECK-RV64E-FD-NEXT: sd t2, 312(sp) # 8-byte Folded Spill
2969
+ ; CHECK-RV64E-FD-NEXT: sd s0, 304(sp) # 8-byte Folded Spill
2970
+ ; CHECK-RV64E-FD-NEXT: sd a0, 296(sp) # 8-byte Folded Spill
2971
+ ; CHECK-RV64E-FD-NEXT: sd a1, 288(sp) # 8-byte Folded Spill
2972
+ ; CHECK-RV64E-FD-NEXT: sd a2, 280(sp) # 8-byte Folded Spill
2973
+ ; CHECK-RV64E-FD-NEXT: sd a3, 272(sp) # 8-byte Folded Spill
2974
+ ; CHECK-RV64E-FD-NEXT: sd a4, 264(sp) # 8-byte Folded Spill
2975
+ ; CHECK-RV64E-FD-NEXT: sd a5, 256(sp) # 8-byte Folded Spill
3024
2976
; CHECK-RV64E-FD-NEXT: fsd ft0, 248(sp) # 8-byte Folded Spill
3025
2977
; CHECK-RV64E-FD-NEXT: fsd ft1, 240(sp) # 8-byte Folded Spill
3026
2978
; CHECK-RV64E-FD-NEXT: fsd ft2, 232(sp) # 8-byte Folded Spill
@@ -3053,35 +3005,19 @@ define void @foo_fp_with_call() #2 {
3053
3005
; CHECK-RV64E-FD-NEXT: fsd ft9, 16(sp) # 8-byte Folded Spill
3054
3006
; CHECK-RV64E-FD-NEXT: fsd ft10, 8(sp) # 8-byte Folded Spill
3055
3007
; CHECK-RV64E-FD-NEXT: fsd ft11, 0(sp) # 8-byte Folded Spill
3056
- ; CHECK-RV64E-FD-NEXT: addi s0, sp, 472
3008
+ ; CHECK-RV64E-FD-NEXT: addi s0, sp, 344
3057
3009
; CHECK-RV64E-FD-NEXT: call otherfoo
3058
- ; CHECK-RV64E-FD-NEXT: ld ra, 464(sp) # 8-byte Folded Reload
3059
- ; CHECK-RV64E-FD-NEXT: ld t0, 456(sp) # 8-byte Folded Reload
3060
- ; CHECK-RV64E-FD-NEXT: ld t1, 448(sp) # 8-byte Folded Reload
3061
- ; CHECK-RV64E-FD-NEXT: ld t2, 440(sp) # 8-byte Folded Reload
3062
- ; CHECK-RV64E-FD-NEXT: ld s0, 432(sp) # 8-byte Folded Reload
3063
- ; CHECK-RV64E-FD-NEXT: ld a0, 424(sp) # 8-byte Folded Reload
3064
- ; CHECK-RV64E-FD-NEXT: ld a1, 416(sp) # 8-byte Folded Reload
3065
- ; CHECK-RV64E-FD-NEXT: ld a2, 408(sp) # 8-byte Folded Reload
3066
- ; CHECK-RV64E-FD-NEXT: ld a3, 400(sp) # 8-byte Folded Reload
3067
- ; CHECK-RV64E-FD-NEXT: ld a4, 392(sp) # 8-byte Folded Reload
3068
- ; CHECK-RV64E-FD-NEXT: ld a5, 384(sp) # 8-byte Folded Reload
3069
- ; CHECK-RV64E-FD-NEXT: ld a6, 376(sp) # 8-byte Folded Reload
3070
- ; CHECK-RV64E-FD-NEXT: ld a7, 368(sp) # 8-byte Folded Reload
3071
- ; CHECK-RV64E-FD-NEXT: ld s2, 360(sp) # 8-byte Folded Reload
3072
- ; CHECK-RV64E-FD-NEXT: ld s3, 352(sp) # 8-byte Folded Reload
3073
- ; CHECK-RV64E-FD-NEXT: ld s4, 344(sp) # 8-byte Folded Reload
3074
- ; CHECK-RV64E-FD-NEXT: ld s5, 336(sp) # 8-byte Folded Reload
3075
- ; CHECK-RV64E-FD-NEXT: ld s6, 328(sp) # 8-byte Folded Reload
3076
- ; CHECK-RV64E-FD-NEXT: ld s7, 320(sp) # 8-byte Folded Reload
3077
- ; CHECK-RV64E-FD-NEXT: ld s8, 312(sp) # 8-byte Folded Reload
3078
- ; CHECK-RV64E-FD-NEXT: ld s9, 304(sp) # 8-byte Folded Reload
3079
- ; CHECK-RV64E-FD-NEXT: ld s10, 296(sp) # 8-byte Folded Reload
3080
- ; CHECK-RV64E-FD-NEXT: ld s11, 288(sp) # 8-byte Folded Reload
3081
- ; CHECK-RV64E-FD-NEXT: ld t3, 280(sp) # 8-byte Folded Reload
3082
- ; CHECK-RV64E-FD-NEXT: ld t4, 272(sp) # 8-byte Folded Reload
3083
- ; CHECK-RV64E-FD-NEXT: ld t5, 264(sp) # 8-byte Folded Reload
3084
- ; CHECK-RV64E-FD-NEXT: ld t6, 256(sp) # 8-byte Folded Reload
3010
+ ; CHECK-RV64E-FD-NEXT: ld ra, 336(sp) # 8-byte Folded Reload
3011
+ ; CHECK-RV64E-FD-NEXT: ld t0, 328(sp) # 8-byte Folded Reload
3012
+ ; CHECK-RV64E-FD-NEXT: ld t1, 320(sp) # 8-byte Folded Reload
3013
+ ; CHECK-RV64E-FD-NEXT: ld t2, 312(sp) # 8-byte Folded Reload
3014
+ ; CHECK-RV64E-FD-NEXT: ld s0, 304(sp) # 8-byte Folded Reload
3015
+ ; CHECK-RV64E-FD-NEXT: ld a0, 296(sp) # 8-byte Folded Reload
3016
+ ; CHECK-RV64E-FD-NEXT: ld a1, 288(sp) # 8-byte Folded Reload
3017
+ ; CHECK-RV64E-FD-NEXT: ld a2, 280(sp) # 8-byte Folded Reload
3018
+ ; CHECK-RV64E-FD-NEXT: ld a3, 272(sp) # 8-byte Folded Reload
3019
+ ; CHECK-RV64E-FD-NEXT: ld a4, 264(sp) # 8-byte Folded Reload
3020
+ ; CHECK-RV64E-FD-NEXT: ld a5, 256(sp) # 8-byte Folded Reload
3085
3021
; CHECK-RV64E-FD-NEXT: fld ft0, 248(sp) # 8-byte Folded Reload
3086
3022
; CHECK-RV64E-FD-NEXT: fld ft1, 240(sp) # 8-byte Folded Reload
3087
3023
; CHECK-RV64E-FD-NEXT: fld ft2, 232(sp) # 8-byte Folded Reload
@@ -3114,7 +3050,7 @@ define void @foo_fp_with_call() #2 {
3114
3050
; CHECK-RV64E-FD-NEXT: fld ft9, 16(sp) # 8-byte Folded Reload
3115
3051
; CHECK-RV64E-FD-NEXT: fld ft10, 8(sp) # 8-byte Folded Reload
3116
3052
; CHECK-RV64E-FD-NEXT: fld ft11, 0(sp) # 8-byte Folded Reload
3117
- ; CHECK-RV64E-FD-NEXT: addi sp, sp, 472
3053
+ ; CHECK-RV64E-FD-NEXT: addi sp, sp, 344
3118
3054
; CHECK-RV64E-FD-NEXT: mret
3119
3055
%call = call i32 @otherfoo ()
3120
3056
ret void
0 commit comments