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