Changeset 4044 in CLRX


Ignore:
Timestamp:
Apr 23, 2018, 7:54:12 AM (4 weeks ago)
Author:
matszpk
Message:

CLRadeonExtender: AsmRegAlloc?: Yet another fix in AsmRegAllocator::ReadPos? structure (missing fields). Add next unfinished testcase.

Location:
CLRadeonExtender/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • CLRadeonExtender/trunk/CLRX/amdasm/Assembler.h

    r4039 r4044  
    7676        size_t regVarUsagesPos;    ///< position in regVarUsage
    7777        uint16_t pushedArgs;    ///< pushed argds number
     78        cxbyte argPos;          ///< argument position
     79        cxbyte argFlags;        ///< ???
     80        bool isNext;            ///< isNext
    7881        bool useRegMode;        ///< true if in usereg mode
    79         bool isNext;            ///< isNext
    8082    };
    8183protected:
     
    126128    {
    127129        return { readOffset, instrStructPos, regUsagesPos, regUsages2Pos,
    128             regVarUsagesPos, pushedArgs, useRegMode, isNext };
     130            regVarUsagesPos, pushedArgs, argPos, argFlags, isNext, useRegMode };
    129131    }
    130132    /// set reading position
     
    137139        regVarUsagesPos = rpos.regVarUsagesPos;
    138140        pushedArgs = rpos.pushedArgs;
     141        argPos = rpos.argPos;
     142        argFlags = rpos.argFlags;
     143        isNext = rpos.isNext;
    139144        useRegMode = rpos.useRegMode;
    140         isNext = rpos.isNext;
    141145    }
    142146   
  • CLRadeonExtender/trunk/tests/amdasm/AsmRegAlloc3.cpp

    r4043 r4044  
    265265        true, ""
    266266    }
     267#if 0
     268    ,
     269    {   // 5 - blocks
     270        R"ffDXD(.regvar sa:s:8, va:v:10
     271        s_mov_b32 sa[4], sa[2]             # 0
     272        s_add_u32 sa[4], sa[4], s3         # 4
     273        v_mad_f32 va[0], va[1], va[2], v0  # 8
     274        .cf_jump a0,a1,a2
     275        s_setpc_b64 s[0:1]                 # 16
     276       
     277a0:     s_mul_i32 sa[3], sa[4], s3
     278        s_xor_b32 s4, sa[2], s4
     279        s_endpgm
     280       
     281a1:     v_add_f32 va[2], sa[5], va[0]
     282        v_mul_f32 va[3], va[2], v0
     283        s_endpgm
     284       
     285a2:     s_cselect_b32 sa[2], sa[4], sa[3]
     286        #v_cndmask_b32 va[3], va[0], va[1], vcc
     287        s_endpgm
     288)ffDXD",
     289        {   // livenesses
     290            {   // for SGPRs
     291            },
     292            {   // for VGPRs
     293            },
     294            { },
     295            { }
     296        },
     297        { }, // linearDepMaps
     298        true, ""
     299    }
     300#endif
    267301};
    268302
Note: See TracChangeset for help on using the changeset viewer.