[PATCH] Enable the __ARM_ARCH_EXT_IDIV__ predefine generation on ARM

Bernie Ogden bogden at arm.com
Fri Oct 18 05:07:14 PDT 2013


Hi Siviu,

clang_ext.diff:

In principle there should be no targets where we have idiv in ARM but not
Thumb - but I'm happy with the option as-is because it lets the user choose
to not generate the instructions per-instruction-set should he ever want to.
Who are we to declare what users should do? ;)

(init.c) I guess that we don't want the predefine in these tests because the
target is Linux, rather than anything to do with the float ABIs? If so, is
the right place for that test?


clang_defaults.diff:

(Targets.cpp): I'm a bit edgy about the check for triples starting with
armv8. What if some future profile does not have idiv in some instrution
set? Will it still work if you change that to check for armv8a?

(arm-target-features.c): Is it worth adding tests that the option is a nop
when it should be (e.g. -target arm -mthumb -mhwdiv=thumb)?


Regards,

Bernie


> -----Original Message-----
> From: cfe-commits-bounces at cs.uiuc.edu [mailto:cfe-commits-
> bounces at cs.uiuc.edu] On Behalf Of Silviu Baranga
> Sent: 17 October 2013 16:02
> To: cfe-commits at cs.uiuc.edu
> Subject: [PATCH] Enable the __ARM_ARCH_EXT_IDIV__ predefine generation
> on ARM
> 
> Hi,
> 
> The following set of patches enable the generation of the
> __ARM_ARCH_EXT_IDIV__ predefine
> for ARM targets which support division instructions. This will fix
> PR17555.
> 
> clang_ext.diff:
> Targets having the hwdiv or hwdiv-arm feature will also the
> __ARM_ARCH_EXT_IDIV__ predefine.
> 
> Also adds the -mhwdiv option to modify these features. The arguments to
> this option
> can be arm/thumb/arm,thumb and indicate in which mode the hardware
> division instructions
> are supported (for example passing -mhwdiv=arm means the target support
> hardware division
> instructions in arm mode but not in thumb mode).
> 
> clang_defaults.diff:
> Depends on clang_ext.diff.
> 
> Sets the default hwdiv/hwdiv-arm features for different targets. The
> feature is added by
> default for all AArch32 v8 targets, Cortex-A7, Cortex-A15, swift,
> Cortex-A53, Cortex-A57,
> Cortex-R5, Cortex-M4 and Cortex-M3.
> 
> Please review!
> 
> Thanks,
> Silviu
> 
> -- 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