Changeset 3895 in CLRX


Ignore:
Timestamp:
Mar 12, 2018, 6:10:00 PM (6 weeks ago)
Author:
matszpk
Message:

CLRadeonExtender: AsmRegAlloc?: Add yet another testcase to RetSSA testing.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • CLRadeonExtender/trunk/tests/amdasm/AsmRegAllocCase2.cpp

    r3894 r3895  
    16761676        true, ""
    16771677    },
     1678    {   // 10 - retssa tests 2
     1679        R"ffDXD(.regvar sa:s:10, va:v:8
     1680        s_mov_b32 sa[2], s4
     1681        s_mov_b32 sa[3], s5
     1682        .cf_call routine
     1683        s_swappc_b64 s[0:1], s[2:3]
     1684       
     1685        s_xor_b32 sa[4], sa[4], sa[1]
     1686        s_cbranch_execz aa1
     1687       
     1688aa0:    .cf_call routine2
     1689        s_swappc_b64 s[0:1], s[2:3]
     1690       
     1691        s_and_b32 sa[3], sa[3], sa[0]
     1692        s_endpgm
     1693       
     1694aa1:    s_xor_b32 sa[4], sa[4], sa[1]
     1695        s_and_b32 sa[2], sa[2], sa[0]
     1696        s_endpgm
     1697       
     1698routine:
     1699        s_xor_b32 sa[2], sa[2], sa[0]
     1700        s_cbranch_vccz bb1
     1701       
     1702bb0:    s_min_u32 sa[2], sa[2], sa[0]
     1703        .cf_ret
     1704        s_setpc_b64 s[0:1]
     1705       
     1706bb1:    s_and_b32 sa[2], sa[2], sa[0]
     1707        .cf_ret
     1708        s_setpc_b64 s[0:1]
     1709       
     1710routine2:
     1711        s_xor_b32 sa[2], sa[1], sa[0]
     1712        s_xor_b32 sa[3], sa[3], sa[0]
     1713        s_cbranch_vccz cc1
     1714       
     1715cc0:    s_min_u32 sa[3], sa[3], sa[0]
     1716        s_xor_b32 sa[2], sa[1], sa[0]
     1717        .cf_ret
     1718        s_setpc_b64 s[0:1]
     1719       
     1720cc1:    s_and_b32 sa[3], sa[3], sa[0]
     1721        s_xor_b32 sa[2], sa[1], sa[0]
     1722        .cf_ret
     1723        s_setpc_b64 s[0:1]
     1724)ffDXD",
     1725        {
     1726            {   // block 0 - start
     1727                0, 12,
     1728                { { 5, true } },
     1729                {
     1730                    { { "", 0 }, SSAInfo(0, 0, 0, 0, 0, false) },
     1731                    { { "", 1 }, SSAInfo(0, 0, 0, 0, 0, false) },
     1732                    { { "", 2 }, SSAInfo(0, 0, 0, 0, 0, true) },
     1733                    { { "", 3 }, SSAInfo(0, 0, 0, 0, 0, true) },
     1734                    { { "", 4 }, SSAInfo(0, 0, 0, 0, 0, true) },
     1735                    { { "", 5 }, SSAInfo(0, 0, 0, 0, 0, true) },
     1736                    { { "sa", 2 }, SSAInfo(0, 1, 1, 1, 1, false) },
     1737                    { { "sa", 3 }, SSAInfo(0, 1, 1, 1, 1, false) }
     1738                }, true, false, false },
     1739            {   // block 1 - after routine call
     1740                12, 20,
     1741                { { 2, false }, { 4, false } },
     1742                {
     1743                    { { "sa", 1 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     1744                    { { "sa", 4 }, SSAInfo(0, 1, 1, 1, 1, true) }
     1745                }, false, false, false },
     1746            {   // block 2 - aa0
     1747                20, 24,
     1748                { { 8, true } },
     1749                {
     1750                    { { "", 0 }, SSAInfo(0, 0, 0, 0, 0, false) },
     1751                    { { "", 1 }, SSAInfo(0, 0, 0, 0, 0, false) },
     1752                    { { "", 2 }, SSAInfo(0, 0, 0, 0, 0, true) },
     1753                    { { "", 3 }, SSAInfo(0, 0, 0, 0, 0, true) }
     1754                }, true, false, false },
     1755            {   // block 3 - after routine2 call
     1756                24, 32,
     1757                { },
     1758                {
     1759                    { { "sa", 0 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     1760                    { { "sa", 3 }, SSAInfo(3, 5, 5, 5, 1, true) }
     1761                }, false, false, true },
     1762            {   // block 4 - aa1
     1763                32, 44,
     1764                { },
     1765                {
     1766                    { { "sa", 0 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     1767                    { { "sa", 1 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     1768                    { { "sa", 2 }, SSAInfo(3, 8, 8, 8, 1, true) },
     1769                    { { "sa", 4 }, SSAInfo(1, 2, 2, 2, 1, true) }
     1770                }, false, false, true },
     1771            {   // block 5 - routine
     1772                44, 52,
     1773                { { 6, false }, { 7, false } },
     1774                {
     1775                    { { "sa", 0 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     1776                    { { "sa", 2 }, SSAInfo(1, 2, 2, 2, 1, true) }
     1777                }, false, false, false },
     1778            {   // block 6 - bb0
     1779                52, 60,
     1780                { },
     1781                {
     1782                    { { "", 0 }, SSAInfo(0, 0, 0, 0, 0, true) },
     1783                    { { "", 1 }, SSAInfo(0, 0, 0, 0, 0, true) },
     1784                    { { "sa", 0 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     1785                    { { "sa", 2 }, SSAInfo(2, 3, 3, 3, 1, true) }
     1786                }, false, true, true },
     1787            {   // block 7 - bb1
     1788                60, 68,
     1789                { },
     1790                {
     1791                    { { "", 0 }, SSAInfo(0, 0, 0, 0, 0, true) },
     1792                    { { "", 1 }, SSAInfo(0, 0, 0, 0, 0, true) },
     1793                    { { "sa", 0 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     1794                    { { "sa", 2 }, SSAInfo(2, 4, 4, 4, 1, true) }
     1795                }, false, true, true },
     1796            {   // block 8 - routine2
     1797                68, 80,
     1798                { { 9, false }, { 10, false } },
     1799                {
     1800                    { { "sa", 0 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     1801                    { { "sa", 1 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     1802                    { { "sa", 2 }, SSAInfo(1, 5, 5, 5, 1, false) },
     1803                    { { "sa", 3 }, SSAInfo(1, 2, 2, 2, 1, true) }
     1804                }, false, false, false },
     1805            {   // block 9 - cc0
     1806                80, 92,
     1807                { },
     1808                {
     1809                    { { "", 0 }, SSAInfo(0, 0, 0, 0, 0, true) },
     1810                    { { "", 1 }, SSAInfo(0, 0, 0, 0, 0, true) },
     1811                    { { "sa", 0 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     1812                    { { "sa", 1 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     1813                    { { "sa", 2 }, SSAInfo(5, 6, 6, 6, 1, false) },
     1814                    { { "sa", 3 }, SSAInfo(2, 3, 3, 3, 1, true) }
     1815                }, false, true, true },
     1816            {   // block 10 - cc1
     1817                92, 104,
     1818                { },
     1819                {
     1820                    { { "", 0 }, SSAInfo(0, 0, 0, 0, 0, true) },
     1821                    { { "", 1 }, SSAInfo(0, 0, 0, 0, 0, true) },
     1822                    { { "sa", 0 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     1823                    { { "sa", 1 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     1824                    { { "sa", 2 }, SSAInfo(5, 7, 7, 7, 1, false) },
     1825                    { { "sa", 3 }, SSAInfo(2, 4, 4, 4, 1, true) }
     1826                }, false, true, true }
     1827        },
     1828        {   // SSA replaces
     1829            { { "sa", 2 }, { { 4, 3 } } },
     1830            { { "sa", 3 }, { { 4, 3 } } }
     1831        },
     1832        true, ""
     1833    },
    16781834    { nullptr }
    16791835};
Note: See TracChangeset for help on using the changeset viewer.