Fix PR target/10904 and PR target/13058
John David Anglin
dave@hiauly1.hia.nrc.ca
Tue Jan 27 20:00:00 GMT 2004
> > +#define CANNOT_CHANGE_MODE_CLASS(FROM, TO, CLASS) \
> > + (TARGET_ARCH64 \
> > + && (FROM) == SImode \
> > + && GET_MODE_SIZE (FROM) != GET_MODE_SIZE (TO) \
> > + ? reg_classes_intersect_p (CLASS, FP_REGS) : 0)
>
> You shouldn't copy the PA block comment, you should describe
> what SPARC needs, and what you've implemented. Namely, you're
> preventing any subregging of SImode.
Is that important? On the PA, there is no way to extract a subreg
of a SImode value in a floating point register.
> I wonder if the exact test you want is GMS(F) < GMS(T), which
> would test for *paradoxical* subregging.
Is the issue that CLASS might intersect both GENERAL_REGS and FP_REGS.
I've been concerned that the above is overly restrictive in that case,
and that it would be better to use the same approach as you implemented
on the alpha.
Dave
--
J. David Anglin dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6602)
More information about the Gcc-patches
mailing list