Changeset 4142 in CLRX


Ignore:
Timestamp:
May 11, 2018, 11:46:14 AM (2 months ago)
Author:
matszpk
Message:

CLRadeonExtender: AsmRegAlloc?: Add testcase with routine with loop (with normal regs).

File:
1 edited

Legend:

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

    r4141 r4142  
    17101710        {   // vidxRoutineMap
    17111711            { 2, { { { 0, 1, 5, 6, 7, 8 }, { }, { }, { } } } }
     1712        },
     1713        { }, // vidxCallMap
     1714        true, ""
     1715    },
     1716    {   // 27 - routine with loop (normal register instead regvar)
     1717        R"ffDXD(.regvar sa:s:8, va:v:8, xa:s:8
     1718        s_mov_b32 s6, s4                # 0
     1719       
     1720        .cf_call routine
     1721        s_swappc_b64 s[0:1], s[2:3]     # 4
     1722       
     1723        s_xor_b32 s6, s6, sa[0]         # 8
     1724        s_endpgm                        # 12
     1725       
     1726routine:
     1727        s_and_b32 s6, s6, sa[1]         # 16
     1728loop0:
     1729        s_cbranch_vccz b1               # 20
     1730b0:     s_cbranch_scc0 loop0            # 24
     1731        s_branch ret2                   # 28
     1732       
     1733b1:     s_and_b32 s6, sa[0], sa[1]      # 32
     1734        s_cbranch_scc0 loop0            # 36
     1735        .cf_ret
     1736        s_setpc_b64 s[0:1]              # 40
     1737ret2:
     1738        .cf_ret
     1739        s_setpc_b64 s[0:1]              # 44
     1740)ffDXD",
     1741        {   // livenesses
     1742            {   // for SGPRs
     1743                { { 5, 8 }, { 16, 41 }, { 44, 45 } }, // 0: S0
     1744                { { 5, 8 }, { 16, 41 }, { 44, 45 } }, // 1: S1
     1745                { { 0, 5 } }, // 2: S2
     1746                { { 0, 5 } }, // 3: S3
     1747                { { 0, 1 } }, // 4: S4
     1748                { { 1, 10 }, { 16, 48 } }, // 5: s6
     1749                { { 0, 9 }, { 16, 48 } }, // 6: sa[0]'0
     1750                { { 0, 8 }, { 16, 28 }, { 32, 40 } } // 7: sa[1]'0
     1751            },
     1752            { },
     1753            { },
     1754            { }
     1755        },
     1756        { }, // linearDepMaps
     1757        {   // vidxRoutineMap
     1758            { 2, { { { 0, 1, 5, 6, 7 }, { }, { }, { } } } }
    17121759        },
    17131760        { }, // vidxCallMap
Note: See TracChangeset for help on using the changeset viewer.