Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/asmjit/asmjit.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-06-25[Bug] Added a missing JitAllocator::query()jitallocator_querykobalicek
2022-06-22Suppress -Wbitwise-instead-of-logical warning that was introduced by clang 14kobalicek
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_movskobalicek
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-02Fixed typos in comments (#361)Adrian Vogelsgesang
2022-04-01Cleaned up AArch64 RAPass to not shadow variables in _rewrite() (Fixes #359)kobalicek
2022-03-27Added 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::Assemblerkobalicek
2022-03-15[Bug] Fixed invalid operand order in AArch64 register move (Compiler)kobalicek
2022-02-25Added missing baseReg() and indexReg() to arm::Mem operandkobalicek
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 codekobalicek
2022-02-09[ABI] Initial AArch64 supportkobalicek
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-14Reworked unaligned memory access to work better with GCC 11kobalicek
2021-12-14[API] Fixed most static analysis issues reported by clangkobalicek
[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 ABIkobalicek
[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-13Fixed 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-27Refactored naming of data types in formatted text, which is now part of ↵kobalicek
architecture traits
2021-06-27In 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 FuncFramekobalicek
2021-03-14Added 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-13Split assembler tests so they can compile much faster with GCCkobalicek
2021-03-06Added support for PROT_MAX() in VirtMem::alloc() and refactored VirtMem a bitkobalicek
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-26BaseEmitter::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 commitkobalicek
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)