opcodes/
* 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:
parent
67ba4b3b22
commit
c02908d2c0
4 changed files with 21 additions and 6 deletions
|
@ -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.
|
||||
|
|
|
@ -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\)
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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:
|
||||
|
|
Loading…
Reference in a new issue