On 06-Dec-01 Bruce Evans wrote:
> That gives a hint about where to look for the clobbering conventions.  From
> gcc/config/i386/i386.c:
> ! /* Set the cc_status for the results of an insn whose pattern is EXP.
> !    On the 80386, we assume that only test and compare insns, as well
> !    as SI, HI, & DI mode ADD, SUB, NEG, AND, IOR, XOR, BSF, ASHIFT,
> !    ASHIFTRT, and LSHIFTRT instructions set the condition codes usefully.
> !    Also, we assume that jumps, moves and sCOND don't affect the condition
> !    codes.  All else clobbers the condition codes, by assumption.
>              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> !
> !    We assume that ALL integer add, minus, etc. instructions effect the
> !    condition codes.  This MUST be consistent with i386.md.
> !
> !    We don't record any float test or compare - the redundant test &
> !    compare check in final.c does not handle stack-like regs correctly. */
> !
> ! void
> ! notice_update_cc (exp)
> !      rtx exp;
> Application asms are apparently in the "All else" set.

Ok, I've axed all the "cc" clobbers from the patch now.  Any objections to it
now?  It's still at ~jhb/patches/i386_asm.patch.


John Baldwin <[EMAIL PROTECTED]>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to