This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Fix PR target/10904 and PR target/13058

> > +#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.

J. David Anglin                        
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]