@@ -1012,22 +1012,18 @@ define void @call_test_stackarg_float() {
1012
1012
; ASM32PWR4-NEXT: lwz 3, L..C8(2) # @f
1013
1013
; ASM32PWR4-NEXT: stw 0, 88(1)
1014
1014
; ASM32PWR4-NEXT: li 4, 2
1015
+ ; ASM32PWR4-NEXT: li 5, 3
1015
1016
; ASM32PWR4-NEXT: li 6, 4
1016
1017
; ASM32PWR4-NEXT: li 7, 5
1017
- ; ASM32PWR4-NEXT: li 8, 6
1018
1018
; ASM32PWR4-NEXT: lfs 1, 0(3)
1019
1019
; ASM32PWR4-NEXT: lwz 3, L..C9(2) # @d
1020
+ ; ASM32PWR4-NEXT: li 8, 6
1020
1021
; ASM32PWR4-NEXT: li 9, 7
1021
- ; ASM32PWR4-NEXT: li 10, 8
1022
1022
; ASM32PWR4-NEXT: lfd 2, 0(3)
1023
1023
; ASM32PWR4-NEXT: li 3, 1
1024
- ; ASM32PWR4-NEXT: stfd 2, 72(1)
1025
- ; ASM32PWR4-NEXT: lwz 5, 76(1)
1026
- ; ASM32PWR4-NEXT: lwz 11, 72(1)
1027
- ; ASM32PWR4-NEXT: stw 5, 64(1)
1028
- ; ASM32PWR4-NEXT: li 5, 3
1024
+ ; ASM32PWR4-NEXT: li 10, 8
1025
+ ; ASM32PWR4-NEXT: stfd 2, 60(1)
1029
1026
; ASM32PWR4-NEXT: stfs 1, 56(1)
1030
- ; ASM32PWR4-NEXT: stw 11, 60(1)
1031
1027
; ASM32PWR4-NEXT: bl .test_stackarg_float[PR]
1032
1028
; ASM32PWR4-NEXT: nop
1033
1029
; ASM32PWR4-NEXT: addi 1, 1, 80
@@ -1130,24 +1126,20 @@ define void @call_test_stackarg_float3() {
1130
1126
; ASM32PWR4-NEXT: stwu 1, -80(1)
1131
1127
; ASM32PWR4-NEXT: lwz 3, L..C9(2) # @d
1132
1128
; ASM32PWR4-NEXT: stw 0, 88(1)
1129
+ ; ASM32PWR4-NEXT: li 4, 2
1133
1130
; ASM32PWR4-NEXT: li 5, 3
1134
1131
; ASM32PWR4-NEXT: li 6, 4
1135
1132
; ASM32PWR4-NEXT: li 7, 5
1136
- ; ASM32PWR4-NEXT: li 8, 6
1137
1133
; ASM32PWR4-NEXT: lfd 1, 0(3)
1138
1134
; ASM32PWR4-NEXT: lwz 3, L..C8(2) # @f
1135
+ ; ASM32PWR4-NEXT: li 8, 6
1139
1136
; ASM32PWR4-NEXT: li 9, 7
1140
1137
; ASM32PWR4-NEXT: stfd 1, 72(1)
1138
+ ; ASM32PWR4-NEXT: lwz 10, 72(1)
1141
1139
; ASM32PWR4-NEXT: lfs 2, 0(3)
1142
1140
; ASM32PWR4-NEXT: li 3, 1
1143
- ; ASM32PWR4-NEXT: stfd 1, 64(1)
1144
- ; ASM32PWR4-NEXT: lwz 4, 68(1)
1145
- ; ASM32PWR4-NEXT: lwz 10, 72(1)
1146
- ; ASM32PWR4-NEXT: lwz 11, 64(1)
1147
- ; ASM32PWR4-NEXT: stw 4, 56(1)
1148
- ; ASM32PWR4-NEXT: li 4, 2
1149
1141
; ASM32PWR4-NEXT: stfs 2, 60(1)
1150
- ; ASM32PWR4-NEXT: stw 11 , 52(1)
1142
+ ; ASM32PWR4-NEXT: stfd 1 , 52(1)
1151
1143
; ASM32PWR4-NEXT: bl .test_stackarg_float3[PR]
1152
1144
; ASM32PWR4-NEXT: nop
1153
1145
; ASM32PWR4-NEXT: addi 1, 1, 80
@@ -1570,99 +1562,95 @@ define void @caller_fpr_stack() {
1570
1562
; ASM32PWR4-LABEL: caller_fpr_stack:
1571
1563
; ASM32PWR4: # %bb.0: # %entry
1572
1564
; ASM32PWR4-NEXT: mflr 0
1573
- ; ASM32PWR4-NEXT: stwu 1, -160 (1)
1565
+ ; ASM32PWR4-NEXT: stwu 1, -144 (1)
1574
1566
; ASM32PWR4-NEXT: lwz 3, L..C19(2) # @d15
1575
- ; ASM32PWR4-NEXT: stw 0, 168(1)
1576
- ; ASM32PWR4-NEXT: lwz 5, L..C20(2) # %const.1
1577
- ; ASM32PWR4-NEXT: lwz 4, L..C21(2) # @f14
1567
+ ; ASM32PWR4-NEXT: lwz 4, L..C20(2) # @f14
1568
+ ; ASM32PWR4-NEXT: lwz 5, L..C21(2) # @f16
1569
+ ; ASM32PWR4-NEXT: stw 0, 152(1)
1570
+ ; ASM32PWR4-NEXT: lis 6, 16361
1571
+ ; ASM32PWR4-NEXT: ori 6, 6, 39321
1578
1572
; ASM32PWR4-NEXT: lfd 0, 0(3)
1579
- ; ASM32PWR4-NEXT: lwz 3, L..C22(2) # @f16
1580
- ; ASM32PWR4-NEXT: lwz 3, 0(3)
1581
- ; ASM32PWR4-NEXT: stw 3, 140(1)
1582
- ; ASM32PWR4-NEXT: li 3, 0
1583
- ; ASM32PWR4-NEXT: stw 3, 60(1)
1584
- ; ASM32PWR4-NEXT: lis 3, 16352
1585
- ; ASM32PWR4-NEXT: stw 3, 56(1)
1586
- ; ASM32PWR4-NEXT: lis 3, 13107
1587
- ; ASM32PWR4-NEXT: ori 3, 3, 13107
1588
- ; ASM32PWR4-NEXT: stw 3, 68(1)
1589
- ; ASM32PWR4-NEXT: lis 3, 16355
1590
- ; ASM32PWR4-NEXT: ori 3, 3, 13107
1591
- ; ASM32PWR4-NEXT: stw 3, 64(1)
1592
- ; ASM32PWR4-NEXT: lis 3, 26214
1593
- ; ASM32PWR4-NEXT: ori 3, 3, 26214
1594
- ; ASM32PWR4-NEXT: stw 3, 76(1)
1595
- ; ASM32PWR4-NEXT: lis 3, 16358
1596
- ; ASM32PWR4-NEXT: ori 3, 3, 26214
1597
- ; ASM32PWR4-NEXT: stw 3, 72(1)
1598
- ; ASM32PWR4-NEXT: lis 3, -26215
1599
- ; ASM32PWR4-NEXT: ori 3, 3, 39322
1600
- ; ASM32PWR4-NEXT: stw 3, 84(1)
1601
- ; ASM32PWR4-NEXT: stw 3, 100(1)
1602
- ; ASM32PWR4-NEXT: lis 3, 16313
1603
- ; ASM32PWR4-NEXT: ori 3, 3, 39321
1604
- ; ASM32PWR4-NEXT: stw 3, 96(1)
1605
- ; ASM32PWR4-NEXT: lis 3, -15729
1606
- ; ASM32PWR4-NEXT: ori 3, 3, 23593
1607
- ; ASM32PWR4-NEXT: stw 3, 108(1)
1608
- ; ASM32PWR4-NEXT: lis 3, 16316
1609
- ; ASM32PWR4-NEXT: ori 3, 3, 10485
1610
- ; ASM32PWR4-NEXT: stw 3, 104(1)
1611
- ; ASM32PWR4-NEXT: lis 3, -5243
1612
- ; ASM32PWR4-NEXT: ori 3, 3, 7864
1613
- ; ASM32PWR4-NEXT: stw 3, 116(1)
1614
- ; ASM32PWR4-NEXT: lis 3, 16318
1615
- ; ASM32PWR4-NEXT: ori 3, 3, 47185
1616
- ; ASM32PWR4-NEXT: stw 3, 112(1)
1617
- ; ASM32PWR4-NEXT: lis 3, 2621
1618
- ; ASM32PWR4-NEXT: ori 3, 3, 28836
1619
- ; ASM32PWR4-NEXT: stw 3, 124(1)
1620
- ; ASM32PWR4-NEXT: lis 3, 16320
1621
- ; ASM32PWR4-NEXT: ori 3, 3, 41943
1622
- ; ASM32PWR4-NEXT: stw 3, 120(1)
1623
- ; ASM32PWR4-NEXT: lwz 3, L..C23(2) # %const.0
1624
- ; ASM32PWR4-NEXT: lfd 2, 0(3)
1625
- ; ASM32PWR4-NEXT: lwz 3, L..C24(2) # %const.2
1573
+ ; ASM32PWR4-NEXT: lwz 3, 0(4)
1574
+ ; ASM32PWR4-NEXT: lwz 4, 0(5)
1575
+ ; ASM32PWR4-NEXT: li 5, 0
1576
+ ; ASM32PWR4-NEXT: stw 5, 60(1)
1577
+ ; ASM32PWR4-NEXT: lis 5, 16352
1578
+ ; ASM32PWR4-NEXT: stw 5, 56(1)
1579
+ ; ASM32PWR4-NEXT: lis 5, 13107
1580
+ ; ASM32PWR4-NEXT: ori 5, 5, 13107
1581
+ ; ASM32PWR4-NEXT: stw 5, 68(1)
1582
+ ; ASM32PWR4-NEXT: lis 5, 16355
1583
+ ; ASM32PWR4-NEXT: ori 5, 5, 13107
1584
+ ; ASM32PWR4-NEXT: stw 5, 64(1)
1585
+ ; ASM32PWR4-NEXT: lis 5, 26214
1586
+ ; ASM32PWR4-NEXT: ori 5, 5, 26214
1587
+ ; ASM32PWR4-NEXT: stw 5, 76(1)
1588
+ ; ASM32PWR4-NEXT: lis 5, 16358
1589
+ ; ASM32PWR4-NEXT: ori 5, 5, 26214
1590
+ ; ASM32PWR4-NEXT: stw 5, 72(1)
1591
+ ; ASM32PWR4-NEXT: lis 5, -26215
1592
+ ; ASM32PWR4-NEXT: ori 5, 5, 39322
1593
+ ; ASM32PWR4-NEXT: stw 5, 84(1)
1594
+ ; ASM32PWR4-NEXT: stw 5, 100(1)
1595
+ ; ASM32PWR4-NEXT: lis 5, 16313
1596
+ ; ASM32PWR4-NEXT: ori 5, 5, 39321
1597
+ ; ASM32PWR4-NEXT: stw 5, 96(1)
1598
+ ; ASM32PWR4-NEXT: lis 5, -15729
1599
+ ; ASM32PWR4-NEXT: ori 5, 5, 23593
1600
+ ; ASM32PWR4-NEXT: stw 5, 108(1)
1601
+ ; ASM32PWR4-NEXT: lis 5, 16316
1602
+ ; ASM32PWR4-NEXT: ori 5, 5, 10485
1603
+ ; ASM32PWR4-NEXT: stw 5, 104(1)
1604
+ ; ASM32PWR4-NEXT: lis 5, -5243
1605
+ ; ASM32PWR4-NEXT: ori 5, 5, 7864
1606
+ ; ASM32PWR4-NEXT: stw 5, 116(1)
1607
+ ; ASM32PWR4-NEXT: lis 5, 16318
1608
+ ; ASM32PWR4-NEXT: ori 5, 5, 47185
1609
+ ; ASM32PWR4-NEXT: stw 6, 80(1)
1610
+ ; ASM32PWR4-NEXT: lis 6, -13108
1611
+ ; ASM32PWR4-NEXT: ori 6, 6, 52429
1612
+ ; ASM32PWR4-NEXT: stw 5, 112(1)
1613
+ ; ASM32PWR4-NEXT: lis 5, 2621
1614
+ ; ASM32PWR4-NEXT: ori 5, 5, 28836
1615
+ ; ASM32PWR4-NEXT: stw 6, 92(1)
1616
+ ; ASM32PWR4-NEXT: lis 6, 16364
1617
+ ; ASM32PWR4-NEXT: ori 6, 6, 52428
1618
+ ; ASM32PWR4-NEXT: stw 5, 124(1)
1619
+ ; ASM32PWR4-NEXT: lis 5, 16320
1620
+ ; ASM32PWR4-NEXT: ori 5, 5, 41943
1621
+ ; ASM32PWR4-NEXT: stw 6, 88(1)
1622
+ ; ASM32PWR4-NEXT: lwz 6, L..C22(2) # %const.0
1623
+ ; ASM32PWR4-NEXT: stw 5, 120(1)
1624
+ ; ASM32PWR4-NEXT: lwz 5, L..C23(2) # %const.1
1625
+ ; ASM32PWR4-NEXT: lfd 2, 0(6)
1626
+ ; ASM32PWR4-NEXT: lwz 6, L..C24(2) # %const.2
1626
1627
; ASM32PWR4-NEXT: lfd 3, 0(5)
1627
1628
; ASM32PWR4-NEXT: lwz 5, L..C25(2) # %const.3
1628
- ; ASM32PWR4-NEXT: lfd 4, 0(3 )
1629
- ; ASM32PWR4-NEXT: lwz 3 , L..C26(2) # %const.4
1629
+ ; ASM32PWR4-NEXT: lfd 4, 0(6 )
1630
+ ; ASM32PWR4-NEXT: lwz 6 , L..C26(2) # %const.4
1630
1631
; ASM32PWR4-NEXT: lfd 6, 0(5)
1631
1632
; ASM32PWR4-NEXT: lwz 5, L..C27(2) # %const.5
1632
- ; ASM32PWR4-NEXT: lwz 4, 0(4)
1633
- ; ASM32PWR4-NEXT: lfd 7, 0(3)
1634
- ; ASM32PWR4-NEXT: lwz 3, L..C28(2) # %const.6
1633
+ ; ASM32PWR4-NEXT: lfd 7, 0(6)
1634
+ ; ASM32PWR4-NEXT: lwz 6, L..C28(2) # %const.6
1635
1635
; ASM32PWR4-NEXT: lfd 8, 0(5)
1636
1636
; ASM32PWR4-NEXT: lwz 5, L..C29(2) # %const.7
1637
- ; ASM32PWR4-NEXT: stw 4, 128(1)
1638
- ; ASM32PWR4-NEXT: lis 4, 16361
1639
- ; ASM32PWR4-NEXT: ori 4, 4, 39321
1640
- ; ASM32PWR4-NEXT: lfd 9, 0(3)
1641
- ; ASM32PWR4-NEXT: lwz 3, L..C30(2) # %const.8
1637
+ ; ASM32PWR4-NEXT: lfd 9, 0(6)
1638
+ ; ASM32PWR4-NEXT: lwz 6, L..C30(2) # %const.8
1642
1639
; ASM32PWR4-NEXT: lfd 1, 0(5)
1643
1640
; ASM32PWR4-NEXT: lwz 5, L..C31(2) # %const.9
1644
- ; ASM32PWR4-NEXT: stw 4, 80(1 )
1645
- ; ASM32PWR4-NEXT: lis 4, -13108
1641
+ ; ASM32PWR4-NEXT: lfd 11, 0(6 )
1642
+ ; ASM32PWR4-NEXT: lwz 6, L..C32(2) # %const.10
1646
1643
; ASM32PWR4-NEXT: fmr 10, 1
1647
- ; ASM32PWR4-NEXT: ori 4, 4, 52429
1648
- ; ASM32PWR4-NEXT: lfd 11, 0(3)
1649
- ; ASM32PWR4-NEXT: lwz 3, L..C32(2) # %const.10
1650
1644
; ASM32PWR4-NEXT: lfd 12, 0(5)
1651
1645
; ASM32PWR4-NEXT: lwz 5, L..C33(2) # %const.11
1652
- ; ASM32PWR4-NEXT: stw 4, 92(1)
1653
- ; ASM32PWR4-NEXT: lis 4, 16364
1654
- ; ASM32PWR4-NEXT: ori 4, 4, 52428
1655
- ; ASM32PWR4-NEXT: stfd 0, 152(1)
1656
- ; ASM32PWR4-NEXT: stw 4, 88(1)
1657
- ; ASM32PWR4-NEXT: lwz 4, 156(1)
1658
- ; ASM32PWR4-NEXT: lfd 13, 0(3)
1646
+ ; ASM32PWR4-NEXT: lfd 13, 0(6)
1659
1647
; ASM32PWR4-NEXT: lfs 5, 0(5)
1660
- ; ASM32PWR4-NEXT: lwz 3, 152 (1)
1661
- ; ASM32PWR4-NEXT: stw 4, 136 (1)
1662
- ; ASM32PWR4-NEXT: stw 3, 132 (1)
1648
+ ; ASM32PWR4-NEXT: stfd 0, 132 (1)
1649
+ ; ASM32PWR4-NEXT: stw 4, 140 (1)
1650
+ ; ASM32PWR4-NEXT: stw 3, 128 (1)
1663
1651
; ASM32PWR4-NEXT: bl .test_fpr_stack
1664
1652
; ASM32PWR4-NEXT: nop
1665
- ; ASM32PWR4-NEXT: addi 1, 1, 160
1653
+ ; ASM32PWR4-NEXT: addi 1, 1, 144
1666
1654
; ASM32PWR4-NEXT: lwz 0, 8(1)
1667
1655
; ASM32PWR4-NEXT: mtlr 0
1668
1656
; ASM32PWR4-NEXT: blr
0 commit comments