mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-12 17:00:41 +02:00
975 lines
16 KiB
JSON
975 lines
16 KiB
JSON
{
|
|
"Defines": [
|
|
"constexpr static uint8_t COND_EQ = 0",
|
|
"constexpr static uint8_t COND_NEQ = 1",
|
|
"constexpr static uint8_t COND_UGE = 2",
|
|
"constexpr static uint8_t COND_ULT = 3",
|
|
"constexpr static uint8_t COND_MI = 4",
|
|
"constexpr static uint8_t COND_PL = 5",
|
|
"constexpr static uint8_t COND_VS = 6",
|
|
"constexpr static uint8_t COND_VC = 7",
|
|
"constexpr static uint8_t COND_UGT = 8",
|
|
"constexpr static uint8_t COND_ULE = 9",
|
|
"constexpr static uint8_t COND_SGE = 10",
|
|
"constexpr static uint8_t COND_SLT = 11",
|
|
"constexpr static uint8_t COND_SGT = 12",
|
|
"constexpr static uint8_t COND_SLE = 13"
|
|
],
|
|
|
|
"Ops": {
|
|
"Dummy": {
|
|
},
|
|
"IRHeader": {
|
|
"SSAArgs": "1",
|
|
"SSANames": [
|
|
"Blocks"
|
|
],
|
|
"Args": [
|
|
"uint64_t", "Entry",
|
|
"uint32_t", "BlockCount"
|
|
]
|
|
},
|
|
"CodeBlock": {
|
|
"SSAArgs": "3",
|
|
"RAOverride": "0",
|
|
"SSANames": [
|
|
"Begin",
|
|
"Last",
|
|
"Next"
|
|
]
|
|
},
|
|
"BeginBlock": {},
|
|
"EndBlock": {
|
|
"Args": [
|
|
"uint64_t", "RIPIncrement"
|
|
]
|
|
},
|
|
|
|
"GuestCallDirect": {
|
|
"Args": [
|
|
"uint64_t", "RIP",
|
|
"uint64_t", "NextRIP"
|
|
]
|
|
},
|
|
|
|
"GuestCallIndirect": {
|
|
"SSAArgs": "1",
|
|
"SSANames": [
|
|
"RIP"
|
|
],
|
|
"Args": [
|
|
"uint64_t", "NextRIP"
|
|
]
|
|
},
|
|
|
|
"GuestReturn": {
|
|
},
|
|
|
|
"Constant": {
|
|
"HasDest": true,
|
|
"FixedDestSize": "8",
|
|
"Args": [
|
|
"uint64_t", "Constant"
|
|
]
|
|
},
|
|
|
|
"Break": {
|
|
"Args": [
|
|
"uint8_t", "Reason",
|
|
"uint8_t", "Literal"
|
|
]
|
|
},
|
|
|
|
"ExitFunction": {},
|
|
|
|
"Jump": {
|
|
"SSAArgs": "1",
|
|
"RAOverride": "0"
|
|
},
|
|
|
|
"CondJump": {
|
|
"SSAArgs": "3",
|
|
"RAOverride": "1",
|
|
"SSANames": [
|
|
"Cond",
|
|
"TrueBlock",
|
|
"FalseBlock"
|
|
]
|
|
},
|
|
|
|
"Phi": {
|
|
"HasDest": true,
|
|
"DestSize": "~0",
|
|
"ArgPrinter": false,
|
|
"SSAArgs": "2",
|
|
"RAOverride": 0,
|
|
"SSANames": [
|
|
"PhiBegin",
|
|
"PhiEnd"
|
|
],
|
|
"Args": [
|
|
"uint8_t", "Class"
|
|
]
|
|
},
|
|
|
|
"PhiValue": {
|
|
"SSAArgs": "3",
|
|
"RAOverride": 0,
|
|
"DestSize": "GetOpSize(ssa0)",
|
|
"SSANames": [
|
|
"Value",
|
|
"Block",
|
|
"Next"
|
|
]
|
|
},
|
|
|
|
"Mov": {
|
|
"HasDest": true,
|
|
"DestSize": "GetOpSize(ssa0)",
|
|
"SSAArgs": "1"
|
|
},
|
|
|
|
"CycleCounter": {
|
|
"HasDest": true,
|
|
"FixedDestSize": "8"
|
|
},
|
|
|
|
"LoadContext": {
|
|
"HasDest": true,
|
|
"DestSize": "Size",
|
|
"Args": [
|
|
"uint8_t", "Size",
|
|
"uint32_t", "Offset"
|
|
]
|
|
},
|
|
|
|
"StoreContext": {
|
|
"SSAArgs": "1",
|
|
"Args": [
|
|
"uint8_t", "Size",
|
|
"uint32_t", "Offset"
|
|
]
|
|
},
|
|
"LoadContextIndexed": {
|
|
"SSAArgs": "1",
|
|
"HasDest": true,
|
|
"DestSize": "Size",
|
|
"Args": [
|
|
"uint8_t", "Size",
|
|
"uint32_t", "BaseOffset",
|
|
"uint32_t", "Stride"
|
|
]
|
|
},
|
|
"StoreContextIndexed": {
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "Size",
|
|
"uint32_t", "BaseOffset",
|
|
"uint32_t", "Stride"
|
|
]
|
|
},
|
|
"SpillRegister": {
|
|
"SSAArgs": "1",
|
|
"Args": [
|
|
"uint32_t", "Slot",
|
|
"RegisterClassType", "Class"
|
|
]
|
|
},
|
|
"FillRegister": {
|
|
"HasDest": true,
|
|
"Args": [
|
|
"uint32_t", "Slot",
|
|
"RegisterClassType", "Class"
|
|
]
|
|
},
|
|
|
|
"LoadFlag": {
|
|
"HasDest": true,
|
|
"DestSize": "1",
|
|
"Args": [
|
|
"uint32_t", "Flag"
|
|
]
|
|
},
|
|
|
|
"StoreFlag": {
|
|
"SSAArgs": "1",
|
|
"Args": [
|
|
"uint32_t", "Flag"
|
|
]
|
|
},
|
|
|
|
"Syscall": {
|
|
"HasDest": true,
|
|
"FixedDestSize": "8",
|
|
"SSAArgs": "7"
|
|
},
|
|
|
|
"LoadMem": {
|
|
"HasDest": true,
|
|
"DestSize": "Size",
|
|
"SSAArgs": "1",
|
|
"Args": [
|
|
"uint8_t", "Size",
|
|
"uint8_t", "Align"
|
|
]
|
|
},
|
|
|
|
"StoreMem": {
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "Size",
|
|
"uint8_t", "Align"
|
|
]
|
|
},
|
|
|
|
"Add": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2"
|
|
},
|
|
|
|
"Sub": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2"
|
|
},
|
|
|
|
"Mul": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2"
|
|
},
|
|
|
|
"UMul": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2"
|
|
},
|
|
|
|
"Div": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2"
|
|
},
|
|
|
|
"UDiv": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2"
|
|
},
|
|
|
|
"Rem": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2"
|
|
},
|
|
|
|
"URem": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2"
|
|
},
|
|
|
|
"MulH": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2"
|
|
},
|
|
|
|
"UMulH": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2"
|
|
},
|
|
|
|
"Or": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2"
|
|
},
|
|
|
|
"And": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2"
|
|
},
|
|
|
|
"Xor": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2"
|
|
},
|
|
|
|
"Lshl": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2"
|
|
},
|
|
|
|
"Lshr": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2"
|
|
},
|
|
|
|
"Ashr": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2"
|
|
},
|
|
|
|
"Rol": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2"
|
|
},
|
|
|
|
"Ror": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2"
|
|
},
|
|
|
|
"LDiv": {
|
|
"HasDest": true,
|
|
"SSAArgs": "3"
|
|
},
|
|
|
|
"LUDiv": {
|
|
"HasDest": true,
|
|
"SSAArgs": "3"
|
|
},
|
|
|
|
"LRem": {
|
|
"HasDest": true,
|
|
"SSAArgs": "3"
|
|
},
|
|
|
|
"LURem": {
|
|
"HasDest": true,
|
|
"SSAArgs": "3"
|
|
},
|
|
|
|
"Zext": {
|
|
"HasDest": true,
|
|
"DestSize": "SrcSize / 4",
|
|
"SSAArgs": "1",
|
|
"Args": [
|
|
"uint8_t", "SrcSize"
|
|
]
|
|
},
|
|
|
|
"Sext": {
|
|
"HasDest": true,
|
|
"DestSize": "SrcSize / 4",
|
|
"SSAArgs": "1",
|
|
"Args": [
|
|
"uint8_t", "SrcSize"
|
|
]
|
|
},
|
|
|
|
"Neg": {
|
|
"HasDest": true,
|
|
"SSAArgs": "1"
|
|
},
|
|
|
|
"Popcount": {
|
|
"HasDest": true,
|
|
"SSAArgs": "1"
|
|
},
|
|
|
|
"FindLSB": {
|
|
"HasDest": true,
|
|
"SSAArgs": "1"
|
|
},
|
|
|
|
"FindMSB": {
|
|
"HasDest": true,
|
|
"SSAArgs": "1"
|
|
},
|
|
|
|
"FindTrailingZeros": {
|
|
"HasDest": true,
|
|
"SSAArgs": "1"
|
|
},
|
|
|
|
"Rev": {
|
|
"HasDest": true,
|
|
"SSAArgs": "1"
|
|
},
|
|
|
|
"CPUID": {
|
|
"HasDest": true,
|
|
"FixedDestSize": "4",
|
|
"NumElements": "4",
|
|
"SSAArgs": "1"
|
|
},
|
|
|
|
"Bfi": {
|
|
"HasDest": true,
|
|
"DestSize": "GetOpSize(ssa0)",
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "Width",
|
|
"uint8_t", "lsb"
|
|
]
|
|
},
|
|
|
|
"Bfe": {
|
|
"HasDest": true,
|
|
"DestSize": "GetOpSize(ssa0)",
|
|
"SSAArgs": "1",
|
|
"Args": [
|
|
"uint8_t", "Width",
|
|
"uint8_t", "lsb"
|
|
]
|
|
},
|
|
|
|
"Sbfe": {
|
|
"HasDest": true,
|
|
"SSAArgs": "1",
|
|
"Args": [
|
|
"uint8_t", "Width",
|
|
"uint8_t", "lsb"
|
|
]
|
|
},
|
|
|
|
"Select": {
|
|
"HasDest": true,
|
|
"SSAArgs": "4",
|
|
"Args": [
|
|
"CondClassType", "Cond"
|
|
]
|
|
},
|
|
|
|
"CAS": {
|
|
"HasDest": true,
|
|
"DestSize": "GetOpSize(ssa0)",
|
|
"SSAArgs": "3"
|
|
},
|
|
|
|
"AtomicAdd": {
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "Size"
|
|
]
|
|
},
|
|
|
|
"AtomicSub": {
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "Size"
|
|
]
|
|
},
|
|
|
|
"AtomicAnd": {
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "Size"
|
|
]
|
|
},
|
|
|
|
"AtomicOr": {
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "Size"
|
|
]
|
|
},
|
|
|
|
"AtomicXor": {
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "Size"
|
|
]
|
|
},
|
|
|
|
"AtomicSwap": {
|
|
"HasDest": true,
|
|
"DestSize": "Size",
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "Size"
|
|
]
|
|
},
|
|
|
|
"AtomicFetchAdd": {
|
|
"HasDest": true,
|
|
"DestSize": "Size",
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "Size"
|
|
]
|
|
},
|
|
|
|
"AtomicFetchSub": {
|
|
"HasDest": true,
|
|
"DestSize": "Size",
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "Size"
|
|
]
|
|
},
|
|
|
|
"AtomicFetchAnd": {
|
|
"HasDest": true,
|
|
"DestSize": "Size",
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "Size"
|
|
]
|
|
},
|
|
|
|
"AtomicFetchOr": {
|
|
"HasDest": true,
|
|
"DestSize": "Size",
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "Size"
|
|
]
|
|
},
|
|
|
|
"AtomicFetchXor": {
|
|
"HasDest": true,
|
|
"DestSize": "Size",
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "Size"
|
|
]
|
|
},
|
|
|
|
"VExtractToGPR": {
|
|
"HasDest": true,
|
|
"SSAArgs": "1",
|
|
"DestSize": "ElementSize",
|
|
"Args": [
|
|
"uint8_t", "RegisterSize",
|
|
"uint8_t", "ElementSize",
|
|
"uint8_t", "Idx"
|
|
]
|
|
},
|
|
|
|
"FCVTZU": {
|
|
"HasDest": true,
|
|
"SSAArgs": "1",
|
|
"Args": [
|
|
"uint8_t", "ElementSize"
|
|
]
|
|
},
|
|
|
|
"FCVTZS": {
|
|
"HasDest": true,
|
|
"SSAArgs": "1",
|
|
"Args": [
|
|
"uint8_t", "ElementSize"
|
|
]
|
|
},
|
|
|
|
"ExtractElement": {
|
|
"HasDest": true,
|
|
"DestSize": "GetOpSize(ssa0)",
|
|
"SSAArgs": "1",
|
|
"Args": [
|
|
"uint8_t", "Idx"
|
|
]
|
|
},
|
|
|
|
"Print": {
|
|
"SSAArgs": "1"
|
|
},
|
|
|
|
"CreateVector2": {
|
|
"HasDest": true,
|
|
"DestSize": "GetOpSize(ssa0) * 2",
|
|
"SSAArgs": "2"
|
|
},
|
|
|
|
"CreateVector3": {
|
|
"HasDest": true,
|
|
"DestSize": "GetOpSize(ssa0) * 3",
|
|
"SSAArgs": "3"
|
|
},
|
|
|
|
"CreateVector4": {
|
|
"HasDest": true,
|
|
"DestSize": "GetOpSize(ssa0) * 4",
|
|
"SSAArgs": "4"
|
|
},
|
|
|
|
"SplatVector2": {
|
|
"HasDest": true,
|
|
"NumElements": "2",
|
|
"DestSize": "GetOpSize(ssa0)",
|
|
"SSAArgs": "1"
|
|
},
|
|
|
|
"SplatVector3": {
|
|
"HasDest": true,
|
|
"NumElements": "3",
|
|
"DestSize": "GetOpSize(ssa0)",
|
|
"SSAArgs": "1"
|
|
},
|
|
|
|
"SplatVector4": {
|
|
"HasDest": true,
|
|
"NumElements": "4",
|
|
"DestSize": "GetOpSize(ssa0)",
|
|
"SSAArgs": "1"
|
|
},
|
|
|
|
"VAnd": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "RegisterSize",
|
|
"uint8_t", "ElementSize"
|
|
]
|
|
},
|
|
|
|
"VOr": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "RegisterSize",
|
|
"uint8_t", "ElementSize"
|
|
]
|
|
},
|
|
|
|
"VXor": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "RegisterSize",
|
|
"uint8_t", "ElementSize"
|
|
]
|
|
},
|
|
|
|
"VAdd": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "RegisterSize",
|
|
"uint8_t", "ElementSize"
|
|
]
|
|
},
|
|
|
|
"VSub": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "RegisterSize",
|
|
"uint8_t", "ElementSize"
|
|
]
|
|
},
|
|
|
|
"VFAdd": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "RegisterSize",
|
|
"uint8_t", "ElementSize"
|
|
]
|
|
},
|
|
|
|
"VFSub": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "RegisterSize",
|
|
"uint8_t", "ElementSize"
|
|
]
|
|
},
|
|
|
|
"VFMul": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "RegisterSize",
|
|
"uint8_t", "ElementSize"
|
|
]
|
|
},
|
|
|
|
"VFDiv": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "RegisterSize",
|
|
"uint8_t", "ElementSize"
|
|
]
|
|
},
|
|
|
|
"VFMin": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "RegisterSize",
|
|
"uint8_t", "ElementSize"
|
|
]
|
|
},
|
|
|
|
"VFMax": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "RegisterSize",
|
|
"uint8_t", "ElementSize"
|
|
]
|
|
},
|
|
|
|
"VFMin": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "RegisterSize",
|
|
"uint8_t", "ElementSize"
|
|
]
|
|
},
|
|
|
|
"VFRecp": {
|
|
"HasDest": true,
|
|
"SSAArgs": "1",
|
|
"Args": [
|
|
"uint8_t", "RegisterSize",
|
|
"uint8_t", "ElementSize"
|
|
]
|
|
},
|
|
|
|
"VFSqrt": {
|
|
"HasDest": true,
|
|
"SSAArgs": "1",
|
|
"Args": [
|
|
"uint8_t", "RegisterSize",
|
|
"uint8_t", "ElementSize"
|
|
]
|
|
},
|
|
|
|
"VFRSqrt": {
|
|
"HasDest": true,
|
|
"SSAArgs": "1",
|
|
"Args": [
|
|
"uint8_t", "RegisterSize",
|
|
"uint8_t", "ElementSize"
|
|
]
|
|
},
|
|
|
|
"VNeg": {
|
|
"HasDest": true,
|
|
"SSAArgs": "1",
|
|
"Args": [
|
|
"uint8_t", "RegisterSize",
|
|
"uint8_t", "ElementSize"
|
|
]
|
|
},
|
|
|
|
"VNot": {
|
|
"HasDest": true,
|
|
"SSAArgs": "1",
|
|
"Args": [
|
|
"uint8_t", "RegisterSize",
|
|
"uint8_t", "ElementSize"
|
|
]
|
|
},
|
|
|
|
"VUMin": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "RegisterSize",
|
|
"uint8_t", "ElementSize"
|
|
]
|
|
},
|
|
|
|
"VSMin": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "RegisterSize",
|
|
"uint8_t", "ElementSize"
|
|
]
|
|
},
|
|
|
|
"VUMax": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "RegisterSize",
|
|
"uint8_t", "ElementSize"
|
|
]
|
|
},
|
|
|
|
"VSMax": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "RegisterSize",
|
|
"uint8_t", "ElementSize"
|
|
]
|
|
},
|
|
|
|
"VZip": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "RegisterSize",
|
|
"uint8_t", "ElementSize"
|
|
]
|
|
},
|
|
|
|
"VZip2": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "RegisterSize",
|
|
"uint8_t", "ElementSize"
|
|
]
|
|
},
|
|
|
|
"VCMPEQ": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "RegisterSize",
|
|
"uint8_t", "ElementSize"
|
|
]
|
|
},
|
|
|
|
"VCMPGT": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "RegisterSize",
|
|
"uint8_t", "ElementSize"
|
|
]
|
|
},
|
|
|
|
"VFCMPEQ": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "RegisterSize",
|
|
"uint8_t", "ElementSize"
|
|
]
|
|
},
|
|
|
|
"VFCMPLT": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "RegisterSize",
|
|
"uint8_t", "ElementSize"
|
|
]
|
|
},
|
|
|
|
"VFCMPGT": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "RegisterSize",
|
|
"uint8_t", "ElementSize"
|
|
]
|
|
},
|
|
|
|
"VFCMPLE": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "RegisterSize",
|
|
"uint8_t", "ElementSize"
|
|
]
|
|
},
|
|
|
|
"VUShl": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "RegisterSize",
|
|
"uint8_t", "ElementSize"
|
|
]
|
|
},
|
|
|
|
"VUShlS": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "RegisterSize",
|
|
"uint8_t", "ElementSize"
|
|
]
|
|
},
|
|
|
|
"VUShr": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "RegisterSize",
|
|
"uint8_t", "ElementSize"
|
|
]
|
|
},
|
|
|
|
"VInsElement": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "RegisterSize",
|
|
"uint8_t", "ElementSize",
|
|
"uint8_t", "DestIdx",
|
|
"uint8_t", "SrcIdx"
|
|
]
|
|
},
|
|
|
|
"VExtr": {
|
|
"HasDest": true,
|
|
"SSAArgs": "2",
|
|
"Args": [
|
|
"uint8_t", "RegisterSize",
|
|
"uint8_t", "ElementSize",
|
|
"uint8_t", "Index"
|
|
]
|
|
},
|
|
|
|
"VSLI": {
|
|
"HasDest": true,
|
|
"SSAArgs": "1",
|
|
"Args": [
|
|
"uint8_t", "RegisterSize",
|
|
"uint8_t", "ElementSize",
|
|
"uint8_t", "ByteShift"
|
|
]
|
|
},
|
|
|
|
"VSRI": {
|
|
"HasDest": true,
|
|
"SSAArgs": "1",
|
|
"Args": [
|
|
"uint8_t", "RegisterSize",
|
|
"uint8_t", "ElementSize",
|
|
"uint8_t", "ByteShift"
|
|
]
|
|
},
|
|
|
|
"VBitcast": {
|
|
"HasDest": true,
|
|
"SSAArgs": "1"
|
|
},
|
|
|
|
"VCastFromGPR": {
|
|
"HasDest": true,
|
|
"SSAArgs": "1",
|
|
"Args": [
|
|
"uint8_t", "RegisterSize",
|
|
"uint8_t", "ElementSize"
|
|
]
|
|
},
|
|
|
|
"UCVTF": {
|
|
"HasDest": true,
|
|
"SSAArgs": "1",
|
|
"Args": [
|
|
"uint8_t", "ElementSize"
|
|
]
|
|
},
|
|
|
|
"SCVTF": {
|
|
"HasDest": true,
|
|
"SSAArgs": "1",
|
|
"Args": [
|
|
"uint8_t", "ElementSize"
|
|
]
|
|
},
|
|
|
|
"FCVTF": {
|
|
"HasDest": true,
|
|
"SSAArgs": "1",
|
|
"Args": [
|
|
"uint8_t", "DstElementSize",
|
|
"uint8_t", "SrcElementSize"
|
|
]
|
|
},
|
|
|
|
"Last": {
|
|
"Last": true,
|
|
"Args": []
|
|
}
|
|
}
|
|
}
|