Mark Charney
eb5f9f7c70
INVVPID, INVEPT: allow 16b mode decoding.
...
Change-Id: Ifa83e21f6fba43afe9eca693872839442e9ef960
(cherry picked from commit f28b75e5036c771148323f4f3675551f6aefcff6)
2017-07-06 14:57:04 -04:00
Mark Charney
68d7d10141
ild_codegen.py: remove bogus asserts that come up for #UD on disp/mode
...
* ild should not assert.
* lengths of (unnamed) #UDs are not architectural and are subject to
change by implementation, although they infrequently change.
* the code was attempting to catch a case where information was
missing (about the lengths of displacments) but if information is
missing, the corresponding encodings are not defined.
Change-Id: Ieb30c380ae6117567fa1a72dd0adbd7f0e3b2791
(cherry picked from commit 80173f59809456b8406b573a435d1b00c56efef1)
2017-07-06 09:06:26 -04:00
Mark Charney
d6284a455c
add UD0 and UD1 instructions definitions
...
Change-Id: I0a6405956a69e8052de57e209ba2dd013d636f7b
(cherry picked from commit 9e4a372fe6966a17a4f99861876b7520a3b55a08)
2017-07-06 09:06:26 -04:00
Mark Charney
ef83ba6cb1
improve EVEX & VEX handling of mask register specifier bits
...
* Outside of 64b mode, EVEX.R', EVEX.R, EVEX.X and EVEX.B are
ignored. (handled in ILD C code). If not set, those fields are
zero.
* MASK_B ignores REXB (EVEX.B and VEX.B). It is used in EVEX and VEX
mask encodings. SDM(062) states EVEX.B is ignored but omits
mention of VEX.B.
* In 64b mode, VEX.vvvv[3] must be 1 for mask registers; EVEX.vvvv
is not used for mask registers. In non-64b mode VEX.vvvv[3] is
ignored for mask regs.
* VEX.R must be 1 for mask registers.
Change-Id: I209a62c7e27778ca0981e342cb3143f367409abf
(cherry picked from commit c41fb5e8f6b77524b94ee2e5860dd6c91a45b628)
2017-07-06 09:06:26 -04:00
Mark Charney
8f4f45418c
xbegin ignores 66. undoing recent commit
...
* I was given bad information. Correcting that now.
Change-Id: I6676585bd040ae6b19062fdab6942389b3d1581e
(cherry picked from commit a1d8c5563806e9d985a9990fe37ca31527a56da1)
2017-06-30 12:21:46 -04:00
Mark Charney
5fcbd0e281
int1: add rIP operand.
...
Change-Id: I2a7f1f584d7506a91e12bd5c5f5aedcec6585760
2017-06-29 22:18:05 -04:00
Mark Charney
9057dfef75
xed-isa: fix JO not64 to use EIP
2017-06-29 22:18:01 -04:00
Mark Charney
03a1c5f6c1
rebase tests
...
Change-Id: Ida6e97d3841e8f33108c56aac3921db14c97358e
2017-06-29 22:17:54 -04:00
Mark Charney
d20b4ac07e
oc2-extras: rip nt is y not v
...
* y is 32/64 and v is 16/32/64
2017-06-29 22:17:36 -04:00
Mark Charney
f4d0c4a179
rebase tests for RIP/EIP rip-rel update in prev commit
...
Change-Id: I202cf31e306cbdf6508f2c5d70794c5ba4edec8b
2017-06-29 22:17:30 -04:00
Mark Charney
94339eca9d
Have RIP-rel addressing work with 67 prefix
...
* decoder shows EIP if 67 used for rip rel in 64b mode.
looks nicer.
* encoder works with EIP (and emits 67) if used for encoding.
Change-Id: Ie3a63c7562c90ea8e48ac24e89d6ac5d8b20a1b8
2017-06-29 22:17:25 -04:00
Mark Charney
4f2d7653c5
rebase tests for RIP improvement in prev commit
...
Change-Id: I194f11c04a102fa64dc2e57382454847016477d5
(cherry picked from commit f7c52983742304f5c91c69d5bcaff1837b221534)
2017-06-29 22:17:18 -04:00
Mark Charney
dc0e662d38
cleanup of RIP handling on branches
...
* rIP() was effective address size (EASZ) sensitive and that was
wrong.
* some branch instructions have 64b mode only patterns. They now
use XED_REG_RIP.
* some branch instructions have not64 mode only patterns. They now
use XED_REG_EIP.
* some branch patterns use common patterns. They use rIP() but now
rIP() is mode-only sensitive. In 64b mode, RIP gets updated. And
in non64 modes, EIP gets updated. When EOSZ is 16b, the full 32b
EIP is updated, under a mask.
* Still to do: need to rebase the existing tests and add new ones.
More testing required.
Change-Id: Id6124cab3ec58db702c359b7621e3a17a9d39dfa
2017-06-29 22:17:12 -04:00
Mark Charney
27e3ad03f1
rtm.xed date 2017
...
Change-Id: I1981761e98f9b2a159250d41d95c79953ac78e91
(cherry picked from commit 3fbfb7cb64196669b72506952d8e6943ef33b701)
2017-06-29 22:17:03 -04:00
Mark Charney
9274e7a2ce
add fsbase tests
...
Change-Id: I762336c8e8f5bea74cf368dcd7aad8046d88a5cc
(cherry picked from commit 292628d3bbef2be9e998a4bd3b8b225b954627b7)
2017-06-29 22:16:58 -04:00
Mark Charney
fe689745cb
FSGSBASE: remove no-66 prefix requirement.
...
Change-Id: I9b7220ecce75dad4e8402a69cdf6eeefdb9afa9f
(cherry picked from commit 2d2f7c43167e53e69543e23b51e85e815e991ac0)
2017-06-29 22:16:52 -04:00
Mark Charney
e4b1b432b4
xbegin #UDs with 66
...
Change-Id: Ia94ced4a472c005b89cb80fd08c1a3ca44fedcfe
(cherry picked from commit 20855608232d6cf5cd2f33e0563b0545a8ba9623)
2017-06-29 22:16:45 -04:00
Mark Charney
334f4d9cc9
add KMOVQ tests
...
Change-Id: I1a9107a0ff8dba4c296545a199f94ecf808e312a
(cherry picked from commit 6f20f7c856ebe463514caceff971d96f1730b7c0)
2017-06-29 22:16:38 -04:00
Mark Charney
065409454f
update tests for FCMOV/CMOV split from PPRO ISA SET
...
Change-Id: I7dc7bddceded5c6b5a97c3b72f32e8e96c3d7cea
(cherry picked from commit 9723b00d2545ea9a8c5d99d71a9a100a54edaf50)
2017-06-29 22:16:33 -04:00
Mark Charney
6a015237c2
KMOVQ aliases to KMOVD in 32b mode. VEX.W is ignored.
...
Change-Id: Idcec6c04a9b32ccd539866938af3b0d1cc7b0ee9
(cherry picked from commit 334f9337fe3be3fcc28fc1ead0edb158393b4247)
2017-06-29 22:16:27 -04:00
Mark Charney
b6beda320c
split CMOV and FCMOV in to their own isa sets
...
Change-Id: I9b24e198fe0b9fe1611b7b08e87981b6842f7436
(cherry picked from commit 86238265a5bb649ef13cdc22b66458907936520c)
2017-06-29 22:16:22 -04:00
Mark Charney
09843ea903
undo 262
2017-06-24 13:44:35 -04:00
Mark Charney
ddff2c4574
undo 252
2017-06-24 13:43:44 -04:00
Mark Charney
125018043f
undo 407
2017-06-24 13:42:46 -04:00
Mark Charney
128f923904
undo 408
2017-06-24 13:41:43 -04:00
Mark Charney
05370d9872
fix 408 v to y
2017-06-24 13:40:08 -04:00
Mark Charney
d44198782c
fix 407 v to y
2017-06-24 13:39:13 -04:00
Mark Charney
3e23fa5ffd
fix 262 v to y
2017-06-24 13:38:04 -04:00
Mark Charney
053a642321
fix 252. v to y
2017-06-24 13:36:45 -04:00
Mark Charney
20fa8d4202
fix xed_sign_extend_arbitrary_to_64(). was using 32b literal 1 value
...
Change-Id: I2db789b6630d67cda56f78fdc01e645a289873fe
(cherry picked from commit af736cc24f7356def619e922a510552642dbb1c8)
2017-06-20 21:05:59 -04:00
Mark Charney
034b706750
xed-buildt.txt doc: python 27 or 34 or later...
...
Change-Id: I2414572b27d220506d4ecd0ee5200d32db965f3b
(cherry picked from commit 7383596c14a5cd9d1cf89e2431b3f6c640e48153)
2017-06-20 21:05:59 -04:00
Mark Charney
4a58e9fd03
travis/appveyor: using pip inside ci.py to install py2/py3 mbuild
...
Change-Id: I057cb212dedd7d8b22866d85de8afc025383e00a
2017-06-13 14:33:22 -04:00
Mark Charney
044d57699c
appveyor python27 only for now too
...
Change-Id: I4bf867dd366d0fcce1e7905a8de0279662429e39
2017-06-13 13:07:35 -04:00
Mark Charney
372c5e2be3
appveyor ci.py mutiple python versions
...
Change-Id: I4a6a71e5baa736e9cdebecb3c8d93de8f23b63bf
2017-06-13 12:58:12 -04:00
Mark Charney
ef6ea27855
travis ci.py: fix syntax error
...
Change-Id: Iea0cfac685e85cdb01d4d2878055d2729a741858
2017-06-13 12:45:14 -04:00
Mark Charney
9d4ac08b16
travis ci.py: disable 3.5.2 testing while I debug travis issue
...
Change-Id: I53f74aed7d7f75eda936bb2a3e651f40d9ae1ae0
2017-06-13 12:40:46 -04:00
Mark Charney
c0a4b51049
travis ci.py fix for linux
...
Change-Id: I502ffbbdf6b9d08dd64588670adf1c68587f3059
2017-06-13 12:07:13 -04:00
Mark Charney
908f1219e1
travis: split build subdirs
...
Change-Id: Ieef2d110c7ebab0f50363d35ecdebeae244c8384
2017-06-13 12:02:17 -04:00
Mark Charney
c5bea9dfb3
travis: trying using multiple python versions on linux
...
Change-Id: I11f4fca10f5c7648cc2a605ab678789bce7200c5
2017-06-13 11:57:48 -04:00
Mark Charney
bb72495f54
Merge pull request #47 from intelxed/python3
...
python3
2017-06-12 16:26:42 -04:00
Mark Charney
ea2ea38f3e
elf_sizes: Popen() universal_newlines and exception syntax (linux)
...
Change-Id: I9bd658ba6c1ec82c28cd062a9118b74d2a9dd66e
(cherry picked from commit e93dabbc58bcb2c4a93c0eac34d6c5cfc9d1195a)
2017-06-12 14:41:25 -04:00
Mark Charney
f5cc39cfe1
using is_stringish().
...
* bytes almost never come up except reading hash signature files.
Change-Id: I04bcfe2af016e0f29fd76cafceda72f51b9abe18
(cherry picked from commit ef74f535c2f74f30ddd7a588486253bced2a3e32)
2017-06-12 14:41:25 -04:00
Mark Charney
8fd2fe0236
gitignore: __pycache__
...
Change-Id: I5b3b4dc7f823e6cd3464dbfdd11dd3816366f6d5
(cherry picked from commit b998a60954994ed792662979963efc2a795a6d25)
2017-06-12 14:41:25 -04:00
Mark Charney
fd9e854be6
convert scripts dir to python2or3
...
Change-Id: I6188243b812050a763efed257797f9c3758706a2
(cherry picked from commit e82817687db19d4dccb10e12f95072e87d3d70e8)
2017-06-12 14:41:25 -04:00
Mark Charney
e7d734962c
update legal header & date for py3 ported files
...
Change-Id: I166833daaa56c33eca01bdf7b9aa6e74a490ba9a
(cherry picked from commit 1212ba962dff6dfbfa0bd2469327ff447ce59058)
2017-06-12 14:41:24 -04:00
Mark Charney
9983af67b9
ctables: string/bytes confusion. genutil:funcs for idioms I keep replacing
...
Change-Id: Ic1bce8efd82be80b9911b62d0b932eba0a08ed08
(cherry picked from commit adb6a4f9032feef846f6e81660424963c18cf7da)
2017-06-12 14:41:24 -04:00
Mark Charney
fa988755e2
test harness run-cmd.py porting to python3. print, map, file() stuff
...
Change-Id: I63002d1dcd0ac141d1c8f3a9c60a9ecb1a6c9cf4
(cherry picked from commit 1dcd2207edb5075b89f0d7d55e6eb6c6cb69de3f)
2017-06-12 14:41:24 -04:00
Mark Charney
c40152ab7f
chipmodel: xrange() -> range()
...
Change-Id: I6caeb5f75ef63ee096f2f9e668389c9794d064ef
(cherry picked from commit 322c20fb02d0dd3a531453220ec64b78b84066ec)
2017-06-12 14:41:24 -04:00
Mark Charney
0e3904c7e9
more replacing file(fn).readline with open(fn,r).readline...
...
Change-Id: Id703f961092b33ebc2703158b0706e87194021e3
(cherry picked from commit ae122603a801f87c53619df54827417f561cce5a)
2017-06-12 14:41:24 -04:00
Mark Charney
dd5d596267
generator: division defaults to fp. use // for integer div
...
Change-Id: I7fd6a2ad0c099086d77ecdf0a98f7050a923659e
(cherry picked from commit eb68da22fc92558ce481d842fe2580ac6736b585)
2017-06-12 14:41:24 -04:00