Commit Graph

538 Commits

Author SHA1 Message Date
kobalicek
e136425673 [Bug] Added unsigned case to imul with 16-bit and 32-bit immediate 2023-01-18 16:49:19 +01:00
kobalicek
f97475e5ab Fixed a signed/unsigned conversion warning when compiling for OSX target 2023-01-17 13:08:22 +01:00
kobalicek
3ee3846283 [ABI] Raised ABI version due to recent changes 2023-01-16 14:55:03 +01:00
kobalicek
0186d3022d [ABI] Optimized size of instruction name data (X86, AArch64) 2023-01-16 00:25:48 +01:00
kobalicek
001c5231e6 [ABI] Added more CPU feature identifiers and detection (X86) 2023-01-16 00:16:56 +01:00
kobalicek
1ed8b77f5b [ABI] Added CpuFeatures to Target and CodeHolder, improved test_perf 2023-01-16 00:10:56 +01:00
kobalicek
a9ac13536e [Bug] Removed a debugging printf() 2023-01-08 21:49:01 +01:00
kobalicek
8a33b814d6 [Bug] Assign inline comments to Invoke/Func nodes, annotate without Logger 2023-01-08 14:34:36 +01:00
kobalicek
6a414ea141 Added a possibility to reset a red zone in FuncFrame 2023-01-08 14:34:07 +01:00
kobalicek
9f6d677615 [Bug] Fixed push/pop RW instruction data (segment and GP interfering each other) 2023-01-08 13:54:47 +01:00
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