Changeset 3260 in CLRX


Ignore:
Timestamp:
Aug 17, 2017, 3:21:08 PM (5 months ago)
Author:
matszpk
Message:

CLRadeonExtender: GCNDisasm: Fixed bit checking for sext when src0 is not used. Add 'sdwa' word at end of instruction if SDWA encoding
and no specific modifers and flags enabled.

Location:
CLRadeonExtender/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • CLRadeonExtender/trunk/amdasm/GCNDisasm.cpp

    r3259 r3260  
    14471447    if (!src0Used)
    14481448    {
    1449         if ((insnCode2&(1U<<20))!=0)
     1449        if ((insnCode2&(1U<<19))!=0)
    14501450            putChars(bufPtr, " sext0", 6);
    14511451        if ((insnCode2&(1U<<20))!=0)
     
    14631463            putChars(bufPtr, " abs1", 5);
    14641464    }
     1465   
     1466    if (((isGCN14 && vopc) || (dstSel==6 && dstUnused==0)) &&
     1467        src0Sel==6 && (insnCode2&(1U<<19))==0 && src1Sel==6 && (insnCode2&(1U<<27))==0)
     1468        putChars(bufPtr, " sdwa", 5);
    14651469   
    14661470    output.forward(bufPtr-bufStart);
  • CLRadeonExtender/trunk/tests/amdasm/GCNDisasmOpc12.cpp

    r3075 r3260  
    468468    { 0x0134d6f9U, 0x3f00003d, true, "        v_cndmask_b32   v154, v61, "
    469469        "sext(-abs(v107)), vcc dst_sel:byte0 src0_sel:byte0 src1_sel:invalid\n" },
     470    // SDWA word at end
     471    { 0x0134d6f9U, 0x06060600, true, "        v_cndmask_b32   v154, v0, v107, vcc sdwa\n" },
     472    { 0x0134d6f9U, 0x06160600, true,
     473        "        v_cndmask_b32   v154, -v0, v107, vcc sdwa\n" },
     474    { 0x0134d6f9U, 0x16160600, true,
     475        "        v_cndmask_b32   v154, -v0, -v107, vcc sdwa\n" },
     476    { 0x0134d6f9U, 0x26260600, true,
     477        "        v_cndmask_b32   v154, abs(v0), abs(v107), vcc sdwa\n" },
     478    { 0x0134d6f9U, 0x0e0e0600, true,
     479        "        v_cndmask_b32   v154, sext(v0), sext(v107), vcc\n" },
    470480    /* VOP_DPP */
    471481    { 0x0134d6faU, 0xbe, true, "        v_cndmask_b32   v154, v190, v107, vcc "
Note: See TracChangeset for help on using the changeset viewer.