Stanislav Shwartsman
a9b4513b8a
insert/extractps do not support EVEX.b
2013-12-14 12:48:26 +00:00
Stanislav Shwartsman
cbcf30e911
implement EVEX SAE (suppress all exceptions) contol, implement AVX512 INSTERT/EXTRACTPS opcodes
2013-12-14 12:45:06 +00:00
Stanislav Shwartsman
15756a31cd
implemented EVEX MOVD/MOVQ opcodes, fixes in softfloat
2013-12-13 12:05:47 +00:00
Stanislav Shwartsman
374b8f615a
softloat: implemented some more unsigned integer vs float conversions
2013-12-12 21:00:59 +00:00
Stanislav Shwartsman
9c179bade8
fixed evex.b validation condition
2013-12-10 21:48:17 +00:00
Stanislav Shwartsman
258a60f3fa
Implemented AVX512 EXPAND/COMPRESS instructions
...
Fixed memory access size for AVX shift instructions with shift count in memory
Do not allow to encode with EVEX.b instructions which do not support implicit broadcast
softfloat: prepare float32/64 to uint32 conversion functions
2013-12-10 21:09:46 +00:00
Stanislav Shwartsman
9a4d947a28
implemented avx-512 cvt*2si instructions
2013-12-09 20:52:39 +00:00
Stanislav Shwartsman
ccb1d86d6e
code cleanups
2013-12-09 20:36:24 +00:00
Stanislav Shwartsman
d20c81417c
Implemented VSHUFF32x4/64x2, VSHUFI32x4/64x2 AVX512 instructions
...
Implemented AVX512 blend instructions
Do not allow setting of EVEX.b in reg form when no floating point exceptions could be generated by instruction
2013-12-09 19:09:37 +00:00
Stanislav Shwartsman
4c78ca8c1c
implemented mask load for most of the load+op instructions. all take care for instructions which do not support maksing of memory exceptions (shuffle and permutes)
2013-12-08 21:54:59 +00:00
Stanislav Shwartsman
8836d1aa2d
added mask destination to disasm
2013-12-08 17:01:30 +00:00
Stanislav Shwartsman
0621f2a983
extend movddup/sldup/shdup to 512-bit vlen
2013-12-07 20:58:32 +00:00
Stanislav Shwartsman
d681bd868f
fixed typo bug in xmm accessor definition
2013-12-07 20:48:41 +00:00
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