Check rex_ignored.

gas/testsuite/

2009-11-13  H.J. Lu  <hongjiu.lu@intel.com>

	* gas/i386/rex.s: Add a test for VEX insn.
	* gas/i386/rex.d: Updated.

opcodes/

2009-11-13  H.J. Lu  <hongjiu.lu@intel.com>

	* i386-dis.c (print_insn): Check rex_ignored.
This commit is contained in:
H.J. Lu 2009-11-13 23:13:48 +00:00
parent 4e48512954
commit 2a70cca486
5 changed files with 14 additions and 1 deletions

View file

@ -1,3 +1,8 @@
2009-11-13 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/rex.s: Add a test for VEX insn.
* gas/i386/rex.d: Updated.
2009-11-13 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/i386.exp: Run long-1, long-1-intel, x86-64-long-1,

View file

@ -14,6 +14,7 @@ Disassembly of section .text:
[ ]*[0-9a-f]+:[ ]+4a 0f ae 04 05 00 00 00 00[ ]+(rex.WX? )?fxsaveq?[ ]+(0x0)?\(,%r8(,1)?\)
[ ]*[0-9a-f]+:[ ]+43 0f ae 04 00[ ]+fxsavel?[ ]+\(%r8,%r8(,1)?\)
[ ]*[0-9a-f]+:[ ]+4b 0f ae 04 00[ ]+(rex.W(XB)? )?fxsaveq?[ ]+\(%r8,%r8(,1)?\)
[ ]*[0-9a-f]+:[ ]+40 c5 f9 28 00[ ]+rex vmovapd \(%rax\),%xmm0
[ ]*[0-9a-f]+:[ ]+40[ ]+rex
[ ]*[0-9a-f]+:[ ]+41[ ]+rex.B
[ ]*[0-9a-f]+:[ ]+42[ ]+rex.X

View file

@ -10,6 +10,9 @@ _start:
rex/fxsave (%r8,%r8)
rex64/fxsave (%r8,%r8)
.byte 0x40
vmovapd (%rax),%xmm0
# Test prefixes family.
rex
rex.B

View file

@ -1,3 +1,7 @@
2009-11-13 H.J. Lu <hongjiu.lu@intel.com>
* i386-dis.c (print_insn): Check rex_ignored.
2009-11-13 H.J. Lu <hongjiu.lu@intel.com>
* i386-dis.c (ckprefix): Updated to return 0 if number of

View file

@ -10491,7 +10491,7 @@ print_insn (bfd_vma pc, disassemble_info *info)
}
/* Check if the REX prefix used. */
if ((rex ^ rex_used) == 0)
if (rex_ignored == 0 && (rex ^ rex_used) == 0)
all_prefixes[last_rex_prefix] = 0;
/* Check if the SEG prefix used. */