mirror of
https://git.suyu.dev/suyu/dynarmic.git
synced 2026-01-07 15:08:22 +01:00
ir: Add opcodes for unsigned reciprocal estimate
This commit is contained in:
parent
d46dea136f
commit
af83360f89
8 changed files with 71 additions and 29 deletions
|
|
@ -1619,6 +1619,10 @@ U128 IREmitter::VectorUnsignedAbsoluteDifference(size_t esize, const U128& a, co
|
|||
return {};
|
||||
}
|
||||
|
||||
U128 IREmitter::VectorUnsignedRecipEstimate(const U128& a) {
|
||||
return Inst<U128>(Opcode::VectorUnsignedRecipEstimate, a);
|
||||
}
|
||||
|
||||
U128 IREmitter::VectorUnsignedSaturatedNarrow(size_t esize, const U128& a) {
|
||||
switch (esize) {
|
||||
case 16:
|
||||
|
|
|
|||
|
|
@ -273,6 +273,7 @@ public:
|
|||
Table VectorTable(std::vector<U128> values);
|
||||
U128 VectorTableLookup(const U128& defaults, const Table& table, const U128& indices);
|
||||
U128 VectorUnsignedAbsoluteDifference(size_t esize, const U128& a, const U128& b);
|
||||
U128 VectorUnsignedRecipEstimate(const U128& a);
|
||||
U128 VectorUnsignedSaturatedNarrow(size_t esize, const U128& a);
|
||||
U128 VectorZeroExtend(size_t original_esize, const U128& a);
|
||||
U128 VectorZeroUpper(const U128& a);
|
||||
|
|
|
|||
|
|
@ -418,6 +418,7 @@ OPCODE(VectorTableLookup, U128, U128,
|
|||
OPCODE(VectorUnsignedAbsoluteDifference8, U128, U128, U128 )
|
||||
OPCODE(VectorUnsignedAbsoluteDifference16, U128, U128, U128 )
|
||||
OPCODE(VectorUnsignedAbsoluteDifference32, U128, U128, U128 )
|
||||
OPCODE(VectorUnsignedRecipEstimate, U128, U128 )
|
||||
OPCODE(VectorUnsignedSaturatedNarrow16, U128, U128 )
|
||||
OPCODE(VectorUnsignedSaturatedNarrow32, U128, U128 )
|
||||
OPCODE(VectorUnsignedSaturatedNarrow64, U128, U128 )
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue