mirror of
https://git.suyu.dev/suyu/dynarmic.git
synced 2026-01-03 21:24:38 +01:00
A64: Implement SIMD instructions XTN, XTN2
This commit is contained in:
parent
132c783320
commit
e858ce0b35
5 changed files with 41 additions and 2 deletions
|
|
@ -229,6 +229,17 @@ IR::U128 TranslatorVisitor::Vpart(size_t bitsize, Vec vec, size_t part) {
|
|||
return ir.ZeroExtendToQuad(ir.VectorGetElement(bitsize, V(128, vec), part));
|
||||
}
|
||||
|
||||
void TranslatorVisitor::Vpart(size_t bitsize, Vec vec, size_t part, IR::U128 value) {
|
||||
ASSERT(part == 0 || part == 1);
|
||||
if (part == 0) {
|
||||
ASSERT(bitsize == 64);
|
||||
V(128, vec, value);
|
||||
} else {
|
||||
ASSERT(bitsize == 64);
|
||||
V(128, vec, ir.VectorSetElement(64, V(128, vec), 1, ir.VectorGetElement(64, value, 0)));
|
||||
}
|
||||
}
|
||||
|
||||
IR::UAny TranslatorVisitor::Vpart_scalar(size_t bitsize, Vec vec, size_t part) {
|
||||
ASSERT(part == 0 || part == 1);
|
||||
if (part == 0) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue