On Mar 28, 2005, Paul Schlie <[EMAIL PROTECTED]> wrote: > More specifically, if GCC enabled set to optionally specify multiple targets > for a single rtl source expression, i.e.:
> (set ((reg:xx %0) (reg CC) ...) (some-expression:xx ...)) There's always (set (parallel (...)) (some-expression)). We use parallels with similar semantics in cumulative function arguments, so this wouldn't be entirely new, but I suppose most rtl handlers would need a bit of work to fully understand the implications of this. Also, the fact that reg CC has a different mode might require some further tweaking. Given this, we could figure out some way to create lisp-like macros to translate input shorthands such as (set_cc (match_operand) (value)) into the uglier (set (parallel (match_operand) (cc0)) (value)), including the possibility of a port introducing multiple variants/modes for set_cc, corresponding to different sets of flags that various instructions may set. -- Alexandre Oliva http://www.ic.unicamp.br/~oliva/ Red Hat Compiler Engineer [EMAIL PROTECTED], gcc.gnu.org} Free Software Evangelist [EMAIL PROTECTED], gnu.org}