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>