Changeset 3885 in CLRX


Ignore:
Timestamp:
Mar 8, 2018, 10:48:32 PM (9 months ago)
Author:
matszpk
Message:

CLRadeonExtender: AsmRegAlloc?: Add next testcase to test retSSAIds.

File:
1 edited

Legend:

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

    r3884 r3885  
    45794579        },
    45804580        true, ""
     4581    },
     4582    {   // 35 - retssa tests
     4583        R"ffDXD(.regvar sa:s:8, va:v:8
     4584        s_mov_b32 sa[2], s4
     4585        s_mov_b32 sa[3], s5
     4586        s_mov_b32 sa[4], s6
     4587        s_mov_b32 sa[5], s5
     4588        s_mov_b32 sa[6], s6
     4589       
     4590        .cf_call routine
     4591        s_swappc_b64 s[0:1], s[2:3]
     4592       
     4593        s_lshl_b32 sa[2], sa[2], 3
     4594        s_lshl_b32 sa[3], sa[1], 4
     4595        s_cbranch_scc1 aa1
     4596       
     4597aa0:    s_lshl_b32 sa[2], sa[2], 3
     4598        s_lshl_b32 sa[4], sa[3], 3
     4599        s_lshl_b32 sa[6], sa[5], 3
     4600        s_endpgm
     4601
     4602aa1:    s_lshl_b32 sa[2], sa[1], 3
     4603        s_lshl_b32 sa[2], sa[3], 3
     4604        s_lshl_b32 sa[4], sa[4], 3
     4605        s_lshl_b32 sa[6], sa[6], 3
     4606        s_endpgm
     4607       
     4608routine:
     4609        s_xor_b32 sa[2], sa[2], sa[0]
     4610        s_xor_b32 sa[3], sa[3], sa[0]
     4611        .cf_cjump bb1, bb2
     4612        s_setpc_b64 s[0:1]
     4613       
     4614bb0:    s_min_u32 sa[2], sa[2], sa[0]
     4615        s_min_u32 sa[3], sa[3], sa[0]
     4616        s_max_u32 sa[4], sa[4], sa[0]
     4617        s_xor_b32 sa[5], sa[5], sa[0]
     4618        s_xor_b32 sa[6], sa[6], sa[0]
     4619        .cf_ret
     4620        s_setpc_b64 s[0:1]
     4621       
     4622bb1:    s_and_b32 sa[2], sa[2], sa[0]
     4623        s_and_b32 sa[3], sa[3], sa[0]
     4624        s_max_u32 sa[4], sa[4], sa[0]
     4625        s_xor_b32 sa[5], sa[5], sa[0]
     4626        s_xor_b32 sa[6], sa[6], sa[0]
     4627        .cf_ret
     4628        s_setpc_b64 s[0:1]
     4629
     4630bb2:    s_and_b32 sa[2], sa[2], sa[0]
     4631        s_and_b32 sa[3], sa[3], sa[0]
     4632        s_max_u32 sa[4], sa[4], sa[0]
     4633        s_xor_b32 sa[5], sa[5], sa[0]
     4634        s_xor_b32 sa[6], sa[6], sa[0]
     4635        .cf_ret
     4636        s_setpc_b64 s[0:1]
     4637)ffDXD",
     4638        {
     4639            {   // block 0 - start
     4640                0, 24,
     4641                { { 4, true } },
     4642                {
     4643                    { { "", 0 }, SSAInfo(0, 0, 0, 0, 0, false) },
     4644                    { { "", 1 }, SSAInfo(0, 0, 0, 0, 0, false) },
     4645                    { { "", 2 }, SSAInfo(0, 0, 0, 0, 0, true) },
     4646                    { { "", 3 }, SSAInfo(0, 0, 0, 0, 0, true) },
     4647                    { { "", 4 }, SSAInfo(0, 0, 0, 0, 0, true) },
     4648                    { { "", 5 }, SSAInfo(0, 0, 0, 0, 0, true) },
     4649                    { { "", 6 }, SSAInfo(0, 0, 0, 0, 0, true) },
     4650                    { { "sa", 2 }, SSAInfo(0, 1, 1, 1, 1, false) },
     4651                    { { "sa", 3 }, SSAInfo(0, 1, 1, 1, 1, false) },
     4652                    { { "sa", 4 }, SSAInfo(0, 1, 1, 1, 1, false) },
     4653                    { { "sa", 5 }, SSAInfo(0, 1, 1, 1, 1, false) },
     4654                    { { "sa", 6 }, SSAInfo(0, 1, 1, 1, 1, false) }
     4655                }, true, false, false },
     4656            {   // block 1 - after call
     4657                24, 36,
     4658                { { 2, false }, { 3, false } },
     4659                {
     4660                    { { "sa", 1 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     4661                    { { "sa", 2 }, SSAInfo(3, 6, 6, 6, 1, true) },
     4662                    { { "sa", 3 }, SSAInfo(1, 6, 6, 6, 1, false) }
     4663                }, false, false, false },
     4664            {   // block 2 - aa0
     4665                36, 52,
     4666                { },
     4667                {
     4668                    { { "sa", 2 }, SSAInfo(6, 7, 7, 7, 1, true) },
     4669                    { { "sa", 3 }, SSAInfo(6, SIZE_MAX, 7, SIZE_MAX, 0, true) },
     4670                    { { "sa", 4 }, SSAInfo(1, 5, 5, 5, 1, false) },
     4671                    { { "sa", 5 }, SSAInfo(2, SIZE_MAX, 5, SIZE_MAX, 0, true) },
     4672                    { { "sa", 6 }, SSAInfo(1, 5, 5, 5, 1, false) }
     4673                }, false, false, true },
     4674            {   // block 3 - aa1
     4675                52, 72,
     4676                { },
     4677                {
     4678                    { { "sa", 1 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     4679                    { { "sa", 2 }, SSAInfo(6, 8, 8, 9, 2, false) },
     4680                    { { "sa", 3 }, SSAInfo(6, SIZE_MAX, 7, SIZE_MAX, 0, true) },
     4681                    { { "sa", 4 }, SSAInfo(2, 6, 6, 6, 1, true) },
     4682                    { { "sa", 6 }, SSAInfo(2, 6, 6, 6, 1, true) }
     4683                }, false, false, true },
     4684            {   // block 4 - routine
     4685                72, 84,
     4686                { { 5, false }, { 6, false }, { 7, false } },
     4687                {
     4688                    { { "", 0 }, SSAInfo(0, 0, 0, 0, 0, true) },
     4689                    { { "", 1 }, SSAInfo(0, 0, 0, 0, 0, true) },
     4690                    { { "sa", 0 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     4691                    { { "sa", 2 }, SSAInfo(1, 2, 2, 2, 1, true) },
     4692                    { { "sa", 3 }, SSAInfo(1, 2, 2, 2, 1, true) }
     4693                }, false, false, false },
     4694            {   // block 5 - bb0
     4695                84, 108,
     4696                { },
     4697                {
     4698                    { { "", 0 }, SSAInfo(0, 0, 0, 0, 0, true) },
     4699                    { { "", 1 }, SSAInfo(0, 0, 0, 0, 0, true) },
     4700                    { { "sa", 0 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     4701                    { { "sa", 2 }, SSAInfo(2, 3, 3, 3, 1, true) },
     4702                    { { "sa", 3 }, SSAInfo(2, 3, 3, 3, 1, true) },
     4703                    { { "sa", 4 }, SSAInfo(1, 2, 2, 2, 1, true) },
     4704                    { { "sa", 5 }, SSAInfo(1, 2, 2, 2, 1, true) },
     4705                    { { "sa", 6 }, SSAInfo(1, 2, 2, 2, 1, true) }
     4706                }, false, true, true },
     4707            {   // block 6 - bb1
     4708                108, 132,
     4709                { },
     4710                {
     4711                    { { "", 0 }, SSAInfo(0, 0, 0, 0, 0, true) },
     4712                    { { "", 1 }, SSAInfo(0, 0, 0, 0, 0, true) },
     4713                    { { "sa", 0 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     4714                    { { "sa", 2 }, SSAInfo(2, 4, 4, 4, 1, true) },
     4715                    { { "sa", 3 }, SSAInfo(2, 4, 4, 4, 1, true) },
     4716                    { { "sa", 4 }, SSAInfo(1, 3, 3, 3, 1, true) },
     4717                    { { "sa", 5 }, SSAInfo(1, 3, 3, 3, 1, true) },
     4718                    { { "sa", 6 }, SSAInfo(1, 3, 3, 3, 1, true) }
     4719                }, false, true, true },
     4720            {   // block 7 - bb2
     4721                132, 156,
     4722                { },
     4723                {
     4724                    { { "", 0 }, SSAInfo(0, 0, 0, 0, 0, true) },
     4725                    { { "", 1 }, SSAInfo(0, 0, 0, 0, 0, true) },
     4726                    { { "sa", 0 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     4727                    { { "sa", 2 }, SSAInfo(2, 5, 5, 5, 1, true) },
     4728                    { { "sa", 3 }, SSAInfo(2, 5, 5, 5, 1, true) },
     4729                    { { "sa", 4 }, SSAInfo(1, 4, 4, 4, 1, true) },
     4730                    { { "sa", 5 }, SSAInfo(1, 4, 4, 4, 1, true) },
     4731                    { { "sa", 6 }, SSAInfo(1, 4, 4, 4, 1, true) }
     4732                }, false, true, true }
     4733        },
     4734        {   // SSA replaces
     4735            { { "sa", 2 }, { { 4, 3 }, { 5, 3 } } },
     4736            { { "sa", 4 }, { { 3, 2 }, { 4, 2 } } },
     4737            { { "sa", 5 }, { { 3, 2 }, { 4, 2 } } },
     4738            { { "sa", 6 }, { { 3, 2 }, { 4, 2 } } }
     4739        },
     4740        true, ""
    45814741    }
    45824742};
Note: See TracChangeset for help on using the changeset viewer.