arch-vega: Add decodings for Flat, Global, Scratch

Does not implement the functions yet

Change-Id: I32feab747b13bd2eff98983e3281c0d82e756221
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/42206
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Matt Sinclair <mattdsinclair@gmail.com>
Maintainer: Matt Sinclair <mattdsinclair@gmail.com>
This commit is contained in:
Kyle Roarty
2019-06-27 17:32:20 -04:00
committed by Matt Sinclair
parent b30e9645d7
commit 16548557ef
2 changed files with 832 additions and 9 deletions

View File

@@ -1623,19 +1623,19 @@ namespace VegaISA
&Decoder::decode_OP_FLAT__FLAT_LOAD_DWORDX3,
&Decoder::decode_OP_FLAT__FLAT_LOAD_DWORDX4,
&Decoder::decode_OP_FLAT__FLAT_STORE_BYTE,
&Decoder::decode_invalid,
&Decoder::decode_OP_FLAT__FLAT_STORE_BYTE_D16_HI,
&Decoder::decode_OP_FLAT__FLAT_STORE_SHORT,
&Decoder::decode_invalid,
&Decoder::decode_OP_FLAT__FLAT_STORE_SHORT_D16_HI,
&Decoder::decode_OP_FLAT__FLAT_STORE_DWORD,
&Decoder::decode_OP_FLAT__FLAT_STORE_DWORDX2,
&Decoder::decode_OP_FLAT__FLAT_STORE_DWORDX3,
&Decoder::decode_OP_FLAT__FLAT_STORE_DWORDX4,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_OP_FLAT__FLAT_LOAD_UBYTE_D16,
&Decoder::decode_OP_FLAT__FLAT_LOAD_UBYTE_D16_HI,
&Decoder::decode_OP_FLAT__FLAT_LOAD_SBYTE_D16,
&Decoder::decode_OP_FLAT__FLAT_LOAD_SBYTE_D16_HI,
&Decoder::decode_OP_FLAT__FLAT_LOAD_SHORT_D16,
&Decoder::decode_OP_FLAT__FLAT_LOAD_SHORT_D16_HI,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
@@ -1728,6 +1728,137 @@ namespace VegaISA
&Decoder::decode_invalid
};
IsaDecodeMethod Decoder::tableSubDecode_OP_GLOBAL[] = {
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_OP_GLOBAL__GLOBAL_LOAD_UBYTE,
&Decoder::decode_OP_GLOBAL__GLOBAL_LOAD_SBYTE,
&Decoder::decode_OP_GLOBAL__GLOBAL_LOAD_USHORT,
&Decoder::decode_OP_GLOBAL__GLOBAL_LOAD_SSHORT,
&Decoder::decode_OP_GLOBAL__GLOBAL_LOAD_DWORD,
&Decoder::decode_OP_GLOBAL__GLOBAL_LOAD_DWORDX2,
&Decoder::decode_OP_GLOBAL__GLOBAL_LOAD_DWORDX3,
&Decoder::decode_OP_GLOBAL__GLOBAL_LOAD_DWORDX4,
&Decoder::decode_OP_GLOBAL__GLOBAL_STORE_BYTE,
&Decoder::decode_OP_GLOBAL__GLOBAL_STORE_BYTE_D16_HI,
&Decoder::decode_OP_GLOBAL__GLOBAL_STORE_SHORT,
&Decoder::decode_OP_GLOBAL__GLOBAL_STORE_SHORT_D16_HI,
&Decoder::decode_OP_GLOBAL__GLOBAL_STORE_DWORD,
&Decoder::decode_OP_GLOBAL__GLOBAL_STORE_DWORDX2,
&Decoder::decode_OP_GLOBAL__GLOBAL_STORE_DWORDX3,
&Decoder::decode_OP_GLOBAL__GLOBAL_STORE_DWORDX4,
&Decoder::decode_OP_GLOBAL__GLOBAL_LOAD_UBYTE_D16,
&Decoder::decode_OP_GLOBAL__GLOBAL_LOAD_UBYTE_D16_HI,
&Decoder::decode_OP_GLOBAL__GLOBAL_LOAD_SBYTE_D16,
&Decoder::decode_OP_GLOBAL__GLOBAL_LOAD_SBYTE_D16_HI,
&Decoder::decode_OP_GLOBAL__GLOBAL_LOAD_SHORT_D16,
&Decoder::decode_OP_GLOBAL__GLOBAL_LOAD_SHORT_D16_HI,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_SWAP,
&Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_CMPSWAP,
&Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_ADD,
&Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_SUB,
&Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_SMIN,
&Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_UMIN,
&Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_SMAX,
&Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_UMAX,
&Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_AND,
&Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_OR,
&Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_XOR,
&Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_INC,
&Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_DEC,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_SWAP_X2,
&Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_CMPSWAP_X2,
&Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_ADD_X2,
&Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_SUB_X2,
&Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_SMIN_X2,
&Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_UMIN_X2,
&Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_SMAX_X2,
&Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_UMAX_X2,
&Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_AND_X2,
&Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_OR_X2,
&Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_XOR_X2,
&Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_INC_X2,
&Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_DEC_X2,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid
};
IsaDecodeMethod Decoder::tableSubDecode_OP_MIMG[] = {
&Decoder::decode_OP_MIMG__IMAGE_LOAD,
&Decoder::decode_OP_MIMG__IMAGE_LOAD_MIP,
@@ -2009,6 +2140,137 @@ namespace VegaISA
&Decoder::decode_invalid
};
IsaDecodeMethod Decoder::tableSubDecode_OP_SCRATCH[] = {
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_OP_SCRATCH__SCRATCH_LOAD_UBYTE,
&Decoder::decode_OP_SCRATCH__SCRATCH_LOAD_SBYTE,
&Decoder::decode_OP_SCRATCH__SCRATCH_LOAD_USHORT,
&Decoder::decode_OP_SCRATCH__SCRATCH_LOAD_SSHORT,
&Decoder::decode_OP_SCRATCH__SCRATCH_LOAD_DWORD,
&Decoder::decode_OP_SCRATCH__SCRATCH_LOAD_DWORDX2,
&Decoder::decode_OP_SCRATCH__SCRATCH_LOAD_DWORDX3,
&Decoder::decode_OP_SCRATCH__SCRATCH_LOAD_DWORDX4,
&Decoder::decode_OP_SCRATCH__SCRATCH_STORE_BYTE,
&Decoder::decode_OP_SCRATCH__SCRATCH_STORE_BYTE_D16_HI,
&Decoder::decode_OP_SCRATCH__SCRATCH_STORE_SHORT,
&Decoder::decode_OP_SCRATCH__SCRATCH_STORE_SHORT_D16_HI,
&Decoder::decode_OP_SCRATCH__SCRATCH_STORE_DWORD,
&Decoder::decode_OP_SCRATCH__SCRATCH_STORE_DWORDX2,
&Decoder::decode_OP_SCRATCH__SCRATCH_STORE_DWORDX3,
&Decoder::decode_OP_SCRATCH__SCRATCH_STORE_DWORDX4,
&Decoder::decode_OP_SCRATCH__SCRATCH_LOAD_UBYTE_D16,
&Decoder::decode_OP_SCRATCH__SCRATCH_LOAD_UBYTE_D16_HI,
&Decoder::decode_OP_SCRATCH__SCRATCH_LOAD_SBYTE_D16,
&Decoder::decode_OP_SCRATCH__SCRATCH_LOAD_SBYTE_D16_HI,
&Decoder::decode_OP_SCRATCH__SCRATCH_LOAD_SHORT_D16,
&Decoder::decode_OP_SCRATCH__SCRATCH_LOAD_SHORT_D16_HI,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
&Decoder::decode_invalid,
};
IsaDecodeMethod Decoder::tableSubDecode_OP_SMEM[] = {
&Decoder::decode_OP_SMEM__S_LOAD_DWORD,
&Decoder::decode_OP_SMEM__S_LOAD_DWORDX2,
@@ -3206,7 +3468,20 @@ namespace VegaISA
Decoder::subDecode_OP_FLAT(MachInst iFmt)
{
InFmt_FLAT *enc = &iFmt->iFmt_FLAT;
IsaDecodeMethod method = tableSubDecode_OP_FLAT[enc->OP];
IsaDecodeMethod method;
switch (enc->SEG) {
case 0:
method = tableSubDecode_OP_FLAT[enc->OP];
break;
case 1:
method = tableSubDecode_OP_SCRATCH[enc->OP];
break;
case 2:
method = tableSubDecode_OP_GLOBAL[enc->OP];
break;
default:
fatal("Invalid SEG for FLAT encoding: %d\n", enc->SEG);
}
return (this->*method)(iFmt);
} // subDecode_OP_FLAT
@@ -7242,12 +7517,24 @@ namespace VegaISA
return new Inst_FLAT__FLAT_STORE_BYTE(&iFmt->iFmt_FLAT);
} // decode_OP_FLAT__FLAT_STORE_BYTE
GPUStaticInst*
Decoder::decode_OP_FLAT__FLAT_STORE_BYTE_D16_HI(MachInst iFmt)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_FLAT__FLAT_STORE_SHORT(MachInst iFmt)
{
return new Inst_FLAT__FLAT_STORE_SHORT(&iFmt->iFmt_FLAT);
} // decode_OP_FLAT__FLAT_STORE_SHORT
GPUStaticInst*
Decoder::decode_OP_FLAT__FLAT_STORE_SHORT_D16_HI(MachInst iFmt)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_FLAT__FLAT_STORE_DWORD(MachInst iFmt)
{
@@ -7272,6 +7559,42 @@ namespace VegaISA
return new Inst_FLAT__FLAT_STORE_DWORDX4(&iFmt->iFmt_FLAT);
} // decode_OP_FLAT__FLAT_STORE_DWORDX4
GPUStaticInst*
Decoder::decode_OP_FLAT__FLAT_LOAD_UBYTE_D16(MachInst iFmt)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_FLAT__FLAT_LOAD_UBYTE_D16_HI(MachInst iFmt)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_FLAT__FLAT_LOAD_SBYTE_D16(MachInst iFmt)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_FLAT__FLAT_LOAD_SBYTE_D16_HI(MachInst iFmt)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_FLAT__FLAT_LOAD_SHORT_D16(MachInst iFmt)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_FLAT__FLAT_LOAD_SHORT_D16_HI(MachInst iFmt)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_FLAT__FLAT_ATOMIC_SWAP(MachInst iFmt)
{
@@ -7428,6 +7751,294 @@ namespace VegaISA
return new Inst_FLAT__FLAT_ATOMIC_DEC_X2(&iFmt->iFmt_FLAT);
} // decode_OP_FLAT__FLAT_ATOMIC_DEC_X2
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_LOAD_UBYTE(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_LOAD_SBYTE(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_LOAD_USHORT(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_LOAD_SSHORT(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_LOAD_DWORD(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_LOAD_DWORDX2(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_LOAD_DWORDX3(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_LOAD_DWORDX4(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_STORE_BYTE(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_STORE_BYTE_D16_HI(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_STORE_SHORT(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_STORE_SHORT_D16_HI(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_STORE_DWORD(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_STORE_DWORDX2(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_STORE_DWORDX3(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_STORE_DWORDX4(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_LOAD_UBYTE_D16(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_LOAD_UBYTE_D16_HI(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_LOAD_SBYTE_D16(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_LOAD_SBYTE_D16_HI(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_LOAD_SHORT_D16(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_LOAD_SHORT_D16_HI(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_SWAP(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_CMPSWAP(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_ADD(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_SUB(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_SMIN(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_UMIN(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_SMAX(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_UMAX(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_AND(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_OR(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_XOR(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_INC(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_DEC(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_SWAP_X2(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_CMPSWAP_X2(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_ADD_X2(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_SUB_X2(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_SMIN_X2(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_UMIN_X2(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_SMAX_X2(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_UMAX_X2(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_AND_X2(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_OR_X2(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_XOR_X2(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_INC_X2(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_GLOBAL__GLOBAL_ATOMIC_DEC_X2(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_MIMG__IMAGE_LOAD(MachInst iFmt)
{
@@ -8413,6 +9024,138 @@ namespace VegaISA
return new Inst_MUBUF__BUFFER_ATOMIC_DEC_X2(&iFmt->iFmt_MUBUF);
} // decode_OP_MUBUF__BUFFER_ATOMIC_DEC_X2
GPUStaticInst*
Decoder::decode_OP_SCRATCH__SCRATCH_LOAD_UBYTE(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_SCRATCH__SCRATCH_LOAD_SBYTE(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_SCRATCH__SCRATCH_LOAD_USHORT(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_SCRATCH__SCRATCH_LOAD_SSHORT(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_SCRATCH__SCRATCH_LOAD_DWORD(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_SCRATCH__SCRATCH_LOAD_DWORDX2(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_SCRATCH__SCRATCH_LOAD_DWORDX3(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_SCRATCH__SCRATCH_LOAD_DWORDX4(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_SCRATCH__SCRATCH_STORE_BYTE(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_SCRATCH__SCRATCH_STORE_BYTE_D16_HI(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_SCRATCH__SCRATCH_STORE_SHORT(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_SCRATCH__SCRATCH_STORE_SHORT_D16_HI(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_SCRATCH__SCRATCH_STORE_DWORD(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_SCRATCH__SCRATCH_STORE_DWORDX2(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_SCRATCH__SCRATCH_STORE_DWORDX3(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_SCRATCH__SCRATCH_STORE_DWORDX4(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_SCRATCH__SCRATCH_LOAD_UBYTE_D16(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_SCRATCH__SCRATCH_LOAD_UBYTE_D16_HI(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_SCRATCH__SCRATCH_LOAD_SBYTE_D16(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_SCRATCH__SCRATCH_LOAD_SBYTE_D16_HI(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_SCRATCH__SCRATCH_LOAD_SHORT_D16(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_SCRATCH__SCRATCH_LOAD_SHORT_D16_HI(MachInst)
{
return nullptr;
}
GPUStaticInst*
Decoder::decode_OP_SMEM__S_LOAD_DWORD(MachInst iFmt)
{

View File

@@ -61,9 +61,11 @@ namespace VegaISA
static IsaDecodeMethod tableSubDecode_OPU_VOP3[768];
static IsaDecodeMethod tableSubDecode_OP_DS[256];
static IsaDecodeMethod tableSubDecode_OP_FLAT[128];
static IsaDecodeMethod tableSubDecode_OP_GLOBAL[128];
static IsaDecodeMethod tableSubDecode_OP_MIMG[128];
static IsaDecodeMethod tableSubDecode_OP_MTBUF[16];
static IsaDecodeMethod tableSubDecode_OP_MUBUF[128];
static IsaDecodeMethod tableSubDecode_OP_SCRATCH[128];
static IsaDecodeMethod tableSubDecode_OP_SMEM[64];
static IsaDecodeMethod tableSubDecode_OP_SOP1[256];
static IsaDecodeMethod tableSubDecode_OP_SOPC[128];
@@ -646,15 +648,71 @@ namespace VegaISA
GPUStaticInst* decode_OP_FLAT__FLAT_LOAD_DWORDX3(MachInst);
GPUStaticInst* decode_OP_FLAT__FLAT_LOAD_DWORDX4(MachInst);
GPUStaticInst* decode_OP_FLAT__FLAT_LOAD_SBYTE(MachInst);
GPUStaticInst* decode_OP_FLAT__FLAT_LOAD_SBYTE_D16(MachInst);
GPUStaticInst* decode_OP_FLAT__FLAT_LOAD_SBYTE_D16_HI(MachInst);
GPUStaticInst* decode_OP_FLAT__FLAT_LOAD_SHORT_D16(MachInst);
GPUStaticInst* decode_OP_FLAT__FLAT_LOAD_SHORT_D16_HI(MachInst);
GPUStaticInst* decode_OP_FLAT__FLAT_LOAD_SSHORT(MachInst);
GPUStaticInst* decode_OP_FLAT__FLAT_LOAD_UBYTE(MachInst);
GPUStaticInst* decode_OP_FLAT__FLAT_LOAD_UBYTE_D16(MachInst);
GPUStaticInst* decode_OP_FLAT__FLAT_LOAD_UBYTE_D16_HI(MachInst);
GPUStaticInst* decode_OP_FLAT__FLAT_LOAD_USHORT(MachInst);
GPUStaticInst* decode_OP_FLAT__FLAT_STORE_BYTE(MachInst);
GPUStaticInst* decode_OP_FLAT__FLAT_STORE_BYTE_D16_HI(MachInst);
GPUStaticInst* decode_OP_FLAT__FLAT_STORE_DWORD(MachInst);
GPUStaticInst* decode_OP_FLAT__FLAT_STORE_DWORDX2(MachInst);
GPUStaticInst* decode_OP_FLAT__FLAT_STORE_DWORDX3(MachInst);
GPUStaticInst* decode_OP_FLAT__FLAT_STORE_DWORDX4(MachInst);
GPUStaticInst* decode_OP_FLAT__FLAT_STORE_SHORT(MachInst);
GPUStaticInst* decode_OP_FLAT__FLAT_STORE_SHORT_D16_HI(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_LOAD_UBYTE(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_LOAD_SBYTE(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_LOAD_USHORT(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_LOAD_SSHORT(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_LOAD_DWORD(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_LOAD_DWORDX2(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_LOAD_DWORDX3(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_LOAD_DWORDX4(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_STORE_BYTE(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_STORE_BYTE_D16_HI(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_STORE_SHORT(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_STORE_SHORT_D16_HI(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_STORE_DWORD(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_STORE_DWORDX2(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_STORE_DWORDX3(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_STORE_DWORDX4(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_LOAD_UBYTE_D16(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_LOAD_UBYTE_D16_HI(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_LOAD_SBYTE_D16(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_LOAD_SBYTE_D16_HI(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_LOAD_SHORT_D16(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_LOAD_SHORT_D16_HI(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_ATOMIC_SWAP(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_ATOMIC_CMPSWAP(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_ATOMIC_ADD(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_ATOMIC_SUB(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_ATOMIC_SMIN(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_ATOMIC_UMIN(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_ATOMIC_SMAX(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_ATOMIC_UMAX(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_ATOMIC_AND(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_ATOMIC_OR(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_ATOMIC_XOR(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_ATOMIC_INC(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_ATOMIC_DEC(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_ATOMIC_SWAP_X2(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_ATOMIC_CMPSWAP_X2(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_ATOMIC_ADD_X2(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_ATOMIC_SUB_X2(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_ATOMIC_SMIN_X2(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_ATOMIC_UMIN_X2(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_ATOMIC_SMAX_X2(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_ATOMIC_UMAX_X2(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_ATOMIC_AND_X2(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_ATOMIC_OR_X2(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_ATOMIC_XOR_X2(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_ATOMIC_INC_X2(MachInst);
GPUStaticInst* decode_OP_GLOBAL__GLOBAL_ATOMIC_DEC_X2(MachInst);
GPUStaticInst* decode_OP_MIMG__IMAGE_ATOMIC_ADD(MachInst);
GPUStaticInst* decode_OP_MIMG__IMAGE_ATOMIC_AND(MachInst);
GPUStaticInst* decode_OP_MIMG__IMAGE_ATOMIC_CMPSWAP(MachInst);
@@ -820,6 +878,28 @@ namespace VegaISA
GPUStaticInst* decode_OP_MUBUF__BUFFER_STORE_SHORT(MachInst);
GPUStaticInst* decode_OP_MUBUF__BUFFER_WBINVL1(MachInst);
GPUStaticInst* decode_OP_MUBUF__BUFFER_WBINVL1_VOL(MachInst);
GPUStaticInst* decode_OP_SCRATCH__SCRATCH_LOAD_UBYTE(MachInst);
GPUStaticInst* decode_OP_SCRATCH__SCRATCH_LOAD_SBYTE(MachInst);
GPUStaticInst* decode_OP_SCRATCH__SCRATCH_LOAD_USHORT(MachInst);
GPUStaticInst* decode_OP_SCRATCH__SCRATCH_LOAD_SSHORT(MachInst);
GPUStaticInst* decode_OP_SCRATCH__SCRATCH_LOAD_DWORD(MachInst);
GPUStaticInst* decode_OP_SCRATCH__SCRATCH_LOAD_DWORDX2(MachInst);
GPUStaticInst* decode_OP_SCRATCH__SCRATCH_LOAD_DWORDX3(MachInst);
GPUStaticInst* decode_OP_SCRATCH__SCRATCH_LOAD_DWORDX4(MachInst);
GPUStaticInst* decode_OP_SCRATCH__SCRATCH_STORE_BYTE(MachInst);
GPUStaticInst* decode_OP_SCRATCH__SCRATCH_STORE_BYTE_D16_HI(MachInst);
GPUStaticInst* decode_OP_SCRATCH__SCRATCH_STORE_SHORT(MachInst);
GPUStaticInst* decode_OP_SCRATCH__SCRATCH_STORE_SHORT_D16_HI(MachInst);
GPUStaticInst* decode_OP_SCRATCH__SCRATCH_STORE_DWORD(MachInst);
GPUStaticInst* decode_OP_SCRATCH__SCRATCH_STORE_DWORDX2(MachInst);
GPUStaticInst* decode_OP_SCRATCH__SCRATCH_STORE_DWORDX3(MachInst);
GPUStaticInst* decode_OP_SCRATCH__SCRATCH_STORE_DWORDX4(MachInst);
GPUStaticInst* decode_OP_SCRATCH__SCRATCH_LOAD_UBYTE_D16(MachInst);
GPUStaticInst* decode_OP_SCRATCH__SCRATCH_LOAD_UBYTE_D16_HI(MachInst);
GPUStaticInst* decode_OP_SCRATCH__SCRATCH_LOAD_SBYTE_D16(MachInst);
GPUStaticInst* decode_OP_SCRATCH__SCRATCH_LOAD_SBYTE_D16_HI(MachInst);
GPUStaticInst* decode_OP_SCRATCH__SCRATCH_LOAD_SHORT_D16(MachInst);
GPUStaticInst* decode_OP_SCRATCH__SCRATCH_LOAD_SHORT_D16_HI(MachInst);
GPUStaticInst* decode_OP_SMEM__S_ATC_PROBE(MachInst);
GPUStaticInst* decode_OP_SMEM__S_ATC_PROBE_BUFFER(MachInst);
GPUStaticInst* decode_OP_SMEM__S_BUFFER_LOAD_DWORD(MachInst);