Changeset 3862 in CLRX


Ignore:
Timestamp:
Feb 28, 2018, 9:25:26 PM (16 months ago)
Author:
matszpk
Message:

CLRadeonExtender: AsmRegAlloc?: Add new testcase (res second point cache testing).

File:
1 edited

Legend:

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

    r3860 r3862  
    37003700                }, false, false, true },
    37013701        },
    3702         {
     3702        {   // SSA replaces
    37033703            { { "sa", 2 }, { { 3, 1 }, { 3, 1 } } },
    37043704            { { "sa", 3 }, { { 2, 1 }, { 2, 1 }, { 2, 1 }, { 3, 1 }, { 3, 1 } } },
     
    37123712            { { "xa", 3 }, { { 3, 0 }, { 3, 0 }, { 2, 0 } } },
    37133713            { { "xa", 4 }, { { 2, 0 }, { 2, 0 }, { 2, 0 } } }
     3714        },
     3715        true, ""
     3716    },
     3717    {   // 29 - cache test 2: loop
     3718        R"ffDXD(.regvar sa:s:8, va:v:8, xa:s:8
     3719        s_mov_b32 sa[2], s4
     3720        s_mov_b32 sa[3], s5
     3721        s_mov_b32 sa[4], s6
     3722        s_mov_b32 sa[5], s7
     3723        s_mov_b32 xa[0], s4
     3724        .cf_cjump aa0, aa1, aa2, aa3
     3725        s_setpc_b64 s[0:1]
     3726       
     3727loop:   s_xor_b32 sa[2], sa[2], sa[7]
     3728        s_xor_b32 xa[0], xa[0], xa[7]
     3729       
     3730l1:     s_xor_b32 sa[3], sa[3], sa[7]
     3731        s_xor_b32 xa[0], xa[0], xa[7]
     3732       
     3733l2:     s_xor_b32 sa[4], sa[4], sa[7]
     3734        s_xor_b32 xa[0], xa[0], xa[7]
     3735
     3736l3:     s_xor_b32 sa[5], sa[5], sa[7]
     3737        s_xor_b32 xa[0], xa[0], xa[7]
     3738        s_cbranch_scc0 loop
     3739       
     3740        s_endpgm
     3741       
     3742aa0:    s_xor_b32 sa[5], sa[5], sa[7]
     3743        s_xor_b32 xa[0], xa[0], xa[7]
     3744        s_branch loop
     3745
     3746aa1:    s_xor_b32 sa[2], sa[2], sa[7]
     3747        s_xor_b32 xa[0], xa[0], xa[7]
     3748        s_branch l1
     3749
     3750aa2:    s_xor_b32 sa[3], sa[3], sa[7]
     3751        s_xor_b32 xa[0], xa[0], xa[7]
     3752        s_branch l2
     3753
     3754aa3:    s_xor_b32 sa[4], sa[4], sa[7]
     3755        s_xor_b32 xa[0], xa[0], xa[7]
     3756        s_branch l3
     3757)ffDXD",
     3758        {
     3759            {   // block 0 - start
     3760                0, 24,
     3761                { { 1, false }, { 6, false }, { 7, false }, { 8, false }, { 9, false } },
     3762                {
     3763                    { { "", 0 }, SSAInfo(0, 0, 0, 0, 0, true) },
     3764                    { { "", 1 }, SSAInfo(0, 0, 0, 0, 0, true) },
     3765                    { { "", 4 }, SSAInfo(0, 0, 0, 0, 0, true) },
     3766                    { { "", 5 }, SSAInfo(0, 0, 0, 0, 0, true) },
     3767                    { { "", 6 }, SSAInfo(0, 0, 0, 0, 0, true) },
     3768                    { { "", 7 }, SSAInfo(0, 0, 0, 0, 0, true) },
     3769                    { { "sa", 2 }, SSAInfo(0, 1, 1, 1, 1, false) },
     3770                    { { "sa", 3 }, SSAInfo(0, 1, 1, 1, 1, false) },
     3771                    { { "sa", 4 }, SSAInfo(0, 1, 1, 1, 1, false) },
     3772                    { { "sa", 5 }, SSAInfo(0, 1, 1, 1, 1, false) },
     3773                    { { "xa", 0 }, SSAInfo(0, 1, 1, 1, 1, false) }
     3774                }, false, false, false },
     3775            {   // block 1 - loop
     3776                24, 32,
     3777                { },
     3778                {
     3779                    { { "sa", 2 }, SSAInfo(1, 2, 2, 2, 1, true) },
     3780                    { { "sa", 7 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     3781                    { { "xa", 0 }, SSAInfo(1, 2, 2, 2, 1, true) },
     3782                    { { "xa", 7 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) }
     3783                }, false, false, false },
     3784            {   // block 2 - l1
     3785                32, 40,
     3786                { },
     3787                {
     3788                    { { "sa", 3 }, SSAInfo(1, 2, 2, 2, 1, true) },
     3789                    { { "sa", 7 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     3790                    { { "xa", 0 }, SSAInfo(2, 3, 3, 3, 1, true) },
     3791                    { { "xa", 7 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) }
     3792                }, false, false, false },
     3793            {   // block 3 - l2
     3794                40, 48,
     3795                { },
     3796                {
     3797                    { { "sa", 4 }, SSAInfo(1, 2, 2, 2, 1, true) },
     3798                    { { "sa", 7 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     3799                    { { "xa", 0 }, SSAInfo(3, 4, 4, 4, 1, true) },
     3800                    { { "xa", 7 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) }
     3801                }, false, false, false },
     3802            {   // block 4 - l3
     3803                48, 60,
     3804                { { 1, false }, { 5, false } },
     3805                {
     3806                    { { "sa", 5 }, SSAInfo(1, 2, 2, 2, 1, true) },
     3807                    { { "sa", 7 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     3808                    { { "xa", 0 }, SSAInfo(4, 5, 5, 5, 1, true) },
     3809                    { { "xa", 7 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) }
     3810                }, false, false, false },
     3811            {   // block 5 - end
     3812                60, 64,
     3813                { },
     3814                { }, false, false, true },
     3815            {   // block 6 - aa0
     3816                64, 76,
     3817                { { 1, false } },
     3818                {
     3819                    { { "sa", 5 }, SSAInfo(1, 3, 3, 3, 1, true) },
     3820                    { { "sa", 7 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     3821                    { { "xa", 0 }, SSAInfo(1, 6, 6, 6, 1, true) },
     3822                    { { "xa", 7 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) }
     3823                }, false, false, true },
     3824            {   // block 7 - aa1
     3825                76, 88,
     3826                { { 2, false } },
     3827                {
     3828                    { { "sa", 2 }, SSAInfo(1, 3, 3, 3, 1, true) },
     3829                    { { "sa", 7 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     3830                    { { "xa", 0 }, SSAInfo(1, 7, 7, 7, 1, true) },
     3831                    { { "xa", 7 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) }
     3832                }, false, false, true },
     3833            {   // block 9 - aa2
     3834                88, 100,
     3835                { { 3, false } },
     3836                {
     3837                    { { "sa", 3 }, SSAInfo(1, 3, 3, 3, 1, true) },
     3838                    { { "sa", 7 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     3839                    { { "xa", 0 }, SSAInfo(1, 8, 8, 8, 1, true) },
     3840                    { { "xa", 7 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) }
     3841                }, false, false, true },
     3842            {   // block 10 - aa3
     3843                100, 112,
     3844                { { 4, false } },
     3845                {
     3846                    { { "sa", 4 }, SSAInfo(1, 3, 3, 3, 1, true) },
     3847                    { { "sa", 7 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     3848                    { { "xa", 0 }, SSAInfo(1, 9, 9, 9, 1, true) },
     3849                    { { "xa", 7 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) }
     3850                }, false, false, true },
     3851        },
     3852        {   // SSA replaces
     3853            { { "sa", 2 }, { { 2, 1 }, { 3, 1 } } },
     3854            { { "sa", 3 }, { { 2, 1 }, { 3, 1 } } },
     3855            { { "sa", 4 }, { { 2, 1 }, { 3, 1 } } },
     3856            { { "sa", 5 }, { { 2, 1 }, { 3, 1 } } },
     3857            { { "xa", 0 }, { { 5, 1 }, { 6, 1 }, { 7, 2 }, { 8, 3 }, { 9, 4 } } }
    37143858        },
    37153859        true, ""
Note: See TracChangeset for help on using the changeset viewer.