@@ -1012,22 +1012,18 @@ define void @call_test_stackarg_float() {
10121012; ASM32PWR4-NEXT: lwz 3, L..C8(2) # @f
10131013; ASM32PWR4-NEXT: stw 0, 88(1)
10141014; ASM32PWR4-NEXT: li 4, 2
1015+ ; ASM32PWR4-NEXT: li 5, 3
10151016; ASM32PWR4-NEXT: li 6, 4
10161017; ASM32PWR4-NEXT: li 7, 5
1017- ; ASM32PWR4-NEXT: li 8, 6
10181018; ASM32PWR4-NEXT: lfs 1, 0(3)
10191019; ASM32PWR4-NEXT: lwz 3, L..C9(2) # @d
1020+ ; ASM32PWR4-NEXT: li 8, 6
10201021; ASM32PWR4-NEXT: li 9, 7
1021- ; ASM32PWR4-NEXT: li 10, 8
10221022; ASM32PWR4-NEXT: lfd 2, 0(3)
10231023; 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)
10291026; ASM32PWR4-NEXT: stfs 1, 56(1)
1030- ; ASM32PWR4-NEXT: stw 11, 60(1)
10311027; ASM32PWR4-NEXT: bl .test_stackarg_float[PR]
10321028; ASM32PWR4-NEXT: nop
10331029; ASM32PWR4-NEXT: addi 1, 1, 80
@@ -1130,24 +1126,20 @@ define void @call_test_stackarg_float3() {
11301126; ASM32PWR4-NEXT: stwu 1, -80(1)
11311127; ASM32PWR4-NEXT: lwz 3, L..C9(2) # @d
11321128; ASM32PWR4-NEXT: stw 0, 88(1)
1129+ ; ASM32PWR4-NEXT: li 4, 2
11331130; ASM32PWR4-NEXT: li 5, 3
11341131; ASM32PWR4-NEXT: li 6, 4
11351132; ASM32PWR4-NEXT: li 7, 5
1136- ; ASM32PWR4-NEXT: li 8, 6
11371133; ASM32PWR4-NEXT: lfd 1, 0(3)
11381134; ASM32PWR4-NEXT: lwz 3, L..C8(2) # @f
1135+ ; ASM32PWR4-NEXT: li 8, 6
11391136; ASM32PWR4-NEXT: li 9, 7
11401137; ASM32PWR4-NEXT: stfd 1, 72(1)
1138+ ; ASM32PWR4-NEXT: lwz 10, 72(1)
11411139; ASM32PWR4-NEXT: lfs 2, 0(3)
11421140; 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
11491141; ASM32PWR4-NEXT: stfs 2, 60(1)
1150- ; ASM32PWR4-NEXT: stw 11 , 52(1)
1142+ ; ASM32PWR4-NEXT: stfd 1 , 52(1)
11511143; ASM32PWR4-NEXT: bl .test_stackarg_float3[PR]
11521144; ASM32PWR4-NEXT: nop
11531145; ASM32PWR4-NEXT: addi 1, 1, 80
@@ -1570,99 +1562,95 @@ define void @caller_fpr_stack() {
15701562; ASM32PWR4-LABEL: caller_fpr_stack:
15711563; ASM32PWR4: # %bb.0: # %entry
15721564; ASM32PWR4-NEXT: mflr 0
1573- ; ASM32PWR4-NEXT: stwu 1, -160 (1)
1565+ ; ASM32PWR4-NEXT: stwu 1, -144 (1)
15741566; 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
15781572; 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
16261627; ASM32PWR4-NEXT: lfd 3, 0(5)
16271628; 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
16301631; ASM32PWR4-NEXT: lfd 6, 0(5)
16311632; 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
16351635; ASM32PWR4-NEXT: lfd 8, 0(5)
16361636; 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
16421639; ASM32PWR4-NEXT: lfd 1, 0(5)
16431640; 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
16461643; 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
16501644; ASM32PWR4-NEXT: lfd 12, 0(5)
16511645; 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)
16591647; 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)
16631651; ASM32PWR4-NEXT: bl .test_fpr_stack
16641652; ASM32PWR4-NEXT: nop
1665- ; ASM32PWR4-NEXT: addi 1, 1, 160
1653+ ; ASM32PWR4-NEXT: addi 1, 1, 144
16661654; ASM32PWR4-NEXT: lwz 0, 8(1)
16671655; ASM32PWR4-NEXT: mtlr 0
16681656; ASM32PWR4-NEXT: blr
0 commit comments