/*
 * !!! DO NOT EDIT THIS FILE !!!
 *
 * This file was automagically crafted by GED's model parser.
 */

#include <cstddef>
#include "ged_enumerations_internal.h"
const char* AccessModeEnumeration[3] =
{
    "Align1", // 0
    "Align16", // 1
    NULL // 2
}; // AccessModeEnumeration[]
const char* AccWrCtrlEnumeration[3] =
{
    "", // 0
    "AccWrEn", // 1
    NULL // 2
}; // AccWrCtrlEnumeration[]
const char* AddrModeEnumeration[3] =
{
    "Direct", // 0
    "Indirect", // 1
    NULL // 2
}; // AddrModeEnumeration[]
const char* ArchRegEnumeration[16] =
{
    "null", // 0
    "a0", // 1
    "acc", // 2
    "f", // 3
    "ce", // 4
    "msg", // 5
    "sp", // 6
    "sr0", // 7
    "cr0", // 8
    "n0", // 9
    "ip", // 10
    "tdr", // 11
    "tm0", // 12
    "fc", // 13
    "dbg0", // 14
    NULL // 15
}; // ArchRegEnumeration[]
const char* AtomicOperationTypeEnumeration[16] =
{
    "AOP_AND", // 0
    "AOP_OR", // 1
    "AOP_XOR", // 2
    "AOP_MOV", // 3
    "AOP_INC", // 4
    "AOP_DEC", // 5
    "AOP_ADD", // 6
    "AOP_SUB", // 7
    "AOP_REVSUB", // 8
    "AOP_IMAX", // 9
    "AOP_IMIN", // 10
    "AOP_UMAX", // 11
    "AOP_UMIN", // 12
    "AOP_CMPWR", // 13
    "AOP_PREDEC", // 14
    NULL // 15
}; // AtomicOperationTypeEnumeration[]
const char* BlockSizeEnumeration[6] =
{
    "OW1L", // 0
    "OW1H", // 1
    "OW2", // 2
    "OW4", // 3
    "OW8", // 4
    NULL // 5
}; // BlockSizeEnumeration[]
const char* BranchCtrlEnumeration[3] =
{
    "", // 0
    "Branch", // 1
    NULL // 2
}; // BranchCtrlEnumeration[]
const char* BranchCtrlEnumerationDisassembly[3] =
{
    "0", // 0
    "1", // 1
    NULL // 2
}; // BranchCtrlEnumerationDisassembly[]
const char* ChannelMaskEnumeration[6] =
{
    "R", // 0
    "", // 1
    "B", // 2
    "G", // 3
    "A", // 4
    NULL // 5
}; // ChannelMaskEnumeration[]
const char* ChannelModeEnumeration[3] =
{
    "Oword", // 0
    "Dword", // 1
    NULL // 2
}; // ChannelModeEnumeration[]
const char* ChannelOffsetEnumeration[9] =
{
    "M0", // 0
    "M4", // 1
    "M8", // 2
    "M12", // 3
    "M16", // 4
    "M20", // 5
    "M24", // 6
    "M28", // 7
    NULL // 8
}; // ChannelOffsetEnumeration[]
const char* CondModifierEnumeration[10] =
{
    "", // 0
    "z", // 1
    "nz", // 2
    "g", // 3
    "ge", // 4
    "l", // 5
    "le", // 6
    "o", // 7
    "u", // 8
    NULL // 9
}; // CondModifierEnumeration[]
const char* DataTypeEnumeration[16] =
{
    "ud", // 0
    "d", // 1
    "uw", // 2
    "w", // 3
    "ub", // 4
    "b", // 5
    "df", // 6
    "f", // 7
    "uq", // 8
    "q", // 9
    "hf", // 10
    "uv", // 11
    "vf", // 12
    "v", // 13
    "nf", // 14
    NULL // 15
}; // DataTypeEnumeration[]
const char* DebugCtrlEnumeration[3] =
{
    "", // 0
    "Breakpoint", // 1
    NULL // 2
}; // DebugCtrlEnumeration[]
const char* DepCtrlEnumeration[5] =
{
    "", // 0
    "NoDDClr", // 1
    "NoDDChk", // 2
    "NoDDClr, NoDDChk", // 3
    NULL // 4
}; // DepCtrlEnumeration[]
const char* DstChanEnEnumeration[17] =
{
    "", // 0
    "x", // 1
    "y", // 2
    "xy", // 3
    "z", // 4
    "xz", // 5
    "yz", // 6
    "xyz", // 7
    "w", // 8
    "xw", // 9
    "yw", // 10
    "xyw", // 11
    "zw", // 12
    "xzw", // 13
    "yzw", // 14
    "xyzw", // 15
    NULL // 16
}; // DstChanEnEnumeration[]
const char* EOTEnumeration[3] =
{
    "", // 0
    "EOT", // 1
    NULL // 2
}; // EOTEnumeration[]
const char* ExecMaskOffsetCtrlEnumeration[15] =
{
    "N1", // 0
    "N2", // 1
    "N3", // 2
    "N4", // 3
    "N5", // 4
    "N6", // 5
    "N7", // 6
    "N8", // 7
    "Q1", // 8
    "Q2", // 9
    "Q3", // 10
    "Q4", // 11
    "H1", // 12
    "H2", // 13
    NULL // 14
}; // ExecMaskOffsetCtrlEnumeration[]
const char* ExecutionDataTypeEnumeration[3] =
{
    "Integer", // 0
    "Float", // 1
    NULL // 2
}; // ExecutionDataTypeEnumeration[]
const char* FusionCtrlEnumeration[3] =
{
    "", // 0
    "Serialized", // 1
    NULL // 2
}; // FusionCtrlEnumeration[]
const char* HeaderPresentEnumeration[3] =
{
    "no", // 0
    "yes", // 1
    NULL // 2
}; // HeaderPresentEnumeration[]
const char* MaskCtrlEnumeration[3] =
{
    "", // 0
    "NoMask", // 1
    NULL // 2
}; // MaskCtrlEnumeration[]
const char* MathFCEnumeration[15] =
{
    "INV", // 0
    "LOG", // 1
    "EXP", // 2
    "SQRT", // 3
    "RSQ", // 4
    "SIN", // 5
    "COS", // 6
    "FDIV", // 7
    "POW", // 8
    "INT DIV BOTH", // 9
    "INT DIV QUOTIENT", // 10
    "INT DIV REMAINDER", // 11
    "INVM", // 12
    "RSQRTM", // 13
    NULL // 14
}; // MathFCEnumeration[]
const char* MathMacroExtEnumeration[10] =
{
    "mme0", // 0
    "mme1", // 1
    "mme2", // 2
    "mme3", // 3
    "mme4", // 4
    "mme5", // 5
    "mme6", // 6
    "mme7", // 7
    "nomme", // 8
    NULL // 9
}; // MathMacroExtEnumeration[]
const char* MessageTypeEnumeration[64] =
{
    "MSD0R_HWB", // 0
    "MSD0W_HWB", // 1
    "MT0R_OWB", // 2
    "MT0R_OWUB", // 3
    "MT0R_OWDB", // 4
    "MT0R_DWS", // 5
    "MT0R_BS", // 6
    "MT0_MEMFENCE", // 7
    "MT0W_OWB", // 8
    "MT0W_OWDB", // 9
    "MT0W_DWS", // 10
    "MT0W_BS", // 11
    "MT1R_T", // 12
    "MT1R_US", // 13
    "MT1A_UI", // 14
    "MT1A_UI4x2", // 15
    "MT1R_MB", // 16
    "MT1R_TS", // 17
    "MT1A_TA", // 18
    "MT1A_TA4x2", // 19
    "MT1W_US", // 20
    "MT1W_MB", // 21
    "MT1A_TC", // 22
    "MT1A_TC4x2", // 23
    "MT1W_TS", // 24
    "MT1R_A64_SB", // 25
    "MT1R_A64_US", // 26
    "MT1A_A64_UI", // 27
    "MT1A_A64_UI4x2", // 28
    "MT1R_A64_B", // 29
    "MT1W_A64_B", // 30
    "MT1W_A64_US", // 31
    "MT1W_A64_SB", // 32
    "MT2R_US", // 33
    "MT2R_A64_SB", // 34
    "MT2R_A64_US", // 35
    "MT2R_BS", // 36
    "MT2W_US", // 37
    "MT2W_A64_US", // 38
    "MT2W_A64_SB", // 39
    "MT2W_BS", // 40
    "MT_CC_OWB", // 41
    "MT_CC_OWUB", // 42
    "MT_CC_OWDB", // 43
    "MT_CC_DWS", // 44
    "MT_SC_OWUB", // 45
    "MT_SC_MB", // 46
    "MT_RSI", // 47
    "MT_RTW", // 48
    "MT_RTR", // 49
    "MTR_MB", // 50
    "MTRR_TS", // 51
    "MTRA_TA", // 52
    "MT_MEMFENCE", // 53
    "MTW_MB", // 54
    "MTRW_TS", // 55
    "MT0R_US", // 56
    "MT0A_UI", // 57
    "MT0W_US", // 58
    "MT1A_UF4x2", // 59
    "MT1A_UF", // 60
    "MT1A_A64_UF", // 61
    "MT1A_A64_UF4x2", // 62
    NULL // 63
}; // MessageTypeEnumeration[]
const char* MessageTypeEnumerationDisassembly[64] =
{
    "Scratch Block Read", // 0
    "Scratch Block Write", // 1
    "OWord Block Read", // 2
    "Unaligned OWord Block Read", // 3
    "OWord Dual Block Read", // 4
    "DWord Scattered Read", // 5
    "Byte Scattered Read", // 6
    "Memory Fence", // 7
    "OWord Block Write", // 8
    "OWord Dual Block Write", // 9
    "DWord Scattered Write", // 10
    "Byte Scattered Write", // 11
    "Transpose Read", // 12
    "Untyped Surface Read", // 13
    "Untyped Atomic Integer Operation", // 14
    "Untyped Atomic Integer Operation SIMD4x2", // 15
    "Media Block Read", // 16
    "Typed Surface Read", // 17
    "Typed Atomic Integer Operation", // 18
    "Typed Atomic Integer Operation SIMD4x2", // 19
    "Untyped Surface Write", // 20
    "Media Block Write", // 21
    "Typed Atomic Counter Operation", // 22
    "Typed Atomic Counter Operation SIMD4x2", // 23
    "Typed Surface Write", // 24
    "A64 Scattered Read", // 25
    "A64 Untyped Surface Read", // 26
    "A64 Untyped Atomic Integer Operation", // 27
    "A64 Untyped Atomic Integer Operation SIMD4x2", // 28
    "A64 Block Read", // 29
    "A64 Block Write", // 30
    "A64 Untyped Surface Write", // 31
    "A64 Scattered Write", // 32
    "Untyped Surface Read", // 33
    "A64 Scattered Read", // 34
    "A64 Untyped Surface Read", // 35
    "Byte Scattered Read", // 36
    "Untyped Surface Write", // 37
    "A64 Untyped Surface Write", // 38
    "A64 Scattered Write", // 39
    "Byte Scattered Write", // 40
    "Oword Block Read Constant Cache", // 41
    "Unaligned Oword Block Read Constant Cache", // 42
    "Oword Dual Block Read Constant Cache", // 43
    "Dword Scattered Read Constant Cache", // 44
    "Unaligned Oword Block Read Sampler Cache", // 45
    "Media Block Read Sampler Cache", // 46
    "Read Surface Info", // 47
    "Render Target Write", // 48
    "Render Target Read", // 49
    "Media Block Read", // 50
    "Typed Surface Read", // 51
    "Typed Atomic Operation", // 52
    "Memory Fence", // 53
    "Media Block Write", // 54
    "Typed Surface Write", // 55
    "Untyped Surface Read", // 56
    "Untyped Atomic Operation", // 57
    "Untyped Surface Write", // 58
    "A64 Untyped Atomic Float Add", // 59
    "Untyped Atomic Float Operation", // 60
    "A64 Untyped Atomic Float Operation", // 61
    "A64 Untyped Atomic Float Operation SIMD4x2", // 62
    NULL // 63
}; // MessageTypeEnumerationDisassembly[]
const char* NoSrcDepSetEnumeration[3] =
{
    "", // 0
    "NoSrcDepSet", // 1
    NULL // 2
}; // NoSrcDepSetEnumeration[]
const char* OpcodeEnumeration[76] =
{
    "illegal", // 0
    "mov", // 1
    "sel", // 2
    "movi", // 3
    "not", // 4
    "and", // 5
    "or", // 6
    "xor", // 7
    "shr", // 8
    "shl", // 9
    "smov", // 10
    "asr", // 11
    "cmp", // 12
    "cmpn", // 13
    "csel", // 14
    "bfrev", // 15
    "bfe", // 16
    "bfi1", // 17
    "bfi2", // 18
    "jmpi", // 19
    "brd", // 20
    "if", // 21
    "brc", // 22
    "else", // 23
    "endif", // 24
    "while", // 25
    "break", // 26
    "cont", // 27
    "halt", // 28
    "calla", // 29
    "call", // 30
    "ret", // 31
    "goto", // 32
    "join", // 33
    "wait", // 34
    "send", // 35
    "sendc", // 36
    "sends", // 37
    "sendsc", // 38
    "math", // 39
    "add", // 40
    "mul", // 41
    "avg", // 42
    "frc", // 43
    "rndu", // 44
    "rndd", // 45
    "rnde", // 46
    "rndz", // 47
    "mac", // 48
    "mach", // 49
    "lzd", // 50
    "fbh", // 51
    "fbl", // 52
    "cbit", // 53
    "addc", // 54
    "subb", // 55
    "sad2", // 56
    "sada2", // 57
    "dp4", // 58
    "dph", // 59
    "dp3", // 60
    "dp2", // 61
    "line", // 62
    "pln", // 63
    "mad", // 64
    "lrp", // 65
    "madm", // 66
    "nop", // 67
    "ror", // 68
    "rol", // 69
    "dp4a", // 70
    "sync", // 71
    "f32to16", // 72
    "f16to32", // 73
    "dim", // 74
    NULL // 75
}; // OpcodeEnumeration[]
const char* PredCtrlEnumeration[19] =
{
    "", // 0
    "", // 1
    "anyv", // 2
    "allv", // 3
    "any2h", // 4
    "all2h", // 5
    "any4h", // 6
    "all4h", // 7
    "any8h", // 8
    "all8h", // 9
    "any16h", // 10
    "all16h", // 11
    "any32h", // 12
    "all32h", // 13
    "x", // 14
    "y", // 15
    "z", // 16
    "w", // 17
    NULL // 18
}; // PredCtrlEnumeration[]
const char* PredInvEnumeration[3] =
{
    "+", // 0
    "-", // 1
    NULL // 2
}; // PredInvEnumeration[]
const char* RegFileEnumeration[4] =
{
    "ARF", // 0
    "GRF", // 1
    "IMM", // 2
    NULL // 3
}; // RegFileEnumeration[]
const char* RegFileEnumerationDisassembly[4] =
{
    "", // 0
    "r", // 1
    "", // 2
    NULL // 3
}; // RegFileEnumerationDisassembly[]
const char* RepCtrlEnumeration[3] =
{
    "", // 0
    "", // 1
    NULL // 2
}; // RepCtrlEnumeration[]
const char* RepCtrlEnumerationDisassembly[3] =
{
    "", // 0
    "r", // 1
    NULL // 2
}; // RepCtrlEnumerationDisassembly[]
const char* ReturnDataControlEnumeration[3] =
{
    "", // 0
    "", // 1
    NULL // 2
}; // ReturnDataControlEnumeration[]
const char* ReturnDataControlEnumerationDisassembly[3] =
{
    "no", // 0
    "yes", // 1
    NULL // 2
}; // ReturnDataControlEnumerationDisassembly[]
const char* SaturateEnumeration[3] =
{
    "", // 0
    "sat", // 1
    NULL // 2
}; // SaturateEnumeration[]
const char* SFIDEnumeration[16] =
{
    "NULL", // 0
    "SAMPLER", // 1
    "GATEWAY", // 2
    "DP_DC2", // 3
    "DP_RC", // 4
    "URB", // 5
    "SPAWNER", // 6
    "VME", // 7
    "DP_DCRO", // 8
    "DP_DC0", // 9
    "PI", // 10
    "DP_DC1", // 11
    "CRE", // 12
    "DP_SAMPLER", // 13
    "DP_CC", // 14
    NULL // 15
}; // SFIDEnumeration[]
const char* SFIDEnumerationDisassembly[16] =
{
    "Null", // 0
    "Sampler", // 1
    "Message Gateway", // 2
    "Data Cache Data Port 2", // 3
    "Render Cache Data Port", // 4
    "URB", // 5
    "Thread Spawner", // 6
    "Video Motion Estimation", // 7
    "Data Cache Read Only Data Port", // 8
    "Data Cache Data Port 0", // 9
    "Pixel Interpolator", // 10
    "Data Cache Data Port 1", // 11
    "Check and Refinement Engine", // 12
    "Sampler Cache Data Port", // 13
    "Constant Cache Data Port", // 14
    NULL // 15
}; // SFIDEnumerationDisassembly[]
const char* SIMDModeEnumeration[4] =
{
    "SIMD4x2", // 0
    "SIMD16", // 1
    "SIMD8", // 2
    NULL // 3
}; // SIMDModeEnumeration[]
const char* SlotGroupEnumeration[4] =
{
    "SIMD4x2", // 0
    "low_8", // 1
    "high_8", // 2
    NULL // 3
}; // SlotGroupEnumeration[]
const char* SrcModEnumeration[5] =
{
    "", // 0
    "(abs)", // 1
    "-", // 2
    "-(abs)", // 3
    NULL // 4
}; // SrcModEnumeration[]
const char* SubFuncIDEnumeration[8] =
{
    "GetTimeStamp", // 0
    "BarrierMsg", // 1
    "OpenGateway", // 2
    "CloseGateway", // 3
    "ForwardMsg", // 4
    "UpdateGateState", // 5
    "MMIOReadWrite", // 6
    NULL // 7
}; // SubFuncIDEnumeration[]
const char* SwizzleEnumeration[5] =
{
    "x", // 0
    "y", // 1
    "z", // 2
    "w", // 3
    NULL // 4
}; // SwizzleEnumeration[]
const char* SyncFCEnumeration[7] =
{
    "nop", // 0
    "grfsb", // 1
    "allrd", // 2
    "allwr", // 3
    "bar", // 4
    "host", // 5
    NULL // 6
}; // SyncFCEnumeration[]
const char* ThreadCtrlEnumeration[5] =
{
    "", // 0
    "Atomic", // 1
    "NoPreempt", // 2
    "Switch", // 3
    NULL // 4
}; // ThreadCtrlEnumeration[]
