Commit Graph

267 Commits

Author SHA1 Message Date
Wenzel Jakob
f900a92e13 [BUG] Fix avx512 detection (#136) 2016-09-17 15:25:08 +02:00
kobalicek
a7d3c757e4 Updated README to inform about the next branch 2016-09-13 00:53:15 +02:00
kobalicek
6467c73ddf [BUG] Fixed a macro expansion from wordptr to word_ptr (only rip addressing affected) 2016-07-10 05:30:56 +02:00
kobalicek
c908c3db8d Added ADX, TBM, CLFLUSH_OPT, PREFETCHW, and SHA instruction sets to Assembler and Compiler\nAdded initial support for AVX/AVX2 instructions into X86Compiler\nRenamed oword to dqword (intel convention)\nFixed incorrect XOP and FMA4 detection\nCosmetic changes in documentation\nFixed unused typedef warnings (clang) (related to #132) 2016-07-03 23:05:43 +02:00
kobalicek
6f6ca70c4c Fixed BMI and BMI2 (finally). 2016-06-30 19:44:12 +02:00
kobalicek
5db35108d0 Fixed MSVC compilation issues. 2016-06-30 19:16:43 +02:00
kobalicek
d25f392c6e Minor code cleanup, fixed 64-bit BMI and BMI2 instructions 2016-06-30 18:59:59 +02:00
kobalicek
286bc22f49 Better compiler flags detection in CMakeLists.txt\nFixed missing noexcept in StaticRuntime.cpp 2016-05-05 04:08:23 +02:00
kobalicek
f7de7b8d35 Added a test-case to verify stack allocation, attempt to fix #128 2016-04-16 16:35:58 +02:00
kobalicek
9fc1dbfdcd Moved calling conventions to globals.h
Fixed #128
2016-04-16 14:50:17 +02:00
kobalicek
f7ddd38777 Trying to trigger #126 2016-04-09 13:51:48 +02:00
kobalicek
83682451b8 Mark clobbered registers when allocating "call" (X86Compiler) 2016-04-09 04:55:00 +02:00
James Laver
02ba5cc35c renamed bswap32 to byteswap32 to avoid conflict with builtin freebsd macro 2016-04-03 16:14:04 +02:00
kobalicek
446a5f1cb1 Improved asmjit trace - pretty print nodes being removed 2016-03-29 04:57:56 +02:00
kobalicek
6ef5878eca Minor compiler update - unreachable code remover will not remove labels. 2016-03-29 01:01:28 +02:00
kobalicek
95aacf9fd1 Moved addFunc() from X86Compiler to Compiler.
Fixed CompilerContext not being reset after the first function is translated.
2016-03-28 23:18:41 +02:00
kobalicek
7b0e362ac6 Added ASMJIT_TRACE support to CMakeLists.txt 2016-03-28 22:33:32 +02:00
kobalicek
4a654c2c49 Fixed bug in PodVectorTmp<> implementation and added a test-case for it. 2016-03-28 02:03:25 +02:00
kobalicek
b81004bc99 [Bug] Fixed a bug in X86Compiler::getIntPtr() not promoting intptr to int32/int64.
Minor changes.
2016-03-24 03:26:41 +01:00
kobalicek
185a96a46a Reworked CpuInfo (removed X86CpuInfo, added ARM CpuInfo support).
Renamed CodeGen to ExternalTool.
Moved logger constants from asmjit namespace to asmjit::Logger.
Moved AssemblerFeature constants from asmjit namespace to asmjit::Assembler.
Added noexcept to most APIs that are not intended to throw.
Added memory utilities that can read/write to unaligned memory location (ongoing ARM support).
Removed unimplemented instruction scheduler, will be added back when it's working.
2016-03-21 21:41:55 +01:00
kobalicek
a5cdf0b44b Updated x86inst. 2016-03-10 18:04:19 +01:00
kobalicek
d7317987bf Added a link to chat-room to README.md. 2016-03-10 18:01:38 +01:00
Petr Kobalicek
c31593c5ed Merge pull request #123 from alexjbest/master
[BUG] Fixed bug in optimised align code
2016-03-09 00:07:56 +01:00
Alex J. Best
374de74994 fixed bug in optimised align code 2016-03-08 18:32:26 +00:00
kobalicek
12495ceffc Fixed wrong commit 2016-03-08 19:13:14 +01:00
kobalicek
a33393265b [BUG] Clear last error after X86Compiler is attached to X86Assembler (#120) 2016-03-07 22:57:45 +01:00
kobalicek
1b56ec62a9 Fixed invalid check in push/pop when used with a memory operand (32-bit). 2016-01-20 02:17:45 +01:00
kobalicek
7c197912fd Minor changes. 2016-01-14 18:34:43 +01:00
kobalicek
8f52f1ef87 Removed #pragma intrinsic(...), it's not needed anymore. 2016-01-12 23:03:36 +01:00
kobalicek
fd91ba5fee Minor code cleanup, fixed variable shadowing and unused parameters. 2016-01-12 03:14:23 +01:00
kobalicek
edc3c3b0af Fixed invalid check regarding VS2010. 2016-01-11 03:46:23 +01:00
kobalicek
75221286ab [BUG] Fixed a FPU bug (kX86InstEncodingIdFpuArith) introduced by bf8bba5bba
[BUG] Fixed blend_bench tool
2016-01-08 20:27:06 +01:00
kobalicek
1c3570cb9b Refactored to use nullptr instead of NULL, if compiler supports it. 2016-01-07 18:42:30 +01:00
kobalicek
eb7a6b0d26 Fixed ASMJIT_FALL_THROUGH detection.
Renamed ASMJIT_FALL_THROUGH to ASMJIT_FALLTHROUGH.
2016-01-07 00:01:07 +01:00
kobalicek
89f8d4bbf8 Added ASMJIT_FALL_THROUGH to better deal with switch/case
Replaced ASSERTs by runtime checks in X86Compiler intrinsics
2016-01-06 21:17:17 +01:00
kobalicek
bf8bba5bba Added ASMJIT_NOEXCEPT macro
Replaced some inlined ASSERTs by runtime checks in X86Assembler.
2016-01-05 18:46:18 +01:00
kobalicek
e5f7b8b533 Added X86Compiler::ovewrite() modifier (instruction option) + other cosmetic changes. 2016-01-04 16:17:42 +01:00
kobalicek
b9b1ad6fae Added ASMJIT_NOT_REACHED() to better deal with unreachable code.
Added Visual Studio 2015 scripts and fixed asmjit_test_x86 which now compiles under VS2015
Added StringLogger::getLength()
Added methods to X86Compiler to create a variable operand by its ID
2016-01-02 16:24:54 +01:00
kobalicek
9e100d11a1 CxxTool update. 2015-12-18 00:57:39 +01:00
kobalicek
5cb7d976e7 Added Operand::reset(). 2015-12-16 18:14:57 +01:00
kobalicek
e726dd3872 Make alignment of a stack required by a function call proper. 2015-12-15 17:06:27 +01:00
kobalicek
bda7673558 Minor. 2015-12-12 18:08:02 +01:00
kobalicek
1e322d4922 Coding style. 2015-12-08 13:30:44 +01:00
kobalicek
3fcd65cf80 - Moved to cxxtool to generate build.h compiler and platform based definitions.
- Compiler no longer works on its own, it requires Assembler.
- Labels created by Assembler and Compiler now share their IDs, so they can be used nearly interchangeably without weird side-effects and hacks.
- Renamed getError() and setError() to getLastError() and setLastError().
- Renamed compiler nodes to "HL" nodes (preparation for HLStream).
- Renamed FuncConv to CallConv.
- Function calling convention is now part of FuncPrototype.
- Added a possibility to align by inserting zeros (kAlignZero)
- Fixed assertion in X86Compiler that didn't like unhandled function argument(s).
- Added Compiler::embedConstPool() helper, which can be handy if you use your own ConstPool.
- Code refactorization and other minor changes.
- CpuTicks::now() renamed to Utils::getTickCount().
- error.h merged with globals.h
- Documentation updates related to recent API changes.
2015-12-07 07:34:25 +01:00
kobalicek
6758955e8c Fixed Issue #114 2015-11-30 10:00:37 +01:00
Petr Kobalicek
a910f05c66 Merge pull request #110 from tizgrape/cygwin
Build AsmJit with Windows ABI on Cygwin
2015-11-11 12:20:56 +01:00
Hui Z
1853bd388c Build AsmJit with Windows ABI on Cygwin 2015-11-09 17:19:35 +08:00
kobalicek
31c0b46710 Fixed #107 2015-10-25 21:10:39 +01:00
kobalicek
dacd9eb641 Fixed #106 2015-10-13 19:18:54 +02:00
kobalicek
4ad2729632 Fixed #105 2015-10-13 11:03:56 +02:00