kobalicek
5c18fcafc5
[Bug] Don't repeat comment as inline comment when formatting a Builder/Compiler Node
2023-01-07 11:57:56 +01:00
kobalicek
5b5b0b3877
[CI] Updated CI configurations
2022-12-10 15:07:55 +01:00
kobalicek
45f3b764b3
[Bug] Fixed a ModRM/MR check in X86 assembler (mov instruction) ( fixes #392 )
2022-11-26 00:05:25 +01:00
Matthias Moninger
0c03ed2f74
Use static constexpr for RegTraits to make it possible to use asmjit in CLR environment ( fixes #386 )
2022-11-10 16:58:41 +01:00
aegistudio
5af57595a9
[Bug] Fixed LDURSW instruction on AArch64 ( #389 )
...
The instruction was wrongly described as supporting both W/X registers, however, it only supports X register.
2022-11-10 10:11:05 +01:00
Herman Semenov
ae63ced6dd
Fixed offset index predicate in arm::Mem::post() ( #388 )
2022-11-04 09:54:19 +01:00
kobalicek
8f2c237b83
Added x86::Mem::cloneResized() to complement cloneAdjusted() and cloneBroadcasted()
2022-10-18 18:43:48 +02:00
kobalicek
15a6036618
Fixed iOS compilation (reworked MAP_JIT detection, and pthread_jit_write_protect_np() support)
2022-10-09 19:30:14 +02:00
Viktor Chlumský
bb3dc125fa
Visual Studio 2015/2017 compatibility ( #383 )
2022-10-09 13:05:20 +02:00
Peter Meerwald-Stadler
8dd64c32ac
[Doc] Fixed some typos ( #382 )
2022-10-07 10:58:58 +02:00
kobalicek
052b4430e9
Fixed indirect jumps to a single label (Compiler) ( fixes #380 )
2022-09-18 10:26:53 +02:00
kobalicek
5c469e3f7c
Reversed the order of visualizing shuffles (via ExplainImm) to reflect their composition
2022-07-24 17:04:00 +02:00
kobalicek
3502a8fe0d
[Build] Changed CMAKE_CXX_SIMULATE_ID to CMAKE_CXX_COMPILER_FRONTEND_VARIANT as that seems to be the valid variable for detecting a MSVC frontend
2022-07-24 13:51:53 +02:00
kobalicek
2ae2d897f4
[CI] Use newer macos images as the older ones were deprecated
2022-07-21 21:52:33 +02:00
kobalicek
c59847629d
Use casting to suppress -Wbitwise-instead-of-logical warning instead of suppressing it globally
2022-07-02 10:03:51 +02:00
Orvid King
d3fbf7c9bc
Fix an instance of -Wdeprecated-copy ( #376 )
2022-06-29 00:34:28 +02:00
kobalicek
35f92e8706
[Bug] The compiler should not bail when there is data before the FuncEnd node
2022-06-27 12:10:40 +02:00
kobalicek
70209cddd7
[Bug] Added a missing JitAllocator::query() ( fixes #375 )
2022-06-25 21:28:19 +02:00
kobalicek
06d0badec5
Suppress -Wbitwise-instead-of-logical warning that was introduced by clang 14
2022-06-22 00:30:34 +02:00
kobalicek
d0cdd70168
[Bug] Fixed incorrect encoding of LDRSH instruction with [base+imm] addressing (AArch64) ( fixes #372 )
2022-06-20 09:16:39 +02:00
kobalicek
24863770d6
[Doc] Updated documentation to use new API (fixes not fixed #368 )
2022-06-17 12:35:21 +02:00
kobalicek
4244182486
[Doc] Updated documentation to use new API instead of the removed one ( fixes #368 )
2022-06-17 12:32:34 +02:00
kobalicek
d925605671
[Bug] Fixed incorrect encoding of LDRSB and LDRSH with [base+index] (AArch64) ( fixes #370 )
2022-06-17 12:26:34 +02:00
kobalicek
33a31f04e8
[Bug] Fixed queryFeatures() to properly return AVX-512 requirements of shift instructions that use memory operands
...
[Bug] Fixed queryFeatures() to properly return AVX-512 requirements of some floating-point conversion instructions
[Opt] Slightly improved the performance of BitWordIterator and friends possibly taking advantage of BMI extensions
[API] Removed BitWordFlipIterator that was never used by the library
[Enh] Log the whole instruction if the validation fails in asmjit::Builder
2022-06-05 22:59:38 +02:00
kobalicek
a4cb51b532
[Bug] Fixed not cloberring YMM|ZMM registers in function calls that preserve only low 128-bits of vector registers
2022-04-10 00:32:57 +02:00
kobalicek
8fdee13aea
[Opt] Added a feature to the Compiler to remove dead moves (moves to itself) when it's provable that it's safe
2022-04-06 13:20:00 +02:00
Adrian Vogelsgesang
752eb38a4d
[Bug] Fix formatting of anonymous labels ( #362 )
...
Anonymous labels accidentally called `sb.append` instead of
`sb.appendFormat` which messes up the label's formatting.
2022-04-05 13:18:10 +02:00
Adrian Vogelsgesang
a876e4d1cd
Fixed typos in comments ( #361 )
2022-04-02 00:26:56 +02:00
kobalicek
e41f1c0fd7
Cleaned up AArch64 RAPass to not shadow variables in _rewrite() ( Fixes #359 )
2022-04-01 00:41:54 +02:00
kobalicek
7342f7d78d
Added a pseudo instruction 'loadAddressOf()' to load a memory address into a register (Compiler/AArch64)
2022-03-27 22:33:35 +02:00
kobalicek
21a31b8a33
[Bug] Fixed incorrect control flow information of 'b' instruction (AArch64) ( Fixes #358 )
2022-03-20 22:40:31 +01:00
kobalicek
d754de58c2
[Bug] Fixed logging without ARM condition codes when logged via a64::Assembler
2022-03-20 19:27:04 +01:00
kobalicek
f1a399c4fe
[Bug] Fixed invalid operand order in AArch64 register move (Compiler)
2022-03-15 10:37:18 +01:00
kobalicek
6efd4d563d
Added missing baseReg() and indexReg() to arm::Mem operand
2022-02-24 22:39:07 +01:00
kobalicek
a4e1e88374
[Bug] Do not link to pthread library on Android (there is no such library)
2022-02-20 17:38:27 +01:00
kobalicek
62ffe595a2
[Bug] Fixed RM features reported by queryRWInfo (X86)
2022-02-19 21:43:07 +01:00
kobalicek
28c4d8c528
[Opt] Optimized memory footprint of Compiler when generating huge code
2022-02-16 16:42:32 +01:00
kobalicek
23ddf56b00
[ABI] Initial AArch64 support
2022-02-09 17:08:40 +01:00
kobalicek
45b0114781
[ABI] Added the possibility to retrieve stack locations of virtual registers and explicit stack allocations after compilation
2022-02-09 17:08:36 +01:00
kobalicek
9a92d2f972
[Bug] Removed invalid assumption in zonetree ( fixes #352 )
2022-01-18 09:53:31 +01:00
kobalicek
2a706fd2ba
Reworked unaligned memory access to work better with GCC 11
2021-12-14 20:01:37 +01:00
kobalicek
2cfa686ebd
[API] Fixed most static analysis issues reported by clang
...
[Bug] Workarounded GCC 11 issue affecting unaligned loads/stores (most likely a compiler bug)
2021-12-14 01:19:28 +01:00
kobalicek
996deae327
[ABI] Refactored AsmJit to use strong-typed enums, this breaks both API and ABI
...
[ABI] Added ABI version as an inline namespace, which forms asmjit::_abi_MAJOR_MINOR
[ABI] Added support for AVX512_FP16, 16-bit broadcast, and AVX512_FP16 tests
[ABI] Added initial support for consecutive registers into instruction database and register allocator
[ABI] Added a possibility to use temporary memory in CodeHolder's zone
[ABI] Compiler::setArg() is now deprecated, use FuncNode::setArg()
[Bug] Fixed correct RW information of instructions that only support implicit zeroing with {k}
[Bug] Fixed broadcast to be able to broadcast bcst16 operands
2021-12-13 19:34:56 +01:00
Kian Meng Ang
4ec760a3d1
Fixed typos in documentation ( #348 )
2021-11-13 09:24:21 +01:00
tetzank
d0d14ac774
[Bug] Fixed compile-time issue with ASMJIT_NONCOPYABLE/NONCONSTRUCTIBLE for GCC 11 in C++20 mode ( #343 )
...
* fixed GCC 11 compilation in C++20 mode (don't use template parameters in constructors/operator assignment)
* refactored ASMJIT_NONCOPYABLE/NONCONSTRUCTIBLE (variadic macros not needed)
2021-09-03 14:52:26 +02:00
kobalicek
d02235b834
Refactored naming of data types in formatted text, which is now part of architecture traits
2021-06-27 00:39:53 +02:00
kobalicek
0a709c7a28
In addition to LEA, allow CL* and PREFETCH* instructions to have memory operand of any size
2021-06-27 00:39:18 +02:00
kobalicek
c329fa7ce0
[Bug] Don't emit useless 'sub esp, 0' after calling a void function (Compiler)
2021-06-24 23:51:48 +02:00
kobalicek
78de7d9c81
[Bug] Fixed a bug introduced by the previous commit (enable /dev/shm on non-android targets)
2021-05-18 15:17:22 +02:00
kobalicek
8ee4c76ee3
[Bug] Fixed android build (Android doesn't provide shm_open() and shm_unlink() functions)
2021-05-16 22:08:06 +02:00