From 2952b759f7322d97c342927ca85b8899abd0c3e7 Mon Sep 17 00:00:00 2001 From: Merry Date: Tue, 15 Nov 2022 01:08:59 +0000 Subject: [PATCH] oaknut: Correct MOV (UMOV alias) --- include/oaknut/impl/mnemonics_fpsimd_v8.0.inc.hpp | 4 ++-- tests/fpsimd.cpp | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/include/oaknut/impl/mnemonics_fpsimd_v8.0.inc.hpp b/include/oaknut/impl/mnemonics_fpsimd_v8.0.inc.hpp index 24c7155..2c77ee7 100644 --- a/include/oaknut/impl/mnemonics_fpsimd_v8.0.inc.hpp +++ b/include/oaknut/impl/mnemonics_fpsimd_v8.0.inc.hpp @@ -4038,11 +4038,11 @@ void MOV(DReg rd, DElem en) } void MOV(WReg wd, SElem en) { - emit<"00001110000ii100001111nnnnnddddd", "d", "n", "x">(wd, en.reg_index(), en.elem_index()); + emit<"00001110000xx100001111nnnnnddddd", "d", "n", "x">(wd, en.reg_index(), en.elem_index()); } void MOV(XReg xd, DElem en) { - emit<"01001110000i1000001111nnnnnddddd", "d", "n", "x">(xd, en.reg_index(), en.elem_index()); + emit<"01001110000x1000001111nnnnnddddd", "d", "n", "x">(xd, en.reg_index(), en.elem_index()); } void MOV(VReg_8B rd, VReg_8B rn) { diff --git a/tests/fpsimd.cpp b/tests/fpsimd.cpp index 3d71d86..e0cb0e2 100644 --- a/tests/fpsimd.cpp +++ b/tests/fpsimd.cpp @@ -432,6 +432,10 @@ T(0x6e135ec1, MOV(V1.B()[9], V22.B()[11])) T(0x4e0f1da9, MOV(V9.B()[7], W13)) T(0x5e0e045d, MOV(H29, V2.H()[3])) T(0x0e043ca1, MOV(W1, V5.S()[0])) +T(0x0e0c3da8, MOV(W8, V13.S()[1])) +T(0x0e143da8, MOV(W8, V13.S()[2])) +T(0x0e1c3da8, MOV(W8, V13.S()[3])) +T(0x4e183d03, MOV(X3, V8.D()[1])) T(0x4e083df7, MOV(X23, V15.D()[0])) // MOV T(0x0f06e58e, MOVI(V14.B8(), 204))