mirror of
https://git.suyu.dev/suyu/dynarmic.git
synced 2026-01-08 23:48:18 +01:00
TranslateArm: Implement QADD16/QSUB16/UQADD16/UQSUB16.
This commit is contained in:
parent
4b09c0d032
commit
8e68e6fdd9
7 changed files with 79 additions and 11 deletions
|
|
@ -298,6 +298,22 @@ IR::Value IREmitter::PackedSaturatedSubS8(const IR::Value& a, const IR::Value& b
|
|||
return Inst(IR::Opcode::PackedSaturatedSubS8, {a, b});
|
||||
}
|
||||
|
||||
IR::Value IREmitter::PackedSaturatedAddU16(const IR::Value& a, const IR::Value& b) {
|
||||
return Inst(IR::Opcode::PackedSaturatedAddU16, {a, b});
|
||||
}
|
||||
|
||||
IR::Value IREmitter::PackedSaturatedAddS16(const IR::Value& a, const IR::Value& b) {
|
||||
return Inst(IR::Opcode::PackedSaturatedAddS16, {a, b});
|
||||
}
|
||||
|
||||
IR::Value IREmitter::PackedSaturatedSubU16(const IR::Value& a, const IR::Value& b) {
|
||||
return Inst(IR::Opcode::PackedSaturatedSubU16, {a, b});
|
||||
}
|
||||
|
||||
IR::Value IREmitter::PackedSaturatedSubS16(const IR::Value& a, const IR::Value& b) {
|
||||
return Inst(IR::Opcode::PackedSaturatedSubS16, {a, b});
|
||||
}
|
||||
|
||||
IR::Value IREmitter::TransferToFP32(const IR::Value& a) {
|
||||
return Inst(IR::Opcode::TransferToFP32, {a});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -102,6 +102,10 @@ public:
|
|||
IR::Value PackedSaturatedAddS8(const IR::Value& a, const IR::Value& b);
|
||||
IR::Value PackedSaturatedSubU8(const IR::Value& a, const IR::Value& b);
|
||||
IR::Value PackedSaturatedSubS8(const IR::Value& a, const IR::Value& b);
|
||||
IR::Value PackedSaturatedAddU16(const IR::Value& a, const IR::Value& b);
|
||||
IR::Value PackedSaturatedAddS16(const IR::Value& a, const IR::Value& b);
|
||||
IR::Value PackedSaturatedSubU16(const IR::Value& a, const IR::Value& b);
|
||||
IR::Value PackedSaturatedSubS16(const IR::Value& a, const IR::Value& b);
|
||||
|
||||
IR::Value TransferToFP32(const IR::Value& a);
|
||||
IR::Value TransferToFP64(const IR::Value& a);
|
||||
|
|
|
|||
|
|
@ -64,6 +64,10 @@ OPCODE(PackedSaturatedAddU8, T::U32, T::U32, T::U32
|
|||
OPCODE(PackedSaturatedAddS8, T::U32, T::U32, T::U32 )
|
||||
OPCODE(PackedSaturatedSubU8, T::U32, T::U32, T::U32 )
|
||||
OPCODE(PackedSaturatedSubS8, T::U32, T::U32, T::U32 )
|
||||
OPCODE(PackedSaturatedAddU16, T::U32, T::U32, T::U32 )
|
||||
OPCODE(PackedSaturatedAddS16, T::U32, T::U32, T::U32 )
|
||||
OPCODE(PackedSaturatedSubU16, T::U32, T::U32, T::U32 )
|
||||
OPCODE(PackedSaturatedSubS16, T::U32, T::U32, T::U32 )
|
||||
|
||||
// Floating-point
|
||||
OPCODE(TransferToFP32, T::F32, T::U32 )
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue