[PATCH] AArch32 target support

James Molloy James.Molloy at arm.com
Mon Oct 14 03:58:16 PDT 2013


Hi Bernie,

Patch 0001: Trivial, LGTM.
Patch 0002: I'm not sure about crypto being enabled by default. The ARMARM describes this as an extension  (and one which may be disabled due to cryptographic/weapons export rules). Do we expect this to be so prevalent that it should be enabled by default?

Also, why are crypto extensions encoded into the -mfpu option? They don't seem to be FPU related (if that concept even exists any more).

Patch 0003: My understanding is that floating point is not an extension in ARMv8(A). Therefore, why do we need an FPU option for it?

+      if (CPUArch == "6T2" || CPUArch[0] >= '7')

I *really* don't like the use of the ASCII non-equality comparison here.

+    if ((FPU & NeonFPU) && !SoftFloat && CPUArch[0] >= '7')

Implies NeonGPU must be set for ARMv8... is this true/necessary?

   } else if (FPU == "neon-fp-armv8") {
     Features.push_back("+fp-armv8");
     Features.push_back("+neon");
+    Features.push_back("-crypto");

Is NEON an extension in ArmV8? My reading of the ARMARM says that it isn't (the only extension mentioned by name is crypto...)

Cheers,

James

> -----Original Message-----
> From: cfe-commits-bounces at cs.uiuc.edu [mailto:cfe-commits-
> bounces at cs.uiuc.edu] On Behalf Of Bernie Ogden
> Sent: 10 October 2013 18:01
> To: cfe-commits at cs.uiuc.edu
> Subject: [PATCH] AArch32 target support
>
> The attached patches-for-review build on a pair of patches I've submitted to
> llvm-commits for ARM v8 AArch32 support. They tell the clang driver about
> the Cortex A53 & A57 CPUs, invoke the GNU linker with the right fpu option
> and deal with the various combinations of FP/NEON/Crypto support.
>
> I've a couple of specific queries:
>
> 1) I've followed a policy of supporting non-Darwin targets only. Is the
> right thing to do, or should I add support for Darwin too?
>
> 2) There is some support for dealing with different combinations of
> FP/NEON/Crypto features. Here I've got some plumbing (in patch 0003) to
> add
> a predefine for v8 FP, but I'm not sure what predefine to set here. The
> existing code has predefines of the form __ARM_VFPV4__, which do not
> exist
> in GCC. I would be grateful if someone could tell me what these predefines
> are for and whether I need to add another for v8 FP.
>
> Regards,
>
> Bernie

-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium.  Thank you.

ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No:  2557590
ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No:  2548782





More information about the cfe-commits mailing list