Changeset 3601 in CLRX


Ignore:
Timestamp:
Jan 9, 2018, 8:48:40 PM (9 months ago)
Author:
matszpk
Message:

CLRadeonExtender: AsmRegAlloc?: Next createSSAData testcase.

Location:
CLRadeonExtender/trunk
Files:
2 edited

Legend:

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

    r3599 r3601  
    946946    }
    947947}
    948    
     948
    949949void AsmRegAllocator::applySSAReplaces()
    950950{
  • CLRadeonExtender/trunk/tests/amdasm/AsmRegAlloc.cpp

    r3600 r3601  
    12941294            { { "va", 0 }, { { 4, 2 } } },
    12951295            { { "va", 1 }, { { 2, 1 } } }
     1296        },
     1297        true, ""
     1298    },
     1299    {   // 7 - branches
     1300        R"ffDXD(.regvar sa:s:8, va:v:8
     1301        # block 0
     1302        s_mov_b32 sa[0], s0
     1303        s_mov_b32 sa[1], s1
     1304        s_mov_b32 sa[2], s2
     1305        s_add_u32 sa[0], sa[1], sa[2]
     1306        s_mov_b32 sa[3], 31
     1307        s_mov_b32 sa[4], 11
     1308        s_cbranch_scc0 pp0
     1309       
     1310        # block 1
     1311bb0:    s_xor_b32 sa[1], sa[1], sa[0]
     1312        s_xor_b32 sa[1], 122, sa[1]
     1313        s_xor_b32 sa[2], sa[1], sa[0]
     1314        s_cbranch_scc0 pp1
     1315       
     1316        # block 2
     1317        s_xor_b32 sa[0], 122, sa[0]
     1318        s_xor_b32 sa[2], sa[0], sa[2]
     1319        s_bfe_u32 sa[3], sa[2], sa[0]
     1320        s_endpgm
     1321       
     1322        # block 3
     1323pp1:    s_xor_b32 sa[1], sa[0], sa[1]
     1324        s_and_b32 sa[0], sa[0], sa[1]
     1325        s_xor_b32 sa[2], sa[0], sa[1]
     1326        s_bfe_u32 sa[4], sa[4], sa[0]
     1327        s_endpgm
     1328       
     1329        # block 4
     1330pp0:    s_xor_b32 sa[1], sa[1], sa[0]
     1331        s_sub_u32 sa[0], sa[1], sa[0]
     1332        s_xor_b32 sa[1], sa[1], sa[0]
     1333        s_xor_b32 sa[1], sa[1], sa[0]
     1334        s_add_u32 sa[0], sa[1], sa[0]
     1335        s_xor_b32 sa[2], sa[1], sa[2]
     1336        s_add_u32 sa[2], sa[0], sa[0]
     1337        s_cbranch_scc0 pp2
     1338       
     1339        # block 5
     1340        s_xor_b32 sa[2], sa[1], sa[2]
     1341        s_add_u32 sa[2], sa[0], sa[0]
     1342        s_xor_b32 sa[2], sa[1], sa[2]
     1343        s_sub_u32 sa[4], sa[4], sa[0]
     1344        s_sub_u32 sa[4], sa[4], sa[2]
     1345        s_branch bb0
     1346       
     1347        # block 6
     1348pp2:    s_xor_b32 sa[1], sa[1], sa[0]
     1349        s_xor_b32 sa[0], sa[1], sa[2]
     1350        s_add_u32 sa[0], sa[1], sa[2]
     1351        s_and_b32 sa[3], sa[3], sa[0]
     1352        s_bfe_u32 sa[3], sa[3], sa[4]
     1353        s_bfe_u32 sa[3], sa[3], sa[1]
     1354        s_branch bb0
     1355)ffDXD",
     1356        {
     1357            // block 0
     1358            { 0, 28,
     1359                { { 1, false }, { 4, false } },
     1360                {
     1361                    { { "", 0 }, SSAInfo(0, 0, 0, 0, 0, true) },
     1362                    { { "", 1 }, SSAInfo(0, 0, 0, 0, 0, true) },
     1363                    { { "", 2 }, SSAInfo(0, 0, 0, 0, 0, true) },
     1364                    { { "sa", 0 }, SSAInfo(0, 1, 1, 2, 2, false) },
     1365                    { { "sa", 1 }, SSAInfo(0, 1, 1, 1, 1, false) },
     1366                    { { "sa", 2 }, SSAInfo(0, 1, 1, 1, 1, false) },
     1367                    { { "sa", 3 }, SSAInfo(0, 1, 1, 1, 1, false) },
     1368                    { { "sa", 4 }, SSAInfo(0, 1, 1, 1, 1, false) }
     1369                }, false, false, false },
     1370            // block 1
     1371            { 28, 48,
     1372                { { 2, false }, { 3, false } },
     1373                {
     1374                    { { "sa", 0 }, SSAInfo(2, SIZE_MAX, 3, SIZE_MAX, 0, true) },
     1375                    { { "sa", 1 }, SSAInfo(1, 2, 2, 3, 2, true) },
     1376                    { { "sa", 2 }, SSAInfo(1, 2, 2, 2, 1, false) },
     1377                }, false, false, false },
     1378            // block 2
     1379            { 48, 68,
     1380                { },
     1381                {
     1382                    { { "sa", 0 }, SSAInfo(2, 3, 3, 3, 1, true) },
     1383                    { { "sa", 2 }, SSAInfo(2, 3, 3, 3, 1, true) },
     1384                    { { "sa", 3 }, SSAInfo(1, 2, 2, 2, 1, false) }
     1385                }, false, false, true },
     1386            // block 3
     1387            { 68, 88,
     1388                { },
     1389                {
     1390                    { { "sa", 0 }, SSAInfo(2, 4, 4, 4, 1, true) },
     1391                    { { "sa", 1 }, SSAInfo(3, 4, 4, 4, 1, true) },
     1392                    { { "sa", 2 }, SSAInfo(2, 4, 4, 4, 1, false) },
     1393                    { { "sa", 4 }, SSAInfo(1, 2, 2, 2, 1, true) }
     1394                }, false, false, true },
     1395            // block 4
     1396            { 88, 120,
     1397                { { 5, false }, { 6, false } },
     1398                {
     1399                    { { "sa", 0 }, SSAInfo(2, 5, 5, 6, 2, true) },
     1400                    { { "sa", 1 }, SSAInfo(1, 5, 5, 7, 3, true) },
     1401                    { { "sa", 2 }, SSAInfo(1, 5, 5, 6, 2, true) }
     1402                }, false, false, false },
     1403            // block 5
     1404            { 120, 144,
     1405                { { 1, false } },
     1406                {
     1407                    { { "sa", 0 }, SSAInfo(6, SIZE_MAX, 7, SIZE_MAX, 0, true) },
     1408                    { { "sa", 1 }, SSAInfo(7, SIZE_MAX, 8, SIZE_MAX, 0, true) },
     1409                    { { "sa", 2 }, SSAInfo(6, 7, 7, 9, 3, true) },
     1410                    { { "sa", 4 }, SSAInfo(1, 3, 3, 4, 2, true) }
     1411                }, false, false, true },
     1412            // block 6
     1413            { 144, 172,
     1414                { { 1, false } },
     1415                {
     1416                    { { "sa", 0 }, SSAInfo(6, 7, 7, 8, 2, true) },
     1417                    { { "sa", 1 }, SSAInfo(7, 8, 8, 8, 1, true) },
     1418                    { { "sa", 2 }, SSAInfo(6, SIZE_MAX, 10, SIZE_MAX, 0, true) },
     1419                    { { "sa", 3 }, SSAInfo(1, 3, 3, 5, 3, true) },
     1420                    { { "sa", 4 }, SSAInfo(1, SIZE_MAX, 5, SIZE_MAX, 0, true) }
     1421                }, false, false, true }
     1422        },
     1423        {
     1424            { { "sa", 0 }, { { 6, 2 }, { 8, 2 } } },
     1425            { { "sa", 1 }, { { 7, 1 }, { 8, 1 } } },
     1426            { { "sa", 2 }, { { 9, 2 }, { 6, 2 } } },
     1427            { { "sa", 3 }, { { 5, 2 } } },
     1428            { { "sa", 4 }, { { 4, 1 } } }
    12961429        },
    12971430        true, ""
Note: See TracChangeset for help on using the changeset viewer.