#[repr(u32)]
pub enum OpCode {
Copy = 1,
Load = 2,
Store = 3,
Branch = 4,
Cbranch = 5,
Branchind = 6,
Call = 7,
Callind = 8,
Callother = 9,
Return = 10,
IntEqual = 11,
IntNotequal = 12,
IntSless = 13,
IntSlessequal = 14,
IntLess = 15,
IntLessequal = 16,
IntZext = 17,
IntSext = 18,
IntAdd = 19,
IntSub = 20,
IntCarry = 21,
IntScarry = 22,
IntSborrow = 23,
Int2comp = 24,
IntNegate = 25,
IntXor = 26,
IntAnd = 27,
IntOr = 28,
IntLeft = 29,
IntRight = 30,
IntSright = 31,
IntMult = 32,
IntDiv = 33,
IntSdiv = 34,
IntRem = 35,
IntSrem = 36,
BoolNegate = 37,
BoolXor = 38,
BoolAnd = 39,
BoolOr = 40,
FloatEqual = 41,
FloatNotequal = 42,
FloatLess = 43,
FloatLessequal = 44,
FloatNan = 46,
FloatAdd = 47,
FloatDiv = 48,
FloatMult = 49,
FloatSub = 50,
FloatNeg = 51,
FloatAbs = 52,
FloatSqrt = 53,
FloatInt2float = 54,
FloatFloat2float = 55,
FloatTrunc = 56,
FloatCeil = 57,
FloatFloor = 58,
FloatRound = 59,
Multiequal = 60,
Indirect = 61,
Piece = 62,
Subpiece = 63,
Cast = 64,
Ptradd = 65,
Ptrsub = 66,
Segmentop = 67,
Cpoolref = 68,
New = 69,
Insert = 70,
Extract = 71,
Popcount = 72,
Lzcount = 73,
Max = 74,
}
#[repr(u32)]
pub enum Spacetype {
Constant = 0,
Processor = 1,
Spacebase = 2,
Internal = 3,
Fspec = 4,
Iop = 5,
Join = 6,
}
#[repr(u32)]
pub enum TypeMetatype {
Partialunion = 0,
Partialstruct = 1,
Partialenum = 2,
Union = 3,
Struct = 4,
EnumInt = 5,
EnumUint = 6,
Array = 7,
Ptrrel = 8,
Ptr = 9,
Float = 10,
Code = 11,
Bool = 12,
Uint = 13,
Int = 14,
Unknown = 15,
Spacebase = 16,
Void = 17,
}