Commit Graph

  • d4c54e099c [Bug] Fixed ASMJIT_CXX_MAKE_VER to not use PATCH, which doesn't exist anymore kobalicek 2020-06-11 21:03:11 +02:00
  • 4ea9f8ab5d Added a possibility to encode movsxd with 16-bit and 32-bit operands kobalicek 2020-06-09 23:55:58 +02:00
  • cab5795858 Revert the last change kobalicek 2020-06-06 23:50:12 +02:00
  • 055bbe8e15 README.md update kobalicek 2020-06-06 22:48:22 +02:00
  • bd4f7c67e7 Improved x86::Compiler to use x86::Builder::finalize() instead using its own. kobalicek 2020-06-02 23:05:20 +02:00
  • 168f2c17bf Don't mark BaseBuilder::dump() as ASMJIT_API kobalicek 2020-06-06 22:32:40 +02:00
  • 0e04695f64 Fixed broken CI kobalicek 2020-06-01 10:16:33 +02:00
  • b73830c291 Fixed some mistakes introduced in the previous commit kobalicek 2020-06-01 10:04:18 +02:00
  • f986f7fc44 AsmJit cleanup and refactoring kobalicek 2020-05-31 23:38:22 +02:00
  • e78bba83da Added a support for indirect jumps within a function (Compiler) (#286) kobalicek 2020-05-09 00:14:52 +02:00
  • 80645e66a8 Improved natvis support kobalicek 2020-05-03 22:37:47 +02:00
  • 80098456b6 Improved CI and enhanced project cosmetics (proper license header and include guards) kobalicek 2020-05-03 17:07:21 +02:00
  • 39f19e1a8f [Bug] Fixed #285 and #241 kobalicek 2020-05-02 16:54:11 +02:00
  • fc7eed5304 Build improvements (improved CMakeLists.txt, added proper support for testing) kobalicek 2020-05-01 12:20:42 +02:00
  • 9057aa30b6 Improved AsmJit public API to not depend on <windows.h> header kobalicek 2020-04-29 10:22:26 +02:00
  • 13367b59c2 Removed union{} from asmjit::Operand so it never causes problems with constexpr kobalicek 2020-04-28 20:13:13 +02:00
  • d241dfb364 Fixed some compile-time warnings kobalicek 2020-04-14 22:37:16 +02:00
  • bbc31a91ea [Bug] Fixed #281 kobalicek 2020-04-13 22:24:06 +02:00
  • 304bf43a23 Fixed few warnings kobalicek 2020-04-13 21:45:55 +02:00
  • 1491d5f2ea [Bug] Fixed encoding of special case 'test al, XXX' being wrongly used with 'ah' operand kobalicek 2020-03-16 15:17:02 +01:00
  • 0b2e81ca74 [Bug] Fixed wait/fwait instruction (generate 9B instead of invalid DB) kobalicek 2020-03-16 12:39:42 +01:00
  • 7687cc6395 [Bug] Fixed 'lock xadd [mem, reg]' instruction kobalicek 2020-03-06 21:06:09 +01:00
  • 0072c202db Added support for BND/REPNE call/jmp/jcc/ret kobalicek 2020-02-23 22:51:53 +01:00
  • 967dde0fc4 Use relative displacement in mov [abs], ax if base-address is known and the displacement encodable (#275) kobalicek 2020-02-23 00:05:36 +01:00
  • 8e1eb4f5dc Added begin()/end() + operator[] to CodeBuffer kobalicek 2020-02-14 00:08:47 +01:00
  • 0ee535519c Added bswap r16 instruction, which has undefined behavior, but is encodable kobalicek 2020-02-08 10:14:56 +01:00
  • c92e495b63 Added .editorconfig kobalicek 2020-02-08 10:13:44 +01:00
  • 5437d20dbb Added support for MAP_JIT (OSX, IOS), build system and CI improvements kobalicek 2020-01-24 10:10:02 +01:00
  • 7e164e3ede [Bug] Fixed bug in VirtMem::releaseDualMapping() not releasing it properly (#270) Dmitry Opokin 2020-01-15 14:53:58 +07:00
  • 5944428b4e [Bug] Fixed FreeBSD compilation issue (Issue #268) kobalicek 2020-01-10 09:46:45 +01:00
  • 911a9a50a2 Minor cleanup kobalicek 2020-01-01 15:36:16 +01:00
  • 064727fd82 [Bug] Fixed wrong opcode generated by mov [mem], sreg (Possibly bug #266) (Backported from master) kobalicek 2019-12-27 18:39:36 +01:00
  • baa79895c8 [Bug] Fixed wrong opcode generated by mov [mem], sreg (Possibly bug #266) kobalicek 2019-12-27 18:37:56 +01:00
  • eea0a22b3b Hash table update kobalicek 2019-12-24 15:57:59 +01:00
  • ac77dfcd75 Minor changes + fixed x86::Mem constructors to always be explicit kobalicek 2019-10-25 09:40:26 +02:00
  • 019811d1f0 Added missing vpermpd & vpermps (AVX512) and changed how EVEX prefix is propagated in x86::Assembler kobalicek 2019-10-05 12:57:22 +02:00
  • 7525ff08d7 [Bug] Fixed encoding and information of vpbroadcast[b|w|d|q] instructions kobalicek 2019-10-03 20:02:55 +02:00
  • 17556b2d49 [Bug] Fixed wrong encoding of vpdpbusd, vgf2p8mulb, vgf2p8affineqb, and vgf2p8affineinvqb instructions with memory operand kobalicek 2019-10-01 00:17:14 +02:00
  • 238243530a Add X86Test_FuncCallRefArgs (#254) ζeh Matt 2019-09-03 20:56:56 +02:00
  • 7c8f3150d7 Cosmetic changes, made sbb write-only when used with the same register kobalicek 2019-09-03 20:52:33 +02:00
  • a433d4b410 Add reference type support for function signatures (#253) ζeh Matt 2019-08-20 19:29:00 +02:00
  • 4da474ac9a Travis-CI update kobalicek 2019-08-14 09:00:48 +02:00
  • 763f5975d1 Fixed wrong VEX/EVEX broadcast calculation [Bug] kobalicek 2019-08-14 08:58:51 +02:00
  • 3d510b3540 Downgraded CMake version requirement to 3.5 for better compatibility (#252) Jianyu Huang 2019-08-08 14:37:57 -07:00
  • 5d9e960794 Fixed X86Internal::emitRegMove() to update the size of a memory operand when necessary kobalicek 2019-08-05 23:54:50 +02:00
  • 5d40561d14 Refactored register allocator asm Compiler. (#249) Petr Kobalicek 2019-07-16 01:24:22 +02:00
  • 761130b1d8 README.md update kobalicek 2019-05-23 20:36:17 +02:00
  • 32d4274af5 Added notice to README.md about oldstable branch kobalicek 2019-05-23 20:16:40 +02:00
  • fc251c914e Only use -Wbool-operation when compiling with GCC 7+ kobalicek 2019-03-20 09:44:11 +01:00
  • 02d24af4c0 Replace incorrect CMake CACHE variable type BOOLEAN with BOOL (#238) Nils Gladitz 2019-03-20 09:38:43 +01:00
  • 1e550aa568 Updated Support section in README.md kobalicek 2019-01-27 17:58:56 +01:00
  • f06b78fdf4 Added xacquire/xrelease/k(kreg) modifiers to X86Emitter (backported from next-wip) kobalicek 2019-01-24 11:36:08 +01:00
  • 3092065f14 Fixed bug in instruction validation (#220) svost 2018-11-22 15:07:03 +03:00
  • e53ff4267b Fixed #199 kobalicek 2018-11-17 14:07:52 +01:00
  • 868f8d2e27 Attempt to fix remaining issues (maintenance mode) kobalicek 2018-11-17 13:45:39 +01:00
  • c2f50e6fc5 Incorporated changes from pull requests 187, 202, and 212 kobalicek 2018-11-17 05:43:49 +01:00
  • 2194899168 Updated README.md - Incorporated some changes from PR190 and added a disclaimer about next-wip kobalicek 2018-11-17 05:13:12 +01:00
  • 771d66b301 Fixed #178 kobalicek 2018-11-07 02:56:49 +01:00
  • 673dcefaa0 Fixed #188 kobalicek 2017-12-11 02:02:44 +01:00
  • a3cd6fa26d fix installation of static library (#185) Markus Theil 2017-11-27 14:15:08 +01:00
  • bf2130caac Updated LICENSE.md to be more friendly to the github license parser kobalicek 2017-11-15 01:19:50 +01:00
  • 92bd11f374 Added TypeIdOf<bool> partial overload to allow bool type in function signatures. Wenzel Jakob 2017-11-08 00:16:29 +01:00
  • 4d8a696e8e Fixed #184 kobalicek 2017-11-07 23:16:58 +01:00
  • 29d72cc627 Temporarily disable linux/clang compiler on Travis (it's not compatible with libc++ provided by Travis) kobalicek 2017-11-07 10:03:09 +01:00
  • 4f66bee8b2 Fixed #182 kobalicek 2017-11-07 02:04:29 +01:00
  • 802c6a037f X86Assembler: bugfix in checking parameters of the outs instructions (#180) fthielke 2017-11-01 14:22:06 +01:00
  • 082a395dfd Fixed a bug in Compiler when used with CodeInfo that doesn't specify any alignment kobalicek 2017-10-28 23:14:07 +02:00
  • 9850643721 Remove unnecessary #include <sys/statvfs.h> (#175) Michael Clark 2017-08-16 02:36:12 +12:00
  • 31066937fd Fixed 'enter x, y' bug kobalicek 2017-08-08 20:16:37 +02:00
  • cec9f76fc7 Updated CxxProject kobalicek 2017-08-08 20:15:41 +02:00
  • 63d1c228d7 Install dll in /bin (#177) xantares 2017-07-30 22:11:34 +02:00
  • 1370fe6a26 Fixed typos in the Stack Management example (#172) Simon Rainer 2017-05-08 15:17:13 +02:00
  • faf7e850bc Fixed LIKELY/UNLIKELY macros kobalicek 2017-05-03 12:51:59 +02:00
  • ab59e3518f Added some simple test cases kobalicek 2017-03-30 17:37:12 +02:00
  • 3864b255e9 Fixed CPU detection of FMA3, fixed AVX/AVX2 flags of vpavgb and vpavgw instructions (asmdb update) Petr Kobalicek 2017-03-25 18:52:37 +01:00
  • 46daab98b1 [bug] Fixed incorrect code generated by setcc instruction when using GPB.HI reg kobalicek 2017-03-21 12:16:08 +01:00
  • 81a78351b3 Fix ternary condition for 32/64 bit reg swaps (#164) Michael R Fairhurst 2017-03-21 02:22:40 -07:00
  • 6282179662 Go to next block group after return, so it gets a pass state (#163) Michael R Fairhurst 2017-03-16 12:05:09 -07:00
  • 3f4bb2ba0e Fixed a bug introduced by a previous commit kobalicek 2017-03-09 17:07:24 +01:00
  • e8a80ea958 Moved logic from x86inst.cpp to x86instimpl.cpp, moved some instruction methods to Inst from X86Inst, added Inst::checkFeatures() for retrieving which CPU features are required to run a given instruction, minor reorganization and asmdb update kobalicek 2017-03-09 16:57:54 +01:00
  • 0e80d2c3c3 [bug] Fixed special case of mov[abs] instruction kobalicek 2017-03-07 13:59:06 +01:00
  • 528951ab9a Minor, catch VSIB{rip+xxx} in x86 validator as well kobalicek 2017-03-06 18:54:52 +01:00
  • 35ba2ad83a Minor changes to cmake files kobalicek 2017-03-04 20:37:42 +01:00
  • 951c62e330 Named labels are printed with their name, instead of L#. (#160) Víctor M. González 2017-03-04 13:02:31 -03:00
  • df7423d596 Fill sourceSectionId of reloc info properly kobalicek 2017-02-27 20:25:37 +01:00
  • 90c26db709 Added more memory addressing types to Mem operand kobalicek 2017-02-27 17:12:28 +01:00
  • a808b44359 Minor logging changes kobalicek 2017-02-26 12:33:05 +01:00
  • 4a94223ebd Added new instructions + xacquire|xrelease prefixes, reorganized instruction options kobalicek 2017-02-26 12:19:49 +01:00
  • f589e7165a Fixed encoding of 'CRC32 r64, r8/m8' instruction Fixed encoding of 'POPCNT|TZCNT|LZCNT r16, r16/m16' instruction Fixed encoding of EVEX instructions that don't provide VEX prefix equivalent Added 'LOCK MOV CR8' extension used by AMD processors in 32-bit mode and 'ALTMOVCR8' CPU feature Renamed some CPU features to respect their names used in X86/X64 architecture manuals Added validation of immediate operands (correct size, correct sign/zero extension) Added validation of explicit/implicit size of memory operands Added validation of LOCK/REP/REPNZ prefixes to x86 validator Reorganized some X86 instruction tables, removed family specific tables, introduced OperationData Improved instruction tables generator to automatically generate instruction flags Regenerated all instruction tables to respect the current state of 'asmdb.x86data' kobalicek 2017-02-25 19:26:08 +01:00
  • aa154e3590 Added more instructions (System, MPX, AVX512_VPOPCNTDQ, AVX512_4FMAPS, AVX512_4VNNIW) kobalicek 2017-02-21 01:55:07 +01:00
  • bb8b6d9fa2 Mark _globalOptions as well as _lastError in CodeEmitter::setLastError() kobalicek 2017-02-20 08:56:38 +01:00
  • 2416e428a3 Get rid off some strict aliasing warnings. kobalicek 2017-02-19 19:41:10 +01:00
  • 1e47f7999c Fixed some warnings kobalicek 2017-02-19 19:36:36 +01:00
  • 9ceb071c4a Minor improvements kobalicek 2017-02-19 18:42:44 +01:00
  • c8c16f3366 [bug] Fixed encoding of vmovd and vmovq instructions kobalicek 2017-02-16 02:31:08 +01:00
  • 8c86004d7f Minor Compiler fixes especially related to AVX kobalicek 2017-02-15 17:22:16 +01:00
  • 8062e7d433 Dump an instruction signature on error, corrected x86 validator a bit, adjusted DB according to asmdb changes kobalicek 2017-02-14 18:40:31 +01:00
  • 216fb5a281 Added FastEval calling convention - AsmJit specific/experimental feature kobalicek 2017-02-11 02:34:09 +01:00
  • 43dbe48afc Added CodeCompiler::newSimilarReg, merged generate-xxx tools from next-wip branch, changed pcmpgtq to be in SSE4.2 group kobalicek 2017-02-09 14:15:08 +01:00
  • a984b508fc Clean-up (#153) Philipp Paulweber 2017-02-09 13:48:20 +01:00