Why is x86_sahf_1 pattern disabled in x86_64?
Michel Lespinasse
walken@zoy.org
Fri May 7 13:23:00 GMT 2004
On Fri, May 07, 2004 at 01:11:54PM +0200, Uros Bizjak wrote:
> According too ChangeLog, x86_sahf_1 pattern is disabled in x86_64 mode:
>
> Mon Mar 12 15:41:08 CET 2001 Jan Hubicka <jh@suse.cz>
> * i386.md (all XFmode patterns except swapxf): Disable for 64bit.
> * i386.md (x86_sahf_1): Disable for 64bit.
> (popsi*, pophi*): Likewise.
> ...
>
> However, AMD64 software optimization guide shows sahf instruction as
> DirectPath, latency 1 instruction. This instruction is needed in
> modf()/drem() patterns to perform conditional jump on P flag set
> [ix86_emit_fp_unordered_jump()) function in config/i386/i386.c].
I think SAHF/LAHF were not present in the original amd64 specification;
they got added back later on as a correction.
I'm not sure if the intel chips include that correction,
someone who has access to such chips should double check this.
--
Michel "Walken" Lespinasse
"In this time of war against Osama bin Laden and the oppressive
Taliban regime, we are thankful that OUR leader isn't the spoiled son
of a powerful politician from a wealthy oil family who is supported by
religious fundamentalists, operates through clandestine organizations,
has no respect for the democratic electoral process, bombs innocents,
and uses war to deny people their civil liberties." --The Boondocks
More information about the Gcc
mailing list