mirror of
https://git.suyu.dev/suyu/dynarmic.git
synced 2026-03-11 21:32:58 +00:00
A64: Implement SADDLP
This commit is contained in:
@@ -1168,6 +1168,19 @@ U128 IREmitter::VectorPairedAddLower(size_t esize, const U128& a, const U128& b)
|
||||
return {};
|
||||
}
|
||||
|
||||
U128 IREmitter::VectorPairedAddSignedWiden(size_t original_esize, const U128& a) {
|
||||
switch (original_esize) {
|
||||
case 8:
|
||||
return Inst<U128>(Opcode::VectorPairedAddSignedWiden8, a);
|
||||
case 16:
|
||||
return Inst<U128>(Opcode::VectorPairedAddSignedWiden16, a);
|
||||
case 32:
|
||||
return Inst<U128>(Opcode::VectorPairedAddSignedWiden32, a);
|
||||
}
|
||||
UNREACHABLE();
|
||||
return {};
|
||||
}
|
||||
|
||||
U128 IREmitter::VectorPairedAddUnsignedWiden(size_t original_esize, const U128& a) {
|
||||
switch (original_esize) {
|
||||
case 8:
|
||||
|
||||
@@ -236,6 +236,7 @@ public:
|
||||
U128 VectorOr(const U128& a, const U128& b);
|
||||
U128 VectorPairedAdd(size_t esize, const U128& a, const U128& b);
|
||||
U128 VectorPairedAddLower(size_t esize, const U128& a, const U128& b);
|
||||
U128 VectorPairedAddSignedWiden(size_t original_esize, const U128& a);
|
||||
U128 VectorPairedAddUnsignedWiden(size_t original_esize, const U128& a);
|
||||
U128 VectorPopulationCount(const U128& a);
|
||||
U128 VectorReverseBits(const U128& a);
|
||||
|
||||
@@ -319,6 +319,9 @@ OPCODE(VectorOr, T::U128, T::U128, T::U
|
||||
OPCODE(VectorPairedAddLower8, T::U128, T::U128, T::U128 )
|
||||
OPCODE(VectorPairedAddLower16, T::U128, T::U128, T::U128 )
|
||||
OPCODE(VectorPairedAddLower32, T::U128, T::U128, T::U128 )
|
||||
OPCODE(VectorPairedAddSignedWiden8, T::U128, T::U128 )
|
||||
OPCODE(VectorPairedAddSignedWiden16, T::U128, T::U128 )
|
||||
OPCODE(VectorPairedAddSignedWiden32, T::U128, T::U128 )
|
||||
OPCODE(VectorPairedAddUnsignedWiden8, T::U128, T::U128 )
|
||||
OPCODE(VectorPairedAddUnsignedWiden16, T::U128, T::U128 )
|
||||
OPCODE(VectorPairedAddUnsignedWiden32, T::U128, T::U128 )
|
||||
|
||||
Reference in New Issue
Block a user