Changeset 4145 in CLRX


Ignore:
Timestamp:
May 11, 2018, 4:14:17 PM (6 months ago)
Author:
matszpk
Message:

CLRadeonExtender: AsmRegAlloc?: Add next testcase with join inside routines.

File:
1 edited

Legend:

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

    r4144 r4145  
    18401840            { 4, { { { 5 }, { }, { }, { } } } },
    18411841            { 6, { { { 5 }, { }, { }, { } } } }
     1842        },
     1843        true, ""
     1844    },
     1845    {   // 29 - two routines with var sharing (output-input) 2
     1846        R"ffDXD(.regvar sa:s:8, va:v:8, xa:s:8
     1847        s_mov_b32 sa[2], s4             # 0
     1848       
     1849        .cf_call routine
     1850        s_swappc_b64 s[0:1], s[2:3]     # 4
     1851       
     1852        s_sub_u32 sa[3], sa[2], sa[1]   # 8
     1853        .cf_jump a0, a1, a2
     1854        s_setpc_b64 s[2:3]              # 12
     1855       
     1856a0:     s_branch mp                     # 16
     1857       
     1858a1:     s_branch mp                     # 20
     1859       
     1860a2:     s_branch mp                     # 24
     1861       
     1862mp:     .cf_call routine2
     1863        s_swappc_b64 s[0:1], s[2:3]     # 28
     1864        s_xor_b32 sa[2], sa[2], sa[0]   # 32
     1865        s_endpgm                        # 36
     1866       
     1867routine:
     1868        s_and_b32 sa[2], sa[2], sa[1]   # 40
     1869        .cf_ret
     1870        s_setpc_b64 s[0:1]              # 44
     1871       
     1872routine2:
     1873        s_cbranch_vccz r2_1             # 48
     1874r2_0:   s_and_b32 sa[2], sa[2], sa[1]   # 52
     1875        .cf_ret
     1876        s_setpc_b64 s[0:1]              # 56
     1877r2_1:   s_and_b32 sa[2], sa[2], sa[1]   # 60
     1878        s_xor_b32 sa[3], sa[3], sa[1]   # 64
     1879        .cf_ret
     1880        s_setpc_b64 s[0:1]              # 68
     1881)ffDXD",
     1882        {   // livenesses
     1883            {   // for SGPRs
     1884                { { 5, 8 }, { 29, 32 }, { 40, 45 }, { 48, 57 }, { 60, 69 } }, // 0: S0
     1885                { { 5, 8 }, { 29, 32 }, { 40, 45 }, { 48, 57 }, { 60, 69 } }, // 1: S1
     1886                { { 0, 29 } }, // 2: S2
     1887                { { 0, 29 } }, // 3: S3
     1888                { { 0, 1 } }, // 4: S4
     1889                { { 0, 33 } }, // 5: sa[0]'0
     1890                { { 0, 32 }, { 40, 53 }, { 60, 65 } }, // 6: sa[1]'0
     1891                { { 1, 8 }, { 40, 41 } }, // 7: sa[2]'0
     1892                { { 8, 32 }, { 41, 53 }, { 60, 61 } }, // 8: sa[2]'1
     1893                { { 32, 33 }, { 53, 60 }, { 61, 72 } }, // 9: sa[2]'2
     1894                { { 33, 34 } }, // 10: sa[2]'3
     1895                { { 9, 32 }, { 48, 52 }, { 60, 65 } }, // 11: sa[3]'0
     1896                { { 65, 66 } }  // 12: sa[3]'1
     1897            },
     1898            { },
     1899            { },
     1900            { }
     1901        },
     1902        { }, // linearDepMaps
     1903        {   // vidxRoutineMap
     1904            { 7, { { { 0, 1, 6, 7, 8 }, { }, { }, { } } } },
     1905            { 8, { { { 0, 1, 6, 8, 9, 11, 12 }, { }, { }, { } } } }
     1906        },
     1907        {   // vidxCallMap
     1908            { 0, { { { 2, 3, 5 }, { }, { }, { } } } },
     1909            { 5, { { { 5 }, { }, { }, { } } } }
    18421910        },
    18431911        true, ""
Note: See TracChangeset for help on using the changeset viewer.