[mips patch RFA] handle trap_if with DI-mode arguments.
Richard Sandiford
rsandifo@redhat.com
Wed Aug 13 22:11:00 GMT 2003
cgd@broadcom.com writes:
> So, the 'dJ' thing is actually an goodness-generated-code thing?
> (i.e., otherwise, the compiler won't generate $0 for constant integer
> 0, because it doesn't know to convert the constant integer 0 to $0
> *before* checking the constraint?)
Right. We'd accept zero up to reload, but without the 'J', it would
then get forced into a writable register.
> And the nonmemory_operand -> arith_operand change should (possibly
> ever so slightly) help the performance of the compiler, one would
> hope?
Yeah. mips_gen_conditional_trap makes sure that the second operand
is within range. But with nonmemory_operand, combine might turn:
r1 = 0x12345
trap_if r2 = r1
into:
trap_if r2 = 0x12345
That's prrety pointless: we're going to need to use a temporary
register, so we might as well keep the first form (and expose
r1 = 0x12345 to the first scheduling pass, for example).
Richard
More information about the Gcc-patches
mailing list