Changeset 4073 in CLRX


Ignore:
Timestamp:
May 4, 2018, 8:54:18 AM (3 weeks ago)
Author:
matszpk
Message:

CLRadeonExtender: AsmRegAlloc?: Add new testcase for createLivenesses: two loops, one nested.

File:
1 edited

Legend:

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

    r4072 r4073  
    829829        {   // linearDepMaps
    830830            { },
     831            { },
     832            { },
     833            { }
     834        },
     835        true, ""
     836    },
     837    {   // 14 - two loops, one nested
     838        R"ffDXD(.regvar sa:s:8, va:v:8
     839        s_mov_b64 sa[0:1], 0            # 0
     840        v_mov_b32 va[0], v1             # 4
     841        v_mov_b32 va[1], v2             # 8
     842        v_mov_b32 va[2], v3             # 12
     843       
     844loop0:  v_lshrrev_b32 va[0], va[2], va[0]   # 16
     845        v_xor_b32 va[0], va[1], va[0]       # 20
     846       
     847        s_xor_b32 sa[3], sa[0], 0x5     # 24
     848        s_cmp_eq_u32 sa[3], 9           # 28
     849        s_cbranch_scc1 bb0              # 32
     850       
     851        v_and_b32 va[0], -15, va[0]         # 36
     852        v_sub_u32 va[0], vcc, -13, va[0]    # 40
     853        s_branch loop1start                 # 44
     854       
     855bb0:    v_xor_b32 va[0], 15, va[0]          # 48
     856        v_add_u32 va[0], vcc, 17, va[0]     # 52
     857loop1start:
     858        s_mov_b32 sa[1], sa[0]              # 56
     859       
     860loop1:  v_add_u32 va[2], vcc, va[2], va[1]  # 60
     861        v_xor_b32 va[2], 0xffaaaa, va[0]    # 64
     862       
     863        s_xor_b32 sa[2], sa[1], 0x5     # 72
     864        s_cmp_eq_u32 sa[2], 7           # 76
     865        s_cbranch_scc1 bb1              # 80
     866       
     867        v_sub_u32 va[1], vcc, 5, va[1]      # 84
     868        v_sub_u32 va[2], vcc, 7, va[2]      # 88
     869        s_branch loop1end                   # 92
     870       
     871bb1:    v_xor_b32 va[1], 15, va[1]          # 96
     872        v_xor_b32 va[2], 17, va[2]          # 100
     873loop1end:
     874       
     875        s_add_u32 sa[1], sa[1], 1       # 104
     876        s_cmp_lt_u32 sa[1], 52          # 108
     877        s_cbranch_scc1 loop1            # 112
     878       
     879        v_xor_b32 va[0], va[1], va[0]   # 116
     880        v_xor_b32 va[0], va[2], va[0]   # 120
     881        v_xor_b32 va[0], sa[0], va[0]   # 124
     882       
     883        s_add_u32 sa[0], sa[0], 1       # 128
     884        s_cmp_lt_u32 sa[0], 33          # 132
     885        s_cbranch_scc1 loop0            # 136
     886       
     887        s_endpgm                        # 140
     888)ffDXD",
     889        {   // livenesses
     890            {   // for SGPRs
     891                { { 1, 140 } }, // 0: sa[0]'0
     892                { { 1, 2 } }, // 1: sa[1]'0
     893                { { 57, 116 } }, // 2: sa[1]'1
     894                { { 73, 77 } }, // 3: sa[2]'0
     895                { { 25, 29 } }  // 4: sa[3]'0
     896            },
     897            {   // for VGPRs
     898                { { 0, 5 } }, // 0: V1
     899                { { 0, 9 } }, // 1: V2
     900                { { 0, 13 } }, // 2: V3
     901                { { 5, 17 }, { 125, 140 } }, // 3: va[0]'0
     902                { { 17, 21 } }, // 4: va[0]'1
     903                { { 21, 37 }, { 48, 49 } }, // 5: va[0]'2
     904                { { 37, 41 } }, // 6: va[0]'3
     905                { { 41, 48 }, { 53, 117 } }, // 7: va[0]'4
     906                { { 117, 121 } }, // 8: va[0]'5
     907                { { 121, 125 } }, // 9: va[0]'6
     908                { { 49, 53 } }, // 10: va[0]'7
     909                { { 9, 140 } }, // 11: va[1]'0
     910                { { 13, 61 }, { 89, 96 }, { 101, 140 } }, // 12: va[2]'0
     911                { { 61, 62 } }, // 13: va[2]'1
     912                { { 65, 89 }, { 96, 101 } }  // 14: va[2]'2
     913            },
     914            { },
     915            { }
     916        },
     917        {   // linearDepMaps
     918            { // for SGPRs
     919                { 0, { 2, { }, { 1 } } },
     920                { 1, { 0, { 0 }, { } } }
     921            },
    831922            { },
    832923            { },
Note: See TracChangeset for help on using the changeset viewer.