@@ -1012,18 +1012,22 @@ 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
1016
1015
; ASM32PWR4-NEXT: li 6, 4
1017
1016
; 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
1021
1020
; 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: li 10, 8
1025
- ; ASM32PWR4-NEXT: stfd 2, 60(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
1026
1029
; ASM32PWR4-NEXT: stfs 1, 56(1)
1030
+ ; ASM32PWR4-NEXT: stw 11, 60(1)
1027
1031
; ASM32PWR4-NEXT: bl .test_stackarg_float[PR]
1028
1032
; ASM32PWR4-NEXT: nop
1029
1033
; ASM32PWR4-NEXT: addi 1, 1, 80
@@ -1126,20 +1130,24 @@ define void @call_test_stackarg_float3() {
1126
1130
; ASM32PWR4-NEXT: stwu 1, -80(1)
1127
1131
; ASM32PWR4-NEXT: lwz 3, L..C9(2) # @d
1128
1132
; ASM32PWR4-NEXT: stw 0, 88(1)
1129
- ; ASM32PWR4-NEXT: li 4, 2
1130
1133
; ASM32PWR4-NEXT: li 5, 3
1131
1134
; ASM32PWR4-NEXT: li 6, 4
1132
1135
; ASM32PWR4-NEXT: li 7, 5
1136
+ ; ASM32PWR4-NEXT: li 8, 6
1133
1137
; ASM32PWR4-NEXT: lfd 1, 0(3)
1134
1138
; ASM32PWR4-NEXT: lwz 3, L..C8(2) # @f
1135
- ; ASM32PWR4-NEXT: li 8, 6
1136
1139
; ASM32PWR4-NEXT: li 9, 7
1137
1140
; ASM32PWR4-NEXT: stfd 1, 72(1)
1138
- ; ASM32PWR4-NEXT: lwz 10, 72(1)
1139
1141
; ASM32PWR4-NEXT: lfs 2, 0(3)
1140
1142
; 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
1141
1149
; ASM32PWR4-NEXT: stfs 2, 60(1)
1142
- ; ASM32PWR4-NEXT: stfd 1 , 52(1)
1150
+ ; ASM32PWR4-NEXT: stw 11 , 52(1)
1143
1151
; ASM32PWR4-NEXT: bl .test_stackarg_float3[PR]
1144
1152
; ASM32PWR4-NEXT: nop
1145
1153
; ASM32PWR4-NEXT: addi 1, 1, 80
@@ -1562,95 +1570,99 @@ define void @caller_fpr_stack() {
1562
1570
; ASM32PWR4-LABEL: caller_fpr_stack:
1563
1571
; ASM32PWR4: # %bb.0: # %entry
1564
1572
; ASM32PWR4-NEXT: mflr 0
1565
- ; ASM32PWR4-NEXT: stwu 1, -144 (1)
1573
+ ; ASM32PWR4-NEXT: stwu 1, -160 (1)
1566
1574
; ASM32PWR4-NEXT: lwz 3, L..C19(2) # @d15
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
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
1572
1578
; ASM32PWR4-NEXT: lfd 0, 0(3)
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
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
1627
1626
; ASM32PWR4-NEXT: lfd 3, 0(5)
1628
1627
; ASM32PWR4-NEXT: lwz 5, L..C25(2) # %const.3
1629
- ; ASM32PWR4-NEXT: lfd 4, 0(6 )
1630
- ; ASM32PWR4-NEXT: lwz 6 , L..C26(2) # %const.4
1628
+ ; ASM32PWR4-NEXT: lfd 4, 0(3 )
1629
+ ; ASM32PWR4-NEXT: lwz 3 , L..C26(2) # %const.4
1631
1630
; ASM32PWR4-NEXT: lfd 6, 0(5)
1632
1631
; ASM32PWR4-NEXT: lwz 5, L..C27(2) # %const.5
1633
- ; ASM32PWR4-NEXT: lfd 7, 0(6)
1634
- ; ASM32PWR4-NEXT: lwz 6, L..C28(2) # %const.6
1632
+ ; ASM32PWR4-NEXT: lwz 4, 0(4)
1633
+ ; ASM32PWR4-NEXT: lfd 7, 0(3)
1634
+ ; ASM32PWR4-NEXT: lwz 3, 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: lfd 9, 0(6)
1638
- ; ASM32PWR4-NEXT: lwz 6, L..C30(2) # %const.8
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
1639
1642
; ASM32PWR4-NEXT: lfd 1, 0(5)
1640
1643
; ASM32PWR4-NEXT: lwz 5, L..C31(2) # %const.9
1641
- ; ASM32PWR4-NEXT: lfd 11, 0(6 )
1642
- ; ASM32PWR4-NEXT: lwz 6, L..C32(2) # %const.10
1644
+ ; ASM32PWR4-NEXT: stw 4, 80(1 )
1645
+ ; ASM32PWR4-NEXT: lis 4, -13108
1643
1646
; 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
1644
1650
; ASM32PWR4-NEXT: lfd 12, 0(5)
1645
1651
; ASM32PWR4-NEXT: lwz 5, L..C33(2) # %const.11
1646
- ; ASM32PWR4-NEXT: lfd 13, 0(6)
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)
1647
1659
; ASM32PWR4-NEXT: lfs 5, 0(5)
1648
- ; ASM32PWR4-NEXT: stfd 0, 132 (1)
1649
- ; ASM32PWR4-NEXT: stw 4, 140 (1)
1650
- ; ASM32PWR4-NEXT: stw 3, 128 (1)
1660
+ ; ASM32PWR4-NEXT: lwz 3, 152 (1)
1661
+ ; ASM32PWR4-NEXT: stw 4, 136 (1)
1662
+ ; ASM32PWR4-NEXT: stw 3, 132 (1)
1651
1663
; ASM32PWR4-NEXT: bl .test_fpr_stack
1652
1664
; ASM32PWR4-NEXT: nop
1653
- ; ASM32PWR4-NEXT: addi 1, 1, 144
1665
+ ; ASM32PWR4-NEXT: addi 1, 1, 160
1654
1666
; ASM32PWR4-NEXT: lwz 0, 8(1)
1655
1667
; ASM32PWR4-NEXT: mtlr 0
1656
1668
; ASM32PWR4-NEXT: blr
@@ -1667,7 +1679,6 @@ define void @caller_fpr_stack() {
1667
1679
; ASM64PWR4-NEXT: lis 7, 16313
1668
1680
; ASM64PWR4-NEXT: lwz 3, 0(3)
1669
1681
; ASM64PWR4-NEXT: ld 4, 0(4)
1670
- ; ASM64PWR4-NEXT: lwz 5, 0(5)
1671
1682
; ASM64PWR4-NEXT: stw 3, 152(1)
1672
1683
; ASM64PWR4-NEXT: ld 3, L..C22(2) # %const.0
1673
1684
; ASM64PWR4-NEXT: std 4, 160(1)
@@ -1686,6 +1697,7 @@ define void @caller_fpr_stack() {
1686
1697
; ASM64PWR4-NEXT: ld 4, L..C29(2) # %const.7
1687
1698
; ASM64PWR4-NEXT: lfd 9, 0(3)
1688
1699
; ASM64PWR4-NEXT: ld 3, L..C30(2) # %const.8
1700
+ ; ASM64PWR4-NEXT: lwz 5, 0(5)
1689
1701
; ASM64PWR4-NEXT: lfd 1, 0(4)
1690
1702
; ASM64PWR4-NEXT: lis 4, 16320
1691
1703
; ASM64PWR4-NEXT: ori 4, 4, 41943
0 commit comments