Changeset 3858 in CLRX


Ignore:
Timestamp:
Feb 27, 2018, 7:46:30 PM (14 months ago)
Author:
matszpk
Message:

CLRadeonExtender: AsmRegAlloc?: Add new testcase (for res first cache testing).

Location:
CLRadeonExtender/trunk
Files:
2 edited

Legend:

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

    r3857 r3858  
    2525#include <utility>
    2626#include <unordered_set>
    27 #include <initializer_list>
    2827#include <map>
    2928#include <set>
  • CLRadeonExtender/trunk/tests/amdasm/AsmRegAlloc.cpp

    r3854 r3858  
    35193519        },
    35203520        true, ""
    3521     }
     3521    },
     3522    {  // 28 - res second point cache test 1
     3523        R"ffDXD(.regvar sa:s:8, va:v:8, xa:s:8
     3524        s_mov_b32 sa[2], s4
     3525        s_mov_b32 sa[3], s5
     3526        s_mov_b32 sa[4], s6
     3527        .cf_cjump aa0, bb0, cc0
     3528        s_setpc_b64 s[0:1]
     3529       
     3530        s_mov_b32 sa[3], s3
     3531        s_mov_b32 sa[6], s3
     3532        s_branch mainx
     3533       
     3534aa0:    s_mov_b32 sa[2], s2
     3535        s_mov_b32 sa[6], s2
     3536        s_cbranch_scc0 mainx
     3537       
     3538        s_mov_b32 sa[4], s5
     3539        s_branch mainx
     3540
     3541bb0:    v_mov_b32 va[3], 4
     3542        v_mov_b32 va[2], v6
     3543        s_cbranch_scc0 mainy
     3544       
     3545        v_mov_b32 va[0], v6
     3546        v_mov_b32 va[4], v6
     3547        s_branch mainy
     3548       
     3549cc0:    s_mov_b32 xa[3], 4
     3550        s_mov_b32 xa[4], 4
     3551        s_cbranch_scc0 mainz
     3552       
     3553        s_mov_b32 xa[0], s6
     3554        s_mov_b32 xa[3], s6
     3555        s_branch mainz
     3556       
     3557mainx:
     3558        s_add_u32 sa[2], sa[2], sa[7]
     3559        s_add_u32 sa[3], sa[3], sa[7]
     3560        s_sub_u32 sa[4], sa[4], sa[7]
     3561        s_add_u32 sa[5], sa[5], sa[7]
     3562       
     3563        v_xor_b32 va[2], va[2], va[1]
     3564        s_add_u32 xa[0], xa[0], xa[7]
     3565        s_cbranch_scc0 mainz
     3566       
     3567mainy:
     3568        v_xor_b32 va[0], va[0], va[1]
     3569        v_xor_b32 va[2], va[2], va[1]
     3570        v_xor_b32 va[3], va[3], va[1]
     3571        v_xor_b32 va[4], va[4], va[1]
     3572        s_endpgm
     3573       
     3574mainz:
     3575        s_add_u32 xa[0], xa[0], xa[7]
     3576        s_add_u32 xa[3], xa[3], xa[7]
     3577        s_sub_u32 xa[4], xa[4], xa[7]
     3578        s_add_u32 xa[5], xa[5], xa[7]
     3579        s_add_u32 sa[6], sa[6], sa[7]
     3580        s_endpgm
     3581)ffDXD",
     3582        {
     3583            {   // block 0 - start
     3584                0, 16,
     3585                { { 1, false }, { 2, false }, { 4, false }, { 6, false } },
     3586                {
     3587                    { { "", 0 }, SSAInfo(0, 0, 0, 0, 0, true) },
     3588                    { { "", 1 }, SSAInfo(0, 0, 0, 0, 0, true) },
     3589                    { { "", 4 }, SSAInfo(0, 0, 0, 0, 0, true) },
     3590                    { { "", 5 }, SSAInfo(0, 0, 0, 0, 0, true) },
     3591                    { { "", 6 }, SSAInfo(0, 0, 0, 0, 0, true) },
     3592                    { { "sa", 2 }, SSAInfo(0, 1, 1, 1, 1, false) },
     3593                    { { "sa", 3 }, SSAInfo(0, 1, 1, 1, 1, false) },
     3594                    { { "sa", 4 }, SSAInfo(0, 1, 1, 1, 1, false) }
     3595                }, false, false, false },
     3596            {   // block 1 - before aa0
     3597                16, 28,
     3598                { { 8, false } },
     3599                {
     3600                    { { "", 3 }, SSAInfo(0, 0, 0, 0, 0, true) },
     3601                    { { "sa", 3 }, SSAInfo(1, 2, 2, 2, 1, false) },
     3602                    { { "sa", 6 }, SSAInfo(0, 1, 1, 1, 1, false) }
     3603                }, false, false, true },
     3604            {   // block 2 - aa0
     3605                28, 40,
     3606                { { 3, false }, { 8, false } },
     3607                {
     3608                    { { "", 2 }, SSAInfo(0, 0, 0, 0, 0, true) },
     3609                    { { "sa", 2 }, SSAInfo(1, 3, 3, 3, 1, false) },
     3610                    { { "sa", 6 }, SSAInfo(0, 3, 3, 3, 1, false) }
     3611                }, false, false, false },
     3612            {   // block 3 - after aa0
     3613                40, 48,
     3614                { { 8, false } },
     3615                {
     3616                    { { "", 5 }, SSAInfo(0, 0, 0, 0, 0, true) },
     3617                    { { "sa", 4 }, SSAInfo(1, 3, 3, 3, 1, false) }
     3618                }, false, false, true },
     3619            {   // block 4 - bb0
     3620                48, 60,
     3621                { { 5, false }, { 9, false } },
     3622                {
     3623                    { { "", 256+6 }, SSAInfo(0, 0, 0, 0, 0, true) },
     3624                    { { "va", 2 }, SSAInfo(0, 3, 3, 3, 1, false) },
     3625                    { { "va", 3 }, SSAInfo(0, 2, 2, 2, 1, false) }
     3626                }, false, false, false },
     3627            {   // block 5 - after bb0
     3628                60, 72,
     3629                { { 9, false } },
     3630                {
     3631                    { { "", 256+6 }, SSAInfo(0, 0, 0, 0, 0, true) },
     3632                    { { "va", 0 }, SSAInfo(0, 2, 2, 2, 1, false) },
     3633                    { { "va", 4 }, SSAInfo(0, 2, 2, 2, 1, false) }
     3634                }, false, false, true },
     3635            {   // block 6 - cc0
     3636                72, 84,
     3637                { { 7, false }, { 10, false } },
     3638                {
     3639                    { { "xa", 3 }, SSAInfo(0, 2, 2, 2, 1, false) },
     3640                    { { "xa", 4 }, SSAInfo(0, 2, 2, 2, 1, false) }
     3641                }, false, false, false },
     3642            {   // block 7 - after cc0
     3643                84, 96,
     3644                { { 10, false } },
     3645                {
     3646                    { { "", 6 }, SSAInfo(0, 0, 0, 0, 0, true) },
     3647                    { { "xa", 0 }, SSAInfo(0, 3, 3, 3, 1, false) },
     3648                    { { "xa", 3 }, SSAInfo(2, 3, 3, 3, 1, false) }
     3649                }, false, false, true },
     3650            {   // block 8 - mainx
     3651                96, 124,
     3652                { { 9, false }, { 10, false } },
     3653                {
     3654                    { { "sa", 2 }, SSAInfo(1, 2, 2, 2, 1, true) },
     3655                    { { "sa", 3 }, SSAInfo(2, 3, 3, 3, 1, true) },
     3656                    { { "sa", 4 }, SSAInfo(1, 2, 2, 2, 1, true) },
     3657                    { { "sa", 5 }, SSAInfo(0, 1, 1, 1, 1, true) },
     3658                    { { "sa", 7 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     3659                    { { "va", 1 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     3660                    { { "va", 2 }, SSAInfo(0, 1, 1, 1, 1, true) },
     3661                    { { "xa", 0 }, SSAInfo(0, 1, 1, 1, 1, true) },
     3662                    { { "xa", 7 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) }
     3663                }, false, false, false },
     3664            {   // block 9 - mainy
     3665                124, 144,
     3666                { },
     3667                {
     3668                    { { "va", 0 }, SSAInfo(0, 1, 1, 1, 1, true) },
     3669                    { { "va", 1 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     3670                    { { "va", 2 }, SSAInfo(1, 2, 2, 2, 1, true) },
     3671                    { { "va", 3 }, SSAInfo(0, 1, 1, 1, 1, true) },
     3672                    { { "va", 4 }, SSAInfo(0, 1, 1, 1, 1, true) }
     3673                }, false, false, true },
     3674            {   // block 10 - mainz
     3675                144, 168,
     3676                { },
     3677                {
     3678                    { { "sa", 6 }, SSAInfo(1, 2, 2, 2, 1, true) },
     3679                    { { "sa", 7 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     3680                    { { "xa", 0 }, SSAInfo(1, 2, 2, 2, 1, true) },
     3681                    { { "xa", 3 }, SSAInfo(0, 1, 1, 1, 1, true) },
     3682                    { { "xa", 4 }, SSAInfo(0, 1, 1, 1, 1, true) },
     3683                    { { "xa", 5 }, SSAInfo(0, 1, 1, 1, 1, true) },
     3684                    { { "xa", 7 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     3685                }, false, false, true },
     3686        },
     3687        {
     3688            { { "sa", 2 }, { { 3, 1 }, { 3, 1 } } },
     3689            { { "sa", 3 }, { { 2, 1 }, { 2, 1 } } },
     3690            { { "sa", 4 }, { { 3, 1 } } },
     3691            { { "sa", 6 }, { { 3, 1 }, { 3, 1 } } },
     3692            { { "va", 0 }, { { 2, 0 } } },
     3693            { { "va", 2 }, { { 3, 1 }, { 3, 1 } } },
     3694            { { "va", 3 }, { { 2, 0 }, { 2, 0 } } },
     3695            { { "va", 4 }, { { 2, 0 } } },
     3696            { { "xa", 0 }, { { 3, 1 } } },
     3697            { { "xa", 3 }, { { 3, 0 }, { 2, 0 } } },
     3698            { { "xa", 4 }, { { 2, 0 }, { 2, 0 } } }
     3699        },
     3700        true, ""
     3701    },
    35223702};
    35233703
Note: See TracChangeset for help on using the changeset viewer.