kobalicek
ecda2e12f1
Fixed AVX instructions vmovss and vmovsd.
...
Improved asmjit_test_opcode to generate code that is easier to verify manually.
2015-06-17 23:54:47 +02:00
kobalicek
3c477177d2
Fixed AVX/XOP bugs when encoding instruction that uses register(s) with index greater than 7.
...
Refactored a bit testing code and added ability to asmjit_test_opcode to use registers having indexes greater than 7.
2015-06-17 21:19:29 +02:00
kobalicek
ec8eb0dd47
[BUG] Fixed REX.W prefix in short form of arithmetic instruction (REX.W was deleted by opcode = ...)
2015-06-15 21:39:26 +02:00
kobalicek
3d3d5f5426
Minor - Fixed asmjit pseudo types used by function builder
2015-05-20 19:50:00 +02:00
kobalicek
3d62c94c8e
Fixed pextrw SSE instruction, added a possibility to Compiler to handle non-initialized variables in alloc(), spill(), ...
2015-05-18 11:33:14 +02:00
kobalicek
9001d2f2b7
Added a possibility to use RIP addressing.
2015-03-27 01:18:06 +01:00
kobalicek
9b48ec0f1e
Fixed tracing.
...
Added possibility to unfollow jump (#7 ).
Added possibility to return from multiple locations in code (related to unfollow).
Added more tests.
Moved some functions from X86Context to Context.
2015-03-01 17:08:38 +01:00
kobalicek
bac4a2b14c
Fixed #79
2015-02-28 00:36:50 +01:00
kobalicek
fa1f8346e2
Fixed #78
2015-02-27 23:57:58 +01:00
kobalicek
11c09b8b59
Added IDIV test.
2015-02-25 09:49:59 +01:00
kobalicek
31f881350e
Fixed a minor bug in Compiler::comment().
2015-02-15 20:49:20 +01:00
kobalicek
a587fc94d0
- Implemented intersectStates()
...
- Minor changes in logging (logger now prints liveness analysis related to labels)
- Removed some TODOs.
2015-02-14 15:33:38 +01:00
kobalicek
f289d83e5e
Fixed #73
2015-02-13 01:23:49 +01:00
kobalicek
f0be9f5dd9
Fixed #72 (Memory used by fist/fld was wrongly adjusted).
2015-02-12 23:07:09 +01:00
kobalicek
5f04cbb8ec
Added support return values that are using FPU (function call and function return).
2015-02-09 03:27:19 +01:00
kobalicek
351fbcbf57
Added 32-bit build to travis-ci build matrix (will fail).
2015-02-09 02:03:30 +01:00
kobalicek
bc77b3680f
Don't exclude gcc in travis-ci.
...
Asmjit_test should show info about current CPU.
2015-02-09 01:11:50 +01:00
kobalicek
ac37abcb36
Travis experiment.
2015-02-09 01:03:22 +01:00
kobalicek
0b1fae4438
Fixed some clang warnings.
2015-02-09 00:51:12 +01:00
kobalicek
24941e5ab9
Fixed return code in asmjit_test_x86.
2015-02-09 00:09:22 +01:00
kobalicek
de444b874a
- AsmJit executables should have consistent prefix 'asmjit'.
...
- Added 'char' to type-id for function argument to typeId conversion.
- Added asmjit_test_x86 to be called by continuous integration.
2015-02-09 00:03:27 +01:00
kobalicek
ba1c7ef145
Added a test related to issue #70 .
2015-02-07 15:21:10 +01:00
kobalicek
d82243c4c1
Fixed #68
2015-01-31 13:32:49 +01:00
kobalicek
1dfa2724d7
Minor - X86Assembler int/uint64_t overloads fail sometimes in sense that C++ compiler sees them ambiguous. This only makes it cleaner, but doesn't solve the problem.
2015-01-24 14:27:35 +01:00
kobalicek
6d24372579
X86CpuInfo::callCpuId() - added support for VS2008 and lesser.
2015-01-21 18:59:34 +01:00
kobalicek
8b3a10dc22
Minor.
2015-01-20 00:07:36 +01:00
kobalicek
85c406c2ba
Added casting methods to X86GpReg, X86XmmReg, X86YmmReg, and X86ZmmReg.
2015-01-18 22:10:36 +01:00
kobalicek
8b4c4ae739
Fixed invalid assertions in case that high byte register is used in 64-bit mode, also fixed to NOT emit a REX prefix in that case (Bug).
2015-01-13 22:48:52 +01:00
kobalicek
728490a4bf
CpuInfo and X86CpuInfo can now compile under VS2003.
2015-01-11 20:57:19 +01:00
kobalicek
099f4a0180
Don't use _BitScanForward while compiling by VS2003
2015-01-11 20:54:09 +01:00
kobalicek
4e308cce39
Fixed typo in callCpuId when compiled by VS2003.
2015-01-11 20:47:10 +01:00
kobalicek
a67e8fc694
Minor refactor of constants (don't use k prefix in enum type, only values), fixed some compilation problems with VS2003.
2015-01-11 20:44:41 +01:00
Petr Kobalicek
f8a1de724a
Merge pull request #66 from Zeex/logformat-fix
...
Fix invalid buffer length in logFormat()
2015-01-09 01:08:32 +01:00
Zeex
4de6a1d81e
Fix invalid buffer length in logFormat()
...
When the buffer passed to vsnprintf() is too small it actually returns
length of the string, not how many characters have been written to the
buffer (which is limited by the buffer size).
So bound len by sizeof(buf) - 1 in logFormat().
2015-01-07 19:33:27 +06:00
Petr Kobalicek
48da90ded7
Merge pull request #63 from kirbyfan64/master
...
Fix Clang warning about -f-inline-functions
2014-12-01 21:54:41 +01:00
Ryan Gonzalez
ee1cf60114
Fix Clang warning about -f-inline-functions
2014-11-30 14:28:57 -06:00
kobalicek
e8cd5b9924
Fixed issue #62
2014-11-29 22:08:31 +01:00
kobalicek
c4c2eb52ba
Minor
2014-11-29 22:08:04 +01:00
kobalicek
f95a065ee2
Fixed some minor issues reported by clang
2014-11-17 00:28:56 +01:00
kobalicek
06f1dbb32d
Fixed a bug caused by refactoring and improper testing (32-bit build affected only).
2014-11-09 15:43:35 +01:00
kobalicek
515d854d10
Refactored slightly some constants and operand handling in X86Assembler.
...
Refactored asmjit::x86 register definitions (now exported as a single symbol).
Refactored bit utilities, now using proper naming like `or_`, `and_`, `andNot`.
Refactored X86RegCount and X86RegMask to support K instead of Fp register.
Refactored X86 instruction table (won't stay for long, new tool to export it is in development).
Renamed instruction group to instruction encoding.
Added XSAVE/OSXSAVE and other CPU features to X86CpuInfo.
Added proper AVX and AVX-512 detection to X86CpuInfo.
Added support to get content of XCR0 in X86CpuInfo (callXGetBV).
Added XSAVE instruction set support (Assembler/Compiler).
Added SSE4a instruction set support (Assembler/Compiler).
Added X86KReg and X86KVar register/variable support (AVX-512).
Added X86ZmmReg and X86ZmmVar register/variable support (AVX-512).
2014-11-01 13:07:56 +01:00
kobalicek
1318c9aff7
Fixed warning related to disabledTrace().
2014-09-29 23:09:08 +02:00
kobalicek
fd0972d9c6
Emit/Log instruction with immediate properly if memory operand has been used with Label.
2014-09-29 20:29:30 +02:00
kobalicek
80687fc47a
Added kX86Cmp enum.
2014-09-29 02:52:38 +02:00
kobalicek
2c750024db
Fixed ConstPool traversing bug.
2014-09-26 01:13:19 +02:00
kobalicek
0cff228354
Fixed CMakeLists.txt (again).
2014-09-22 20:06:43 +02:00
kobalicek
d9f5a525e5
Fixed cmake crashing after secondary run.
2014-09-21 21:12:45 +02:00
Petr Kobalicek
04c58c6fa2
Merge pull request #55 from kobalicek/issue_53
...
Fixed Issue #53
2014-09-21 20:48:24 +02:00
kobalicek
a7c501e1fe
Fixed Issue #53 (assigning to RelocData has no effect after added in the RelocData list).
...
Refactored slightly so RelocData always uses `rd` variable name and added a scope into the buggy locations.
2014-09-21 20:41:30 +02:00
kobalicek
5185b555fe
ASMJIT_OFFSET_OF should cast to int
2014-09-20 00:29:46 +02:00