|
|
@ -280,6 +280,19 @@ union Instruction { |
|
|
BitField<56, 1, u64> invert_b; |
|
|
BitField<56, 1, u64> invert_b; |
|
|
} lop32i; |
|
|
} lop32i; |
|
|
|
|
|
|
|
|
|
|
|
union { |
|
|
|
|
|
BitField<28, 8, u64> imm_lut28; |
|
|
|
|
|
BitField<48, 8, u64> imm_lut48; |
|
|
|
|
|
|
|
|
|
|
|
u32 GetImmLut28() const { |
|
|
|
|
|
return static_cast<u32>(imm_lut28); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
u32 GetImmLut48() const { |
|
|
|
|
|
return static_cast<u32>(imm_lut48); |
|
|
|
|
|
} |
|
|
|
|
|
} lop3; |
|
|
|
|
|
|
|
|
u32 GetImm20_19() const { |
|
|
u32 GetImm20_19() const { |
|
|
u32 imm{static_cast<u32>(imm20_19)}; |
|
|
u32 imm{static_cast<u32>(imm20_19)}; |
|
|
imm <<= 12; |
|
|
imm <<= 12; |
|
|
@ -650,6 +663,9 @@ public: |
|
|
LOP_R, |
|
|
LOP_R, |
|
|
LOP_IMM, |
|
|
LOP_IMM, |
|
|
LOP32I, |
|
|
LOP32I, |
|
|
|
|
|
LOP3_C, |
|
|
|
|
|
LOP3_R, |
|
|
|
|
|
LOP3_IMM, |
|
|
MOV_C, |
|
|
MOV_C, |
|
|
MOV_R, |
|
|
MOV_R, |
|
|
MOV_IMM, |
|
|
MOV_IMM, |
|
|
@ -872,6 +888,9 @@ private: |
|
|
INST("0101110001000---", Id::LOP_R, Type::ArithmeticInteger, "LOP_R"), |
|
|
INST("0101110001000---", Id::LOP_R, Type::ArithmeticInteger, "LOP_R"), |
|
|
INST("0011100001000---", Id::LOP_IMM, Type::ArithmeticInteger, "LOP_IMM"), |
|
|
INST("0011100001000---", Id::LOP_IMM, Type::ArithmeticInteger, "LOP_IMM"), |
|
|
INST("000001----------", Id::LOP32I, Type::ArithmeticIntegerImmediate, "LOP32I"), |
|
|
INST("000001----------", Id::LOP32I, Type::ArithmeticIntegerImmediate, "LOP32I"), |
|
|
|
|
|
INST("0000001---------", Id::LOP3_C, Type::ArithmeticInteger, "LOP3_C"), |
|
|
|
|
|
INST("0101101111100---", Id::LOP3_R, Type::ArithmeticInteger, "LOP3_R"), |
|
|
|
|
|
INST("0011110---------", Id::LOP3_IMM, Type::ArithmeticInteger, "LOP3_IMM"), |
|
|
INST("0100110001001---", Id::SHL_C, Type::Shift, "SHL_C"), |
|
|
INST("0100110001001---", Id::SHL_C, Type::Shift, "SHL_C"), |
|
|
INST("0101110001001---", Id::SHL_R, Type::Shift, "SHL_R"), |
|
|
INST("0101110001001---", Id::SHL_R, Type::Shift, "SHL_R"), |
|
|
INST("0011100-01001---", Id::SHL_IMM, Type::Shift, "SHL_IMM"), |
|
|
INST("0011100-01001---", Id::SHL_IMM, Type::Shift, "SHL_IMM"), |
|
|
|