diff options
author | H. Peter Anvin <hpa@zytor.com> | 2012-02-25 22:33:46 -0800 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2012-02-25 22:33:46 -0800 |
commit | 574784d177320e44878266a0858bddfd548b6c87 (patch) | |
tree | 0ca0b1d384ff02ed3bffbc912aee964b568fa347 /assemble.c | |
parent | e9d46c48e4a5db7fe3370337d67e64607f95eed4 (diff) | |
download | nasm-574784d177320e44878266a0858bddfd548b6c87.tar.gz nasm-574784d177320e44878266a0858bddfd548b6c87.tar.bz2 nasm-574784d177320e44878266a0858bddfd548b6c87.zip |
HLE: Move byte codes back to \271-\273
Since we are back to three bytecodes, move them back to the \271-\273
slot to free up the \264 complete quad.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'assemble.c')
-rw-r--r-- | assemble.c | 19 |
1 files changed, 9 insertions, 10 deletions
@@ -80,10 +80,6 @@ * \254..\257 - a signed 32-bit operand to be extended to 64 bits. * \260..\263 - this instruction uses VEX/XOP rather than REX, with the * V field taken from operand 0..3. - * \264 - skip this instruction pattern if HLE prefixes present - * \265 - instruction takes XRELEASE (F3) with or without lock - * \266 - instruction takes XACQUIRE/XRELEASE with or without lock - * \267 - instruction takes XACQUIRE/XRELEASE with lock only * \270 - this instruction uses VEX/XOP rather than REX, with the * V field set to 1111b. * @@ -101,6 +97,9 @@ * * t = 0 for VEX (C4/C5), t = 1 for XOP (8F). * + * \271 - instruction takes XRELEASE (F3) with or without lock + * \272 - instruction takes XACQUIRE/XRELEASE with or without lock + * \273 - instruction takes XACQUIRE/XRELEASE with lock only * \274..\277 - a signed byte immediate operand, from operand 0..3, * which is to be extended to the operand size. * \310 - indicates fixed 16-bit address size, i.e. optional 0x67. @@ -981,12 +980,6 @@ static int64_t calcsize(int32_t segment, int64_t offset, int bits, ins->vex_wlp = *codes++; break; - case 0265: - case 0266: - case 0267: - hleok = c & 3; - break; - case 0270: ins->rex |= REX_V; ins->vexreg = 0; @@ -994,6 +987,12 @@ static int64_t calcsize(int32_t segment, int64_t offset, int bits, ins->vex_wlp = *codes++; break; + case 0271: + case 0272: + case 0273: + hleok = c & 3; + break; + case4(0274): length++; break; |