This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: mips16 reg_or_0_operand doesn't allow zero
Jeffrey A Law writes:
>
> In message <14008.27261.193105.483326@cetus.cygnus.com>you write:
> > The PREDICATE_CODES for reg_or_0_operand and se_reg_or_0_operand are
> > missing CONST_DOUBLE also. I had though this was intentional, but
> > looking at the comment above PREDICATE_CODES it now looks like a bug.
> > Looking further, I see that all the uses of reg_or_0_operand and
> > se_reg_or_0_operand are on instructions which have constraints of "dJ".
> > Unless I'm understanding the J constraint, or how constraints relate
> > to conditions, CONST_DOUBLE's should be accepted by these guys. So
> > we should actually remove the acceptance of CONST_DOUBLES from these
> > conditions, right?
> The constraints do not matter, only the predicates. ie, what is accepted
> by "reg_or_0_operand", "se_reg_or_0_operand" must match what is found in
> PREDICATE_CODES.
So I should add CONST_DOUBLE to reg_or_0_operand and se_reg_or_0_operand,
in addition to adding it to true_reg_or_0_operand?
-gavin...