Changeset 3606 in CLRX


Ignore:
Timestamp:
Jan 10, 2018, 4:28:45 PM (7 days ago)
Author:
matszpk
Message:

CLRadeonExtender: AsmRegAlloc?: Add next more complex testcase.

File:
1 edited

Legend:

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

    r3605 r3606  
    17021702        {   // SSA replaces
    17031703            { { "sa", 0 }, { { 9, 6 }, { 19, 16 } } }
     1704        },
     1705        true, ""
     1706    },
     1707    {   // 10 - two branches with various SSAIds
     1708        R"ffDXD(.regvar sa:s:8, va:v:8
     1709        # block 0
     1710        s_mov_b32 sa[0], s2
     1711        s_mov_b32 sa[1], s3
     1712        s_mov_b32 sa[2], s4
     1713        s_mov_b32 sa[3], s5
     1714       
     1715        s_cmp_lt_u32 s0, s1
     1716        s_cbranch_scc1 bb1
     1717       
     1718        # block 1, bb0
     1719bb0:    s_add_u32 sa[3], sa[3], s1   # replace from this
     1720        s_add_u32 sa[3], sa[3], s2
     1721        s_cbranch_scc1 bb01
     1722       
     1723        # block 2, bb00
     1724        s_add_u32 sa[2], sa[2], sa[1]   # replace from this
     1725        s_add_u32 sa[3], sa[3], sa[2]
     1726        s_endpgm
     1727
     1728bb01:   s_add_u32 sa[2], sa[2], sa[1]
     1729        s_add_u32 sa[2], sa[2], sa[0]
     1730        s_add_u32 sa[3], sa[3], sa[2]
     1731        s_endpgm
     1732       
     1733bb1:    s_xor_b32 sa[2], sa[2], sa[0]
     1734        s_xor_b32 sa[3], sa[3], sa[1]
     1735        s_branch bb0
     1736)ffDXD",
     1737        {
     1738            // block 0 - start
     1739            { 0, 24,
     1740                { { 1, false }, { 4, false } },
     1741                {
     1742                    { { "", 0 }, SSAInfo(0, 0, 0, 0, 0, true) },
     1743                    { { "", 1 }, SSAInfo(0, 0, 0, 0, 0, true) },
     1744                    { { "", 2 }, SSAInfo(0, 0, 0, 0, 0, true) },
     1745                    { { "", 3 }, SSAInfo(0, 0, 0, 0, 0, true) },
     1746                    { { "", 4 }, SSAInfo(0, 0, 0, 0, 0, true) },
     1747                    { { "", 5 }, SSAInfo(0, 0, 0, 0, 0, true) },
     1748                    { { "sa", 0 }, SSAInfo(0, 1, 1, 1, 1, false) },
     1749                    { { "sa", 1 }, SSAInfo(0, 1, 1, 1, 1, false) },
     1750                    { { "sa", 2 }, SSAInfo(0, 1, 1, 1, 1, false) },
     1751                    { { "sa", 3 }, SSAInfo(0, 1, 1, 1, 1, false) }
     1752                }, false, false, false },
     1753            // block 1 - bb0
     1754            { 24, 36,
     1755                { { 2, false }, { 3, false } },
     1756                {
     1757                    { { "", 1 }, SSAInfo(0, 0, 0, 0, 0, true) },
     1758                    { { "", 2 }, SSAInfo(0, 0, 0, 0, 0, true) },
     1759                    { { "sa", 3 }, SSAInfo(1, 2, 2, 3, 2, true) }
     1760                }, false, false, false },
     1761            // block 2 - bb00
     1762            { 36, 48,
     1763                { },
     1764                {
     1765                    { { "sa", 1 }, SSAInfo(1, SIZE_MAX, 2, SIZE_MAX, 0, true) },
     1766                    { { "sa", 2 }, SSAInfo(1, 2, 2, 2, 1, true) },
     1767                    { { "sa", 3 }, SSAInfo(3, 4, 4, 4, 1, true) }
     1768                }, false, false, true },
     1769            // block 3 - bb01
     1770            { 48, 64,
     1771                { },
     1772                {
     1773                    { { "sa", 0 }, SSAInfo(1, SIZE_MAX, 2, SIZE_MAX, 0, true) },
     1774                    { { "sa", 1 }, SSAInfo(1, SIZE_MAX, 2, SIZE_MAX, 0, true) },
     1775                    { { "sa", 2 }, SSAInfo(1, 3, 3, 4, 2, true) },
     1776                    { { "sa", 3 }, SSAInfo(3, 5, 5, 5, 1, true) }
     1777                }, false, false, true },
     1778            // block 4 - bb1
     1779            { 64, 76,
     1780                { { 1, false } },
     1781                {
     1782                    { { "sa", 0 }, SSAInfo(1, SIZE_MAX, 2, SIZE_MAX, 0, true) },
     1783                    { { "sa", 1 }, SSAInfo(1, SIZE_MAX, 2, SIZE_MAX, 0, true) },
     1784                    { { "sa", 2 }, SSAInfo(1, 5, 5, 5, 1, true) },
     1785                    { { "sa", 3 }, SSAInfo(1, 6, 6, 6, 1, true) }
     1786                }, false, false, true }
     1787        },
     1788        {   // SSA replaces
     1789            { { "sa", 2 }, { { 5, 1 } } },
     1790            { { "sa", 3 }, { { 6, 1 } } }
    17041791        },
    17051792        true, ""
Note: See TracChangeset for help on using the changeset viewer.