@@ -1442,33 +1442,17 @@ define void @foo_with_call() #1 {
14421442;
14431443; CHECK-RV64E-FD-LABEL: foo_with_call:
14441444; 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
14721456; CHECK-RV64E-FD-NEXT: fsd ft0, 248(sp) # 8-byte Folded Spill
14731457; CHECK-RV64E-FD-NEXT: fsd ft1, 240(sp) # 8-byte Folded Spill
14741458; CHECK-RV64E-FD-NEXT: fsd ft2, 232(sp) # 8-byte Folded Spill
@@ -1502,32 +1486,16 @@ define void @foo_with_call() #1 {
15021486; CHECK-RV64E-FD-NEXT: fsd ft10, 8(sp) # 8-byte Folded Spill
15031487; CHECK-RV64E-FD-NEXT: fsd ft11, 0(sp) # 8-byte Folded Spill
15041488; 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
15311499; CHECK-RV64E-FD-NEXT: fld ft0, 248(sp) # 8-byte Folded Reload
15321500; CHECK-RV64E-FD-NEXT: fld ft1, 240(sp) # 8-byte Folded Reload
15331501; CHECK-RV64E-FD-NEXT: fld ft2, 232(sp) # 8-byte Folded Reload
@@ -1560,7 +1528,7 @@ define void @foo_with_call() #1 {
15601528; CHECK-RV64E-FD-NEXT: fld ft9, 16(sp) # 8-byte Folded Reload
15611529; CHECK-RV64E-FD-NEXT: fld ft10, 8(sp) # 8-byte Folded Reload
15621530; 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
15641532; CHECK-RV64E-FD-NEXT: mret
15651533 %call = call i32 @otherfoo ()
15661534 ret void
@@ -2993,34 +2961,18 @@ define void @foo_fp_with_call() #2 {
29932961;
29942962; CHECK-RV64E-FD-LABEL: foo_fp_with_call:
29952963; 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
30242976; CHECK-RV64E-FD-NEXT: fsd ft0, 248(sp) # 8-byte Folded Spill
30252977; CHECK-RV64E-FD-NEXT: fsd ft1, 240(sp) # 8-byte Folded Spill
30262978; CHECK-RV64E-FD-NEXT: fsd ft2, 232(sp) # 8-byte Folded Spill
@@ -3053,35 +3005,19 @@ define void @foo_fp_with_call() #2 {
30533005; CHECK-RV64E-FD-NEXT: fsd ft9, 16(sp) # 8-byte Folded Spill
30543006; CHECK-RV64E-FD-NEXT: fsd ft10, 8(sp) # 8-byte Folded Spill
30553007; 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
30573009; 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
30853021; CHECK-RV64E-FD-NEXT: fld ft0, 248(sp) # 8-byte Folded Reload
30863022; CHECK-RV64E-FD-NEXT: fld ft1, 240(sp) # 8-byte Folded Reload
30873023; CHECK-RV64E-FD-NEXT: fld ft2, 232(sp) # 8-byte Folded Reload
@@ -3114,7 +3050,7 @@ define void @foo_fp_with_call() #2 {
31143050; CHECK-RV64E-FD-NEXT: fld ft9, 16(sp) # 8-byte Folded Reload
31153051; CHECK-RV64E-FD-NEXT: fld ft10, 8(sp) # 8-byte Folded Reload
31163052; 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
31183054; CHECK-RV64E-FD-NEXT: mret
31193055 %call = call i32 @otherfoo ()
31203056 ret void
0 commit comments