Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 11 Dec 2001 15:02:16 -0800 (PST)
From:      John Baldwin <jhb@FreeBSD.org>
To:        Bruce Evans <bde@zeta.org.au>
Cc:        current@FreeBSD.org
Subject:   Re: Patch Review: i386 asm cleanups in the kernel
Message-ID:  <XFMail.011211150216.jhb@FreeBSD.org>
In-Reply-To: <20011206201803.Q14784-100000@gamplex.bde.org>

next in thread | previous in thread | raw e-mail | index | archive | help

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 <jhb@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.011211150216.jhb>