* i386-dis.c (grps): Use clflush by default for 0x0fae/7.
	(OP_E): Twiddle clflush to sfence here.

gas/testsuite/
	* gas/i386/katmai.d: Adjust for clflush change.
This commit is contained in:
Alan Modra 2004-03-12 07:01:37 +00:00
parent 67ba4b3b22
commit c02908d2c0
4 changed files with 21 additions and 6 deletions

View File

@ -1,3 +1,7 @@
2004-03-12 Alan Modra <amodra@bigpond.net.au>
* gas/i386/katmai.d: Adjust for clflush change.
2004-03-08 Andreas Jaeger <aj@suse.de>
* gas/cfi/cfi-s390x-1.d: Adjust offsets.

View File

@ -165,7 +165,7 @@ Disassembly of section .text:
246: 90 [ ]*nop
247: 90 [ ]*nop
248: 65 [ ]*gs
249: 0f [ ]*sfence.*\(bad\).*
249: 0f [ ]*clflush.*\(bad\).*
24a: ae [ ]*scas %es:\(%edi\),%al
24b: ff 00 [ ]*incl \(%eax\)
24d: 00 00 [ ]*add %al,\(%eax\)

View File

@ -1,3 +1,8 @@
2004-03-12 Alan Modra <amodra@bigpond.net.au>
* i386-dis.c (grps): Use clflush by default for 0x0fae/7.
(OP_E): Twiddle clflush to sfence here.
2004-03-08 Nick Clifton <nickc@redhat.com>
* po/de.po: Updated German translation.

View File

@ -1426,8 +1426,7 @@ static const struct dis386 grps[][8] = {
{ "(bad)", XX, XX, XX },
{ "lfence", None, XX, XX },
{ "mfence", None, XX, XX },
{ "sfence", None, XX, XX },
/* FIXME: the sfence with memory operand is clflush! */
{ "clflush", None, XX, XX },
},
/* GRP14 */
{
@ -3034,9 +3033,16 @@ OP_E (int bytemode, int sizeflag)
used_prefixes |= (prefixes & PREFIX_DATA);
break;
case 0:
if (!(codep[-2] == 0xAE && codep[-1] == 0xF8 /* sfence */)
&& !(codep[-2] == 0xAE && codep[-1] == 0xF0 /* mfence */)
&& !(codep[-2] == 0xAE && codep[-1] == 0xe8 /* lfence */))
if (codep[-2] == 0xAE && codep[-1] == 0xF8)
/* sfence */
strcpy (obuf + strlen (obuf) - sizeof ("clflush") + 1, "sfence");
else if (codep[-2] == 0xAE && codep[-1] == 0xF0)
/* mfence */
;
else if (codep[-2] == 0xAE && codep[-1] == 0xe8)
/* lfence */
;
else
BadOp (); /* bad sfence,lea,lds,les,lfs,lgs,lss modrm */
break;
default: