Changeset 4159 in CLRX


Ignore:
Timestamp:
May 13, 2018, 9:33:09 PM (2 months ago)
Author:
matszpk
Message:

CLRadeonExtender: AsmRegAlloc?: Add testcases with same normal (device) registers (no regvars).

File:
1 edited

Legend:

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

    r4158 r4159  
    24882488        },
    24892489        true, ""
    2490     }
     2490    },
     2491    {   // 38 - simple joins (same normal registers)
     2492        R"ffDXD(.regvar sa:s:12, va:v:8
     2493        s_mov_b32 s2, s12       # 0
     2494        .cf_jump a1,a2,a3
     2495        s_setpc_b64 s[10:11]    # 4
     2496       
     2497a1:     s_add_u32 s2, s2, s3    # 8
     2498        s_add_u32 s2, s2, s3    # 12
     2499        s_branch end            # 16
     2500a2:     s_add_u32 s2, s2, s4    # 20
     2501        s_add_u32 s2, s2, s4    # 24
     2502        s_branch end            # 28
     2503a3:     s_add_u32 s2, s2, s5    # 32
     2504        s_add_u32 s2, s2, s5    # 36
     2505        s_branch end            # 40
     2506
     2507end:    s_xor_b32 s2, s2, s13   # 44
     2508        s_endpgm                # 48
     2509)ffDXD",
     2510        {   // livenesses
     2511            {   // for SGPRs
     2512                { { 1, 46 } }, // 0: S2
     2513                { { 0, 13 } }, // 0: S3
     2514                { { 0, 8 }, { 20, 25 } }, // 0: S4
     2515                { { 0, 8 }, { 32, 37 } }, // 0: S5
     2516                { { 0, 5 } }, // 0: S10
     2517                { { 0, 5 } }, // 0: S11
     2518                { { 0, 1 } }, // 0: S12
     2519                { { 0, 45 } } // 0: S13
     2520            },
     2521            { },
     2522            { },
     2523            { }
     2524        },
     2525        { },  // linearDepMaps
     2526        { },  // vidxRoutineMap
     2527        { },  // vidxCallMap
     2528        true, ""
     2529    },
     2530    {   // 39 - simple call, more complex routine (same normal registers)
     2531        R"ffDXD(.regvar sa:s:8, va:v:8
     2532        s_mov_b32 s2, s14               # 0
     2533        s_mov_b32 s3, s15               # 4
     2534        s_mov_b32 s5, s15               # 8
     2535       
     2536        s_getpc_b64 s[12:13]            # 12
     2537        s_add_u32 s12, s12, routine-.   # 16
     2538        s_add_u32 s13, s13, routine-.+4 # 24
     2539        .cf_call routine
     2540        s_swappc_b64 s[10:11], s[12:13] # 32
     2541       
     2542        s_lshl_b32 s2, s2, 3            # 36
     2543        s_lshl_b32 s3, s3, s5           # 40
     2544        s_endpgm                        # 44
     2545       
     2546routine:
     2547        s_xor_b32 s2, s2, s4            # 48
     2548        s_cbranch_scc1 bb1              # 52
     2549       
     2550        s_min_u32 s2, s2, s4            # 56
     2551        s_xor_b32 s3, s3, s4            # 60
     2552        .cf_ret
     2553        s_setpc_b64 s[10:11]            # 64
     2554       
     2555bb1:    s_and_b32 s2, s2, s4            # 68
     2556        .cf_ret
     2557        s_setpc_b64 s[10:11]            # 72
     2558)ffDXD",
     2559        {   // livenesses
     2560            {   // for SGPRs
     2561                { { 1, 38 }, { 48, 76 } }, // 0: S2
     2562                { { 5, 42 }, { 48, 76 } }, // 1: S3
     2563                { { 0, 36 }, { 48, 61 }, { 68, 69 } }, // 2: S4
     2564                { { 9, 41 } }, // 3: S5
     2565                { { 33, 36 }, { 48, 65 }, { 68, 73 } }, // 4: S10
     2566                { { 33, 36 }, { 48, 65 }, { 68, 73 } }, // 5: S11
     2567                { { 13, 33 } }, // 6: S12
     2568                { { 13, 33 } }, // 7: S13
     2569                { { 0, 1 } }, // 8: S14
     2570                { { 0, 9 } }  // 9: S15
     2571            },
     2572            { },
     2573            { },
     2574            { }
     2575        },
     2576        { }, // linearDepMaps
     2577        {   // vidxRoutineMap
     2578            { 2, { { { 0, 1, 2, 4, 5 }, { }, { }, { } } } }
     2579        },
     2580        {   // vidxCallMap
     2581            { 0, { { { 3 }, { }, { }, { } } } }
     2582        },
     2583        true, ""
     2584    },
    24912585};
    24922586
Note: See TracChangeset for help on using the changeset viewer.