|
|
@ -365,6 +365,11 @@ enum class HalfPrecision : u64 { |
|
|
FMZ = 2, |
|
|
FMZ = 2, |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
enum class R2pMode : u64 { |
|
|
|
|
|
Pr = 0, |
|
|
|
|
|
Cc = 1, |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
enum class IpaInterpMode : u64 { |
|
|
enum class IpaInterpMode : u64 { |
|
|
Linear = 0, |
|
|
Linear = 0, |
|
|
Perspective = 1, |
|
|
Perspective = 1, |
|
|
@ -854,6 +859,12 @@ union Instruction { |
|
|
BitField<39, 3, u64> pred39; |
|
|
BitField<39, 3, u64> pred39; |
|
|
} hsetp2; |
|
|
} hsetp2; |
|
|
|
|
|
|
|
|
|
|
|
union { |
|
|
|
|
|
BitField<40, 1, R2pMode> mode; |
|
|
|
|
|
BitField<41, 2, u64> byte; |
|
|
|
|
|
BitField<20, 7, u64> immediate_mask; |
|
|
|
|
|
} r2p; |
|
|
|
|
|
|
|
|
union { |
|
|
union { |
|
|
BitField<39, 3, u64> pred39; |
|
|
BitField<39, 3, u64> pred39; |
|
|
BitField<42, 1, u64> neg_pred; |
|
|
BitField<42, 1, u64> neg_pred; |
|
|
@ -1381,6 +1392,7 @@ public: |
|
|
PSETP, |
|
|
PSETP, |
|
|
PSET, |
|
|
PSET, |
|
|
CSETP, |
|
|
CSETP, |
|
|
|
|
|
R2P_IMM, |
|
|
XMAD_IMM, |
|
|
XMAD_IMM, |
|
|
XMAD_CR, |
|
|
XMAD_CR, |
|
|
XMAD_RC, |
|
|
XMAD_RC, |
|
|
@ -1410,6 +1422,7 @@ public: |
|
|
HalfSetPredicate, |
|
|
HalfSetPredicate, |
|
|
PredicateSetPredicate, |
|
|
PredicateSetPredicate, |
|
|
PredicateSetRegister, |
|
|
PredicateSetRegister, |
|
|
|
|
|
RegisterSetPredicate, |
|
|
Conversion, |
|
|
Conversion, |
|
|
Xmad, |
|
|
Xmad, |
|
|
Unknown, |
|
|
Unknown, |
|
|
@ -1647,6 +1660,7 @@ private: |
|
|
INST("0101000010001---", Id::PSET, Type::PredicateSetRegister, "PSET"), |
|
|
INST("0101000010001---", Id::PSET, Type::PredicateSetRegister, "PSET"), |
|
|
INST("0101000010010---", Id::PSETP, Type::PredicateSetPredicate, "PSETP"), |
|
|
INST("0101000010010---", Id::PSETP, Type::PredicateSetPredicate, "PSETP"), |
|
|
INST("010100001010----", Id::CSETP, Type::PredicateSetPredicate, "CSETP"), |
|
|
INST("010100001010----", Id::CSETP, Type::PredicateSetPredicate, "CSETP"), |
|
|
|
|
|
INST("0011100-11110---", Id::R2P_IMM, Type::RegisterSetPredicate, "R2P_IMM"), |
|
|
INST("0011011-00------", Id::XMAD_IMM, Type::Xmad, "XMAD_IMM"), |
|
|
INST("0011011-00------", Id::XMAD_IMM, Type::Xmad, "XMAD_IMM"), |
|
|
INST("0100111---------", Id::XMAD_CR, Type::Xmad, "XMAD_CR"), |
|
|
INST("0100111---------", Id::XMAD_CR, Type::Xmad, "XMAD_CR"), |
|
|
INST("010100010-------", Id::XMAD_RC, Type::Xmad, "XMAD_RC"), |
|
|
INST("010100010-------", Id::XMAD_RC, Type::Xmad, "XMAD_RC"), |
|
|
|