On Mon, 31 Oct 2011, Paulo J. Matos wrote:
> On 31/10/11 05:36, Hans-Peter Nilsson wrote:
> > BTW, I
> > don't think it helps that someone decided the canonical form of
> > a parallel that includes a CC-setter must have the CC-setting
> > *first* (contrasting with the position of clobbers)...
>
> How did you reach this conclusion?

Not obvious or maybe I was unclear as to what I alluded?
In the below insn-bodies, "sub" is the insn that sets cc0 as a
side-effect.

Supposed canonical form :

(parallel
 [(set cc_reg) (compare ...))
  (set destreg) (sub ...))])
and:
(parallel
 [(set destreg) (sub ...))
  (clobber cc_reg)])

But IMHO it'd be easier (for most values of "easier") to combine
both patterns with that non-existing mechanism (and no, I don't
count match_parallel) if we instead canonicalized on the CC_REG
set being the same as the clobber position:

(parallel
 [(set destreg) (sub ...))
  (set cc_reg) (compare ...))])
with:
(parallel
 [(set destreg) (sub ...))
  (clobber cc_reg)])

brgds, H-P

Reply via email to