mirror of
https://github.com/asmjit/asmjit.git
synced 2025-12-16 20:17:05 +03:00
[bug] Fixed FMOV encoding bug (AArch64)
This commit is contained in:
@@ -1907,6 +1907,10 @@ static void ASMJIT_NOINLINE test_aarch64_assembler_simd(AssemblerTester<a64::Ass
|
|||||||
TEST_INSTRUCTION("01F4034F", fmov(v1.s4(), 0.5));
|
TEST_INSTRUCTION("01F4034F", fmov(v1.s4(), 0.5));
|
||||||
TEST_INSTRUCTION("01F4004F", fmov(v1.s4(), 2.0));
|
TEST_INSTRUCTION("01F4004F", fmov(v1.s4(), 2.0));
|
||||||
TEST_INSTRUCTION("01F4036F", fmov(v1.d2(), 0.5));
|
TEST_INSTRUCTION("01F4036F", fmov(v1.d2(), 0.5));
|
||||||
|
TEST_INSTRUCTION("00F4030F", fmov(v0.s2(), 0.5));
|
||||||
|
TEST_INSTRUCTION("00F4000F", fmov(v0.s2(), 2.0));
|
||||||
|
TEST_INSTRUCTION("00F4034F", fmov(v0.s4(), 0.5));
|
||||||
|
TEST_INSTRUCTION("00F4004F", fmov(v0.s4(), 2.0));
|
||||||
TEST_INSTRUCTION("01F4006F", fmov(v1.d2(), 2.0));
|
TEST_INSTRUCTION("01F4006F", fmov(v1.d2(), 2.0));
|
||||||
TEST_INSTRUCTION("4190C31F", fmsub(h1, h2, h3, h4));
|
TEST_INSTRUCTION("4190C31F", fmsub(h1, h2, h3, h4));
|
||||||
TEST_INSTRUCTION("4190031F", fmsub(s1, s2, s3, s4));
|
TEST_INSTRUCTION("4190031F", fmsub(s1, s2, s3, s4));
|
||||||
|
|||||||
@@ -3580,7 +3580,7 @@ Case_BaseLdurStur:
|
|||||||
if (q > 1 || sz > 2)
|
if (q > 1 || sz > 2)
|
||||||
goto InvalidInstruction;
|
goto InvalidInstruction;
|
||||||
|
|
||||||
static const uint32_t sz_bits_table[3] = { B(11), B(0), B(29) };
|
static const uint32_t sz_bits_table[3] = { B(11), 0, B(29) };
|
||||||
opcode.reset(0b00001111000000001111010000000000);
|
opcode.reset(0b00001111000000001111010000000000);
|
||||||
opcode ^= sz_bits_table[sz];
|
opcode ^= sz_bits_table[sz];
|
||||||
opcode.add_imm(q, 30);
|
opcode.add_imm(q, 30);
|
||||||
|
|||||||
Reference in New Issue
Block a user