OK, here's a patch that follows your suggestion. I'm not an authorized
developer, so I can't commit it myself. The test case is also attached
again.
bagel
Jim Grosbach wrote:
> Ah, ok. I was comparing v7-A and v7-R only. The M3 is described in
> separate documentation (mostly since it lacks the ARM mode instructions,
> I suspect). In any case, as far as I can tell, not all v7 processors
> support the hardware divide instructions.
>
> It's definitely desirable to support them for processors which do have
> them, but they need to be conditionalized such that they're only used
> when they're available. The instruction predicates are the best way to
> do that. For now, I would suggest adding a predicate such as
> "HasThumb2HardwareDivide" and hooking it up to a command line
option to
> enable (see UseNEONFP in ARMSubTarget.cpp for an example of how to do
> that). You can then auto-enable it when the CPU string is
"cortex-m3",
> as is done for the UseNEONFP option on the A8 (see the bottom of the
> ARMSubtarget::ARMSubtarget() constructor in ARMSubTarget.cpp).
>
> Thanks for looking at this!
>
> -Jim
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: div-v2.diff
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20091201/1b324257/attachment.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: div.ll
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20091201/1b324257/attachment-0001.ksh>