[RFC/PATCH 0/3] ARM: Use udiv/sdiv for __aeabi_{u}idiv library functions
From: Måns Rullgård <hidden>
Date: 2015-11-22 19:30:16
Also in:
linux-arm-msm, lkml
Arnd Bergmann [off-list ref] writes:
On Sunday 22 November 2015 13:29:29 Peter Maydell wrote:quoted
On 21 November 2015 at 23:21, Arnd Bergmann [off-list ref] wrote:quoted
Regarding PJ4, it's still unclear whether that has the same problem and it only reports idivt when it actually supports idiva, or whether the lack of idiva support on PJ4 is instead the reason why the ARM ARM was updated to have separate flags.SDIV/IDIV were originally introduced for R and M profile only and there the Thumb encodings of SDIV/IDIV are mandatory whereas the ARM ones are optional (and weren't initially defined at all). So if you're looking for CPUs with only the Thumb encodings I would try checking older R profile cores like the Cortex-R4.The question is really about Marvell Dove, MMP and Armada 370, which are all based on PJ4 or PJ4B (CPU part : 0x581), so ARMv7-A and report idivt support but idiva. There are a couple of explanations here: a) Marvell really implemented only idivt but not idiva and reports it correctly, and the people from https://groups.google.com/a/dartlang.org/forum/#!topic/reviews/9wvsJvq0YYY just misinterpreted the flags b) the dartlag.org folks are correct, and it supports neither idivt nor idiva, and the /proc/cpuinfo flag is just wrong and requires a fixup c) like Krait, it actually implements both idiva and idivt but gets the reporting wrong.
It's trivial to test for someone who has one. -- M?ns Rullg?rd mans at mansr.com