mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-11-07 09:16:08 -10:00
CodeEmitter: Adds support for BF16 conversion instructions.
This commit is contained in:
2 files changed
+13
No files matched your search
@@ -768,6 +768,16 @@ public:
|
||||
ASIMD2RegMisc(0, size, 0b11101, rd, rn);
|
||||
}
|
||||
}
|
||||
///< size is the destination size.
|
||||
///< source size is the next size up.
|
||||
void bfcvtn(QRegister rd, QRegister rn) {
|
||||
ASIMD2RegMisc(0, SubRegSize::i32Bit, 0b10110, rd.D(), rn.D());
|
||||
}
|
||||
///< size is the destination size.
|
||||
///< source size is the next size up.
|
||||
void bfcvtn2(QRegister rd, QRegister rn) {
|
||||
ASIMD2RegMisc(0, SubRegSize::i32Bit, 0b10110, rd, rn);
|
||||
}
|
||||
|
||||
template<IsQOrDRegister T>
|
||||
void rev32(SubRegSize size, T rd, T rn) {
|
||||
|
||||
@@ -644,6 +644,9 @@ TEST_CASE_METHOD(TestDisassembler, "Emitter: ASIMD: Advanced SIMD two-register m
|
||||
TEST_SINGLE(frecpe(SubRegSize::i32Bit, DReg::d30, DReg::d29), "frecpe v30.2s, v29.2s");
|
||||
// TEST_SINGLE(frecpe(SubRegSize::i64Bit, DReg::d30, DReg::d29), "frecpe v30.1d, v29.1d");
|
||||
|
||||
TEST_SINGLE(bfcvtn(QReg::q30, QReg::q29), "bfcvtn v30.4h, v29.4s");
|
||||
TEST_SINGLE(bfcvtn2(QReg::q30, QReg::q29), "bfcvtn2 v30.8h, v29.4s");
|
||||
|
||||
TEST_SINGLE(rev32(SubRegSize::i8Bit, QReg::q30, QReg::q29), "rev32 v30.16b, v29.16b");
|
||||
TEST_SINGLE(rev32(SubRegSize::i16Bit, QReg::q30, QReg::q29), "rev32 v30.8h, v29.8h");
|
||||
// TEST_SINGLE(rev32(SubRegSize::i32Bit, QReg::q30, QReg::q29), "rev32 v30.4s, v29.4s");
|
||||
|
||||
Reference in new issue
Block a user