Stanislav Shwartsman
1e474ede51
fixed corrupted fetchdecode from svn rev12001
2013-12-07 20:30:27 +00:00
Stanislav Shwartsman
7ed017a56d
implemented avx-512 gather/scatter
2013-12-07 20:15:56 +00:00
Stanislav Shwartsman
3154c3682e
fixed decoding of RDRAND instructions
2013-12-07 07:17:04 +00:00
Stanislav Shwartsman
8c3d0aed7a
added #UD condition for wrong EVEX.LL setting
2013-12-05 20:40:53 +00:00
Stanislav Shwartsman
ca2793ac76
Debugger: fixed param tree access to 64-bit variables (need to use get64() instead of get())
...
Debugger: if AVX-512 if not supported by current configuration do not print high256 of vector registers and zmm15..zmm31 in AVX command
Implement VBROADCASTF64x4, VBROADCASTF32x4, VBROADCASTFI64x4, VBROADCASTI32x4 AVX-512 instructions
Fetchdecode optimizations and bugfixes
2013-12-05 19:17:16 +00:00
Stanislav Shwartsman
cfc8a0ad38
get rid of BX_MEM_NO_VVV decoding form (by splitting just two opcode groups using Split11B)
2013-12-04 20:15:22 +00:00
Stanislav Shwartsman
401caf168d
Implemented VPERMILPS/PD AVX512 instructions
...
Implemented VPTERNLOGD/Q AVX512 instructions
Implemented VPBROADCASTD/Q, VPBROADCASTPS/PD AVX512 instructions
Implemented VTEST* AVX512 instructions
Bugfixes in EVEX decoding tables
2013-12-04 18:30:44 +00:00
Stanislav Shwartsman
a5153c348f
fixed bugs in vcmp* avx512 opcodes
2013-12-03 22:16:22 +00:00
Stanislav Shwartsman
ccdd21a76b
small diet to the avx-512 files - remove code duplication
2013-12-03 21:32:04 +00:00
Stanislav Shwartsman
18922fa1a3
added sanity check assert
2013-12-03 17:41:13 +00:00
Stanislav Shwartsman
6d9b16e0f7
Implemented VCMPPS/PD/SS/SD AVX512 instructions
...
Implemented AVX512 shift/rotate instructions
2013-12-03 15:44:23 +00:00
Stanislav Shwartsman
ba505677d2
bugfix for avx-512 masked load with mask all-zero
2013-12-02 20:46:26 +00:00
Stanislav Shwartsman
a85a9081b7
use shorter opcode names in the debug prints (skip the BX_IA_ prefix)
2013-12-02 20:06:59 +00:00
Stanislav Shwartsman
0683b00535
implemented more avx-512 opcodes
2013-12-02 19:16:48 +00:00
Stanislav Shwartsman
79456eb7e1
Implemented VPCMP* AVX512 instructions
...
Implemented VMOVNTPS/PD/DQ AVX512 instructions
Implemented VMOVNTDQA AVX512 instruction
Bugfixes for AVX-512
2013-12-02 18:05:18 +00:00
Stanislav Shwartsman
b78489628d
make use of new accessor
2013-12-01 22:21:55 +00:00
Stanislav Shwartsman
287523e19a
add dedicated 8bit low register accessor
2013-12-01 22:18:38 +00:00
Stanislav Shwartsman
4aa5199d0c
added missing decoding for avx-512 fma flavor
2013-12-01 21:50:19 +00:00
Stanislav Shwartsman
4f158aef5f
Fixed 8-bit opmask read
...
Added opmask printout for AVX dump in dbg_main.cc
2013-12-01 20:50:01 +00:00
Stanislav Shwartsman
c7b03eb00b
implement avx-512 vpabsd/q instructions
2013-12-01 20:10:39 +00:00
Stanislav Shwartsman
2b83146ae2
more avx-512 instructions implemented
2013-12-01 19:39:18 +00:00
Stanislav Shwartsman
37d6403681
typo fix 2
2013-11-30 19:57:03 +00:00
Stanislav Shwartsman
32c91015a7
typo fix
2013-11-30 19:55:10 +00:00
Stanislav Shwartsman
fb2521a1fe
implemented avx-512 vsqrt instructions
2013-11-30 19:33:08 +00:00
Stanislav Shwartsman
7db6c647b0
fixed memory access decoding in presence of evex prefix
2013-11-30 18:51:27 +00:00
Stanislav Shwartsman
ac82b38736
fixed typos causing compilation err
2013-11-30 18:39:22 +00:00
Stanislav Shwartsman
d082c6a0f9
implemented avx-512 masked load instructions
2013-11-30 18:37:25 +00:00
Stanislav Shwartsman
f76c85dca9
fixed 512-bit VL encoding in EVEX
2013-11-29 21:05:29 +00:00
Stanislav Shwartsman
b820b7af57
fixed zmm reg name in disasm
2013-11-29 20:52:34 +00:00
Stanislav Shwartsman
61deec2689
fixed zmm reg name in disasm
2013-11-29 20:48:31 +00:00
Stanislav Shwartsman
11f082af82
Implemented VMOVDQU32/VMOVDQA32/VMOVDQU64/VMOVDQA64 AVX512 instructions
...
Implemented VCOMISS/VCOMISD/VUCOMISS/VUCOMISD AVX512 instructions
Fix vector length values for AVX-512 (512-bit vector should have length 4)
support mis-alignment #GP exception for VMOVAPS/PD/DQA32/DQ64 AVX512 instructions
move AVX512 load/store and register move operations into dedicated file avx512_move.cc
2013-11-29 20:22:31 +00:00
Stanislav Shwartsman
031583dbd9
moved avx masked load/store operations to separate functions
2013-11-29 18:15:48 +00:00
Stanislav Shwartsman
21bb1363ac
avx512 move functions introduced
2013-11-29 11:10:34 +00:00
Stanislav Shwartsman
1a735e9fdf
bugfix for decoding segment prefix with EVEX
2013-11-28 21:28:50 +00:00
Stanislav Shwartsman
4680c22d0e
implemented avx-512 masked register moves
2013-11-28 20:58:31 +00:00
Stanislav Shwartsman
b7f950aa5c
more coding for avx512
2013-11-26 19:22:31 +00:00
Stanislav Shwartsman
1beeb33b51
implemented avx-512 fma instructions (in seperate file), fixes in avx-512 decoding tables
2013-11-25 20:42:24 +00:00
Stanislav Shwartsman
eb9778220d
fixed decoding of 0f3a opcode map
2013-11-20 20:46:03 +00:00
Stanislav Shwartsman
b553591bb4
fixed compilation error under AVX
2013-11-20 17:33:57 +00:00
Stanislav Shwartsman
7f8429c643
fix code duplication in fetchdecode modules
2013-11-20 16:00:24 +00:00
Stanislav Shwartsman
9b22ba7edf
softfloat: added float to uint64 conversion operations (based on QEMU patch by Tom Musta)
2013-11-10 19:08:12 +00:00
Stanislav Shwartsman
3be7e5884b
added lock prefix used info into bx_Instriction_c and use it in disasm
2013-11-08 21:43:21 +00:00
Stanislav Shwartsman
4b03247287
fixed compilation error with vs2008
2013-10-25 05:36:10 +00:00
Stanislav Shwartsman
d9fc472ba7
Added VMEXIT instrumentation callback
...
Fixed possible RSP corruption in SMP mode - the speculative_rsp variable might be not reset properly
2013-10-23 21:18:19 +00:00
Stanislav Shwartsman
d52adaa0ee
improve debug print to the log file which is printed in case of triple fault - tell VMX host/guest info
2013-10-20 16:41:34 +00:00
Stanislav Shwartsman
39f2f172b5
fixed PAUSE/NOP decoding bug in prev commit
2013-10-16 05:46:57 +00:00
Stanislav Shwartsman
8bcc8cf073
split PREFETCH opcode to Group16 for better disasm of bxInstruction_c
2013-10-15 21:21:28 +00:00
Stanislav Shwartsman
940c2a1c8e
fixes for disasm
2013-10-15 17:19:18 +00:00
Stanislav Shwartsman
e1012f1165
add vmcs revision id interface to CPUID class
2013-10-14 18:35:56 +00:00
Stanislav Shwartsman
9fb7384e6b
finish sse tables cleanup in disasm and fetchdecode
2013-10-11 20:09:51 +00:00