This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
RE: word alignment for non fp/sp register pointers for SPARClet port
- From: "Nitin Gupta" <ngupta at GlobespanVirata dot com>
- To: "Richard Henderson" <rth at redhat dot com>, <wilson at tuliptree dot org>
- Cc: <gcc at gcc dot gnu dot org>
- Date: Sun, 31 Aug 2003 01:30:53 +0530
- Subject: RE: word alignment for non fp/sp register pointers for SPARClet port
>
> Well, as Jim discovered (and I'd forgotten), this is indeed
> supposed to work. So you're going to have to track down the
> real problem.
>
Seems I'm able to fix that, though I'm yet to run the complete
test suite. I modified the definition of GO_IF_LEGITIMATE_ADDRESS
to avoid REG+REG for DFmode/DImode even when optimization is on.
Richard, Jim many thanks for your help.
What do you suggest, should I set TARGET_UNALIGNED_DOUBLES
for SPARClet too and hide all my changes under that? Hope doing that,
I won't loose any optimization benefits (besides what are intended).
*** sparc.h.orig Sat Aug 30 20:42:49 2003
--- sparc.h.modi Sat Aug 30 20:43:09 2003
*************** do { \
*** 2273,2279 ****
likely to be zero after reload and the \
forced split would lack a matching \
splitter pattern. */ \
! && (TARGET_ARCH64 || optimize \
|| (MODE != DFmode \
&& MODE != DImode))) \
|| RTX_OK_FOR_OFFSET_P (op1)) \
--- 2273,2279 ----
likely to be zero after reload and the \
forced split would lack a matching \
splitter pattern. */ \
! && (TARGET_ARCH64 \
|| (MODE != DFmode \
&& MODE != DImode))) \
|| RTX_OK_FOR_OFFSET_P (op1)) \
Thanks again.
Best Regards,
Nitin
PS: As mentioned earlier besides the above change I modified
mem_min_alignment and mems_ok_for_ldd_peep.