mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-28 17:00:54 +01:00
ARMEmitter: Handle SVE inc/dec register by predicate count group
This commit is contained in:
1 parent
0930a10026
commit
392438d70a
2 files changed
+15
-2
No files matched your search
@@ -1732,7 +1732,12 @@ public:
|
||||
}
|
||||
|
||||
// SVE inc/dec register by predicate count
|
||||
// XXX:
|
||||
void incp(SubRegSize size, XRegister rdn, PRegister pm) {
|
||||
SVEIncDecPredicateCountScalar(1, 1, 0b00, 0b00, size, rdn, pm);
|
||||
}
|
||||
void decp(SubRegSize size, XRegister rdn, PRegister pm) {
|
||||
SVEIncDecPredicateCountScalar(1, 1, 0b00, 0b01, size, rdn, pm);
|
||||
}
|
||||
|
||||
// SVE Write FFR
|
||||
// SVE FFR write from predicate
|
||||
|
||||
+9
-1
@@ -2093,7 +2093,15 @@ TEST_CASE_METHOD(TestDisassembler, "Emitter: SVE: SVE inc/dec vector by predicat
|
||||
}
|
||||
|
||||
TEST_CASE_METHOD(TestDisassembler, "Emitter: SVE: SVE inc/dec register by predicate count") {
|
||||
// TODO: Implement in emitter.
|
||||
TEST_SINGLE(incp(SubRegSize::i8Bit, XReg::x30, PReg::p15), "incp x30, p15.b");
|
||||
TEST_SINGLE(incp(SubRegSize::i16Bit, XReg::x30, PReg::p15), "incp x30, p15.h");
|
||||
TEST_SINGLE(incp(SubRegSize::i32Bit, XReg::x30, PReg::p15), "incp x30, p15.s");
|
||||
TEST_SINGLE(incp(SubRegSize::i64Bit, XReg::x30, PReg::p15), "incp x30, p15.d");
|
||||
|
||||
TEST_SINGLE(decp(SubRegSize::i8Bit, XReg::x30, PReg::p15), "decp x30, p15.b");
|
||||
TEST_SINGLE(decp(SubRegSize::i16Bit, XReg::x30, PReg::p15), "decp x30, p15.h");
|
||||
TEST_SINGLE(decp(SubRegSize::i32Bit, XReg::x30, PReg::p15), "decp x30, p15.s");
|
||||
TEST_SINGLE(decp(SubRegSize::i64Bit, XReg::x30, PReg::p15), "decp x30, p15.d");
|
||||
}
|
||||
|
||||
TEST_CASE_METHOD(TestDisassembler, "Emitter: SVE: SVE FFR write from predicate") {
|
||||
|
||||
Reference in new issue
Block a user