Age | Commit message (Collapse) | Author | |
---|---|---|---|
2022-06-25 | [Bug] Added a missing JitAllocator::query()jitallocator_query | kobalicek | |
2022-06-22 | Suppress -Wbitwise-instead-of-logical warning that was introduced by clang 14 | kobalicek | |
2022-06-20 | [Bug] Fixed incorrect encoding of LDRSH instruction with [base+imm] ↵ | kobalicek | |
addressing (AArch64) (fixes #372) | |||
2022-06-17 | [Doc] Updated documentation to use new API (fixes not fixed #368) | kobalicek | |
2022-06-17 | [Doc] Updated documentation to use new API instead of the removed one (fixes ↵ | kobalicek | |
#368) | |||
2022-06-17 | [Bug] Fixed incorrect encoding of LDRSB and LDRSH with [base+index] ↵ | kobalicek | |
(AArch64) (fixes #370) | |||
2022-06-05 | [Bug] Fixed queryFeatures() to properly return AVX-512 requirements of shift ↵ | kobalicek | |
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-04-10 | [Bug] Fixed not cloberring YMM|ZMM registers in function calls that preserve ↵dead_movs | kobalicek | |
only low 128-bits of vector registers | |||
2022-04-06 | [Opt] Added a feature to the Compiler to remove dead moves (moves to itself) ↵ | kobalicek | |
when it's provable that it's safe | |||
2022-04-05 | [Bug] Fix formatting of anonymous labels (#362) | Adrian Vogelsgesang | |
Anonymous labels accidentally called `sb.append` instead of `sb.appendFormat` which messes up the label's formatting. | |||
2022-04-02 | Fixed typos in comments (#361) | Adrian Vogelsgesang | |
2022-04-01 | Cleaned up AArch64 RAPass to not shadow variables in _rewrite() (Fixes #359) | kobalicek | |
2022-03-27 | Added a pseudo instruction 'loadAddressOf()' to load a memory address into a ↵ | kobalicek | |
register (Compiler/AArch64) | |||
2022-03-21 | [Bug] Fixed incorrect control flow information of 'b' instruction (AArch64) ↵ | kobalicek | |
(Fixes #358) | |||
2022-03-20 | [Bug] Fixed logging without ARM condition codes when logged via a64::Assembler | kobalicek | |
2022-03-15 | [Bug] Fixed invalid operand order in AArch64 register move (Compiler) | kobalicek | |
2022-02-25 | Added missing baseReg() and indexReg() to arm::Mem operand | kobalicek | |
2022-02-20 | [Bug] Do not link to pthread library on Android (there is no such library) | kobalicek | |
2022-02-19 | [Bug] Fixed RM features reported by queryRWInfo (X86) | kobalicek | |
2022-02-16 | [Opt] Optimized memory footprint of Compiler when generating huge code | kobalicek | |
2022-02-09 | [ABI] Initial AArch64 support | kobalicek | |
2022-02-09 | [ABI] Added the possibility to retrieve stack locations of virtual registers ↵ | kobalicek | |
and explicit stack allocations after compilation | |||
2022-01-18 | [Bug] Removed invalid assumption in zonetree (fixes #352) | kobalicek | |
2021-12-14 | Reworked unaligned memory access to work better with GCC 11 | kobalicek | |
2021-12-14 | [API] Fixed most static analysis issues reported by clang | kobalicek | |
[Bug] Workarounded GCC 11 issue affecting unaligned loads/stores (most likely a compiler bug) | |||
2021-12-13 | [ABI] Refactored AsmJit to use strong-typed enums, this breaks both API and ABI | kobalicek | |
[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-11-13 | Fixed typos in documentation (#348) | Kian Meng Ang | |
2021-09-03 | [Bug] Fixed compile-time issue with ASMJIT_NONCOPYABLE/NONCONSTRUCTIBLE for ↵ | tetzank | |
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-06-27 | Refactored naming of data types in formatted text, which is now part of ↵ | kobalicek | |
architecture traits | |||
2021-06-27 | In addition to LEA, allow CL* and PREFETCH* instructions to have memory ↵ | kobalicek | |
operand of any size | |||
2021-06-25 | [Bug] Don't emit useless 'sub esp, 0' after calling a void function (Compiler) | kobalicek | |
2021-05-18 | [Bug] Fixed a bug introduced by the previous commit (enable /dev/shm on ↵ | kobalicek | |
non-android targets) | |||
2021-05-16 | [Bug] Fixed android build (Android doesn't provide shm_open() and ↵ | kobalicek | |
shm_unlink() functions) | |||
2021-04-13 | [Bug] Fixed RW metadata of KXNORx and KXORx instructions (Compiler) | kobalicek | |
2021-03-21 | [ABI] Build improvements - replaced ASMJIT_BUIlD_X86 with ASMJIT_NO_X86 and ↵ | kobalicek | |
other changes... | |||
2021-03-19 | [Bug] Fixed X86 instruction info query asserting on MMX variation of pextrw ↵ | kobalicek | |
(Fixes #330) | |||
2021-03-17 | [ABI] Added the possibility to use AVX512 in Compiler and FuncFrame | kobalicek | |
2021-03-14 | Added asmjit_test_perf, which replaces asmjit_bench and provides much better ↵ | kobalicek | |
performance overview Removed asmjit_test_opcode (not needed anymore as we have asmjit_test_assembler and asmjit_test_perf) | |||
2021-03-13 | Split assembler tests so they can compile much faster with GCC | kobalicek | |
2021-03-06 | Added support for PROT_MAX() in VirtMem::alloc() and refactored VirtMem a bit | kobalicek | |
2021-03-04 | [Bug] Don't allocate k0 register (x86::Compiler) | kobalicek | |
2021-02-28 | [Bug] Return reported error in BaseCompiler::_newInvokeNode() | kobalicek | |
2021-02-09 | [Bug] Fixed VPERMQ incorrectly reporting AVX2 instead of AVX512-F features ↵ | kobalicek | |
(X86 features API) | |||
2021-02-03 | [Bug] [Critical] [ABI] Update that fixes all problems discovered by ↵ | kobalicek | |
comparison with LLVM-MC Fixed POP Sreg instruction, which was incorrectly implemented to emit nothing Fixed CVTSD2SI, CVTSS2SI, CVTTSD2SI, and CVTTSS2SI instructions to not consider the size of the memory operand when calculagint REX.W prefix Fixed VCMPPD, VCMPPS, VCMPSD, VCMPSS, VPCMPEQ*, VPCMPGT* instructions to always force EVEX prefix when the first operand is K register Fixed ENDBR32 and ENDBR64 instructions (wrong opcode) Fixed CLRSSBSY and RSTORSSP instructions (wrong logic in Assembler) Fixed SLDT, SMSW, and STR instructions to not consider memory size when determining prefixes Fixed UD0 and UD1 instructions to consider both operands Fixed VCVTNE2PS2BF16, VCVTNEPS2BF16, and VDPBF16PS instructions (incorrect calculation of LL field) (AVX512) Fixed VCVTPD2DQ, VCVTPD2PS, VCVTPD2UDQ, VCVTQQ2PS, VCVTTOD2DQ, VCVTTPD2UDQ, VCVTUQQ2PS in AVX512 case (incorrect calculation of LL field) Fixed VGATHERPF* and VSCATTERPF* instructions (some instructions were encoded incorrectly by not considering the memory index register type in LL field) Fixed VPBLENDVB (incorrect calculation of LL field) Fixed VPEXTRW to use use a shorter encoding when possible (vpextrw r32, xmm, imm) Fixed VPSLLD, VPSLLQ, VPSLLW, VPSRAD, VPSRAQ, VPSRAW, VPSRLD, VPSRLQ, VPSRLW instructions to always force EVEX prefix when the instruction is RMI (AVX512) Fixed the accepted memory operand size of MMX PUNPCKL??? instructions from m64 to m32 (only affects validation) Added explicit forms to XSAVE* and XRSTOR* instructions Added HRESET and UINTR instructions Changed MOV and all ARITH instructions to output the same binary as LLVM in 'reg, reg' case (it used an alternative encoding initially) Renamed LRET to RETF Renamed VBLENDM* instructions to VPBLENDM* (the name was incorrect) Renamed VPBROADCASTMB2D to VPBROADCASTMW2D (the name was incorrect) Renamed SYSEXIT64 to SYSEXITQ and SYSRET64 to SYSRETQ Removed non-standard IRETW (use IRET, IRETD, or IRETQ to select the form) | |||
2021-01-27 | [ABI] Added ljmp, lcall, and lret instructions (fixes #310) | kobalicek | |
2021-01-26 | BaseEmitter::commentf() shouldn't format string, which will be discarded by ↵ | kobalicek | |
the emitter (fixes #306) | |||
2021-01-26 | [ABI] X86/X64 GP registers should use the real type (GpbLo, GpbHi, Gpw, Gpd, ↵ | kobalicek | |
Gpq) and not just Gp (fixes #292) | |||
2021-01-26 | [Bug] Fixed instruction signatures issue introduced by the previous commit | kobalicek | |
2021-01-26 | [ABI] Added more AVX_VNNI instructions, added MOVABS for explicit Imm64 ↵ | kobalicek | |
encodings, added more assembler tests | |||
2021-01-23 | [Bug] Fixed a possible compilation error when using non-uint64_t value as ↵ | kobalicek | |
immediate instead of Imm (ambiguity) |