SSE/x86_64 fix
Alan Modra
alan@linuxcare.com.au
Thu Jan 4 18:09:00 GMT 2001
On Fri, 5 Jan 2001, Alan Modra wrote:
> On Thu, 4 Jan 2001, Jan Hubicka wrote:
>
> > + /* All opcodes on i386 have eighter 1 or 2 bytes. We may use third
> > + byte for the SSE instructions to specify prefix they require. */
> > + if (i.tm.base_opcode & 0xff0000)
> > + add_prefix ((i.tm.base_opcode >> 16) & 0xff);
>
> Err, what about `lfence' and `mfence'?
> {"lfence", 0, 0x0faee8, X, CpuP4, FP, { 0, 0, 0 } },
> {"mfence", 0, 0x0faef0, X, CpuP4, FP, { 0, 0, 0 } },
You can probably fix this problem with the following.
{"lfence", 0, 0x0fae, 0xe8, CpuP4, FP|ImmExt, { 0, 0, 0 } },
{"mfence", 0, 0x0fae, 0xf0, CpuP4, FP|ImmExt, { 0, 0, 0 } },
If this works (please check it, I haven't!), the patch is OK to commit
(with spelling fix for `either')
--
Linuxcare. Support for the Revolution.
More information about the Binutils
mailing list