This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: recent change to binutils' include/opcode/i386.h
- From: "Jan Beulich" <JBeulich at novell dot com>
- To: <hjl at lucon dot org>
- Cc: <binutils at sources dot redhat dot com>
- Date: Fri, 23 Jul 2004 16:25:24 +0200
- Subject: Re: recent change to binutils' include/opcode/i386.h
It should then be gcc that gets fixed. And I can't see why it used this
odd mechanism in the first place. Also, as I saw Jakub Jelinek also
disagreed with your reverting of my original change. Jan
>>> "H. J. Lu" <hjl@lucon.org> 23.07.04 16:00:35 >>>
On Fri, Jul 23, 2004 at 08:53:36AM +0200, Jan Beulich wrote:
> H.J.,
>
> it would seem to me that the change to again allow cs/ds prefixes in
> 64-bit mode should be undone. If you want branch prediction hints,
use
> the ,ht and ,hn instruction suffixes. Using segment overrides in
their
> place is counter intuitive, and generally allowing them in 64-bit
mode
> is an error in any case (if you absolutely wanted to allow them for
this
> specific purpose, then you'd have to add checks in other places
> preventing incorrect uses).
>
All the current gccs in CVS and released versions use "cs/ds ;" as
branch hints for EM64T. You can see that by passing -march=nocona to
gcc 3.3, 3.4 and 3.5 for x86-64. Assembler has to support it. As far
as I know, all x86-64 chips can handle segment prefixes. Whether they
do anyhing useful is entirely a different question.
If you think it may be an error in some other places, please show me
the document and feel free to submit a patch. But please make sure
cs/ds can still be used as branch hints for EM64T. We can't break
gcc because of it.
H.J.