[PATCH] ARM EABI alignment
Richard Earnshaw
rearnsha@arm.com
Fri Mar 19 08:14:00 GMT 2004
There are a number of things that I think still need to be addressed,
ordered (approximately) most significant first
1) I thing this breaks ATPCS stack alignment, which was supposed to be
64-bit (you've removed PREFERRED_STACK_BOUNDARY which used to check
TARGET_ATPCS but not replaced it with anything that checks that flag.
2) -mno-aapcs doesn't make sense, if it's not the AAPCS, then what is it?
The APCS? The ATPCS? Something else? We really need a single switch that
takes the ABI definition: something like
-mabi=<name>
where <name> is one of APCS, ATPCS, AAPCS (and possibly even things like
AAPCS-LINUX for specific variants).
3) Return-in-memory. Needs to be updated for the AAPCS (it's probably
very similar, if not identical, to the rules for the ATPCS)
4) IWMMX. I said to Nick Clifton at the time he committed the IWMMX code,
that I thought IWMMX should just require AAPCS as the minimum, that will
allow you to remove things like the following:
+#define BIGGEST_ALIGNMENT \
+ (TARGET_REALLY_IWMMXT ? 64 : ARM_DOUBLEWORD_ALIGN)
and just emit a diagnostic if the user tries to compile IWMMX code without
requesting an AAPCS-compatible ABI (underlying principle: -mcpu must not
change the ABI).
5) -mstructure-size-boundary. You've added support for this being set to
64. You need to update the documentation accordingly.
6)
> +Architecture (AAPCS). This mainly effects the alignment of structures and
> +doubleword quantities. The default is @option{-mno-aapcs}.
Effect[1] (verb, transitive): To bring about; [2] (noun): result,
consequence.
Affect (verb, transitive): To produce an effect[2].
I think you want 'affect' here.
R.
More information about the Gcc-patches
mailing list