This is the mail archive of the gcc-patches@gcc.gnu.org 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: [PATCH] ARM EABI alignment


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.


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