diff --git a/CMakeLists.txt b/CMakeLists.txt index 5b4062d..fb7aef8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,9 +30,11 @@ set(header_files ${CMAKE_CURRENT_SOURCE_DIR}/include/oaknut/impl/mnemonics_fpsimd_v8.0.inc.hpp ${CMAKE_CURRENT_SOURCE_DIR}/include/oaknut/impl/mnemonics_fpsimd_v8.1.inc.hpp ${CMAKE_CURRENT_SOURCE_DIR}/include/oaknut/impl/mnemonics_fpsimd_v8.2.inc.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/include/oaknut/impl/mnemonics_fpsimd_v8.3.inc.hpp ${CMAKE_CURRENT_SOURCE_DIR}/include/oaknut/impl/mnemonics_generic_v8.0.inc.hpp ${CMAKE_CURRENT_SOURCE_DIR}/include/oaknut/impl/mnemonics_generic_v8.1.inc.hpp ${CMAKE_CURRENT_SOURCE_DIR}/include/oaknut/impl/mnemonics_generic_v8.2.inc.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/include/oaknut/impl/mnemonics_generic_v8.3.inc.hpp ${CMAKE_CURRENT_SOURCE_DIR}/include/oaknut/impl/multi_typed_name.hpp ${CMAKE_CURRENT_SOURCE_DIR}/include/oaknut/impl/offset.hpp ${CMAKE_CURRENT_SOURCE_DIR}/include/oaknut/impl/overloaded.hpp diff --git a/README.md b/README.md index a0e0845..78bbdcc 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Oaknut -*A C++20 assembler for AArch64 (ARMv8.0 to ARMv8.2)* +*A C++20 assembler for AArch64 (ARMv8.0 to ARMv8.3)* Oaknut is a header-only library that allows one to dynamically assemble code in-memory at runtime. @@ -122,9 +122,11 @@ int main() ### Instructions Each AArch64 instruction corresponds to one emitter function. For a list of emitter functions see: + * ARMv8.0: [general instructions](include/oaknut/impl/mnemonics_generic_v8.0.inc.hpp), [FP & SIMD instructions](include/oaknut/impl/mnemonics_fpsimd_v8.0.inc.hpp) * ARMv8.1: [general instructions](include/oaknut/impl/mnemonics_generic_v8.1.inc.hpp), [FP & SIMD instructions](include/oaknut/impl/mnemonics_fpsimd_v8.1.inc.hpp) * ARMv8.2: [general instructions](include/oaknut/impl/mnemonics_generic_v8.2.inc.hpp), [FP & SIMD instructions](include/oaknut/impl/mnemonics_fpsimd_v8.2.inc.hpp) +* ARMv8.3: [general instructions](include/oaknut/impl/mnemonics_generic_v8.3.inc.hpp), [FP & SIMD instructions](include/oaknut/impl/mnemonics_fpsimd_v8.3.inc.hpp) ### Operands diff --git a/include/oaknut/impl/mnemonics_fpsimd_v8.3.inc.hpp b/include/oaknut/impl/mnemonics_fpsimd_v8.3.inc.hpp new file mode 100644 index 0000000..197fec4 --- /dev/null +++ b/include/oaknut/impl/mnemonics_fpsimd_v8.3.inc.hpp @@ -0,0 +1,2 @@ +// SPDX-FileCopyrightText: Copyright (c) 2023 merryhime +// SPDX-License-Identifier: MIT diff --git a/include/oaknut/impl/mnemonics_generic_v8.3.inc.hpp b/include/oaknut/impl/mnemonics_generic_v8.3.inc.hpp new file mode 100644 index 0000000..0938fd2 --- /dev/null +++ b/include/oaknut/impl/mnemonics_generic_v8.3.inc.hpp @@ -0,0 +1,2 @@ +// SPDX-FileCopyrightText: Copyright (c) 2023 merryhime +// SPDX-License-Identifier: MIT \ No newline at end of file diff --git a/include/oaknut/oaknut.hpp b/include/oaknut/oaknut.hpp index 265a06a..e3c9f9e 100644 --- a/include/oaknut/oaknut.hpp +++ b/include/oaknut/oaknut.hpp @@ -87,9 +87,11 @@ public: #include "oaknut/impl/mnemonics_fpsimd_v8.0.inc.hpp" #include "oaknut/impl/mnemonics_fpsimd_v8.1.inc.hpp" #include "oaknut/impl/mnemonics_fpsimd_v8.2.inc.hpp" +#include "oaknut/impl/mnemonics_fpsimd_v8.3.inc.hpp" #include "oaknut/impl/mnemonics_generic_v8.0.inc.hpp" #include "oaknut/impl/mnemonics_generic_v8.1.inc.hpp" #include "oaknut/impl/mnemonics_generic_v8.2.inc.hpp" +#include "oaknut/impl/mnemonics_generic_v8.3.inc.hpp" void RET() {