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}

Reply via email to