[LLVMdev] LLVM ARM VMLA instruction

Renato Golin renato.golin at linaro.org
Thu Dec 19 05:42:22 PST 2013


On 19 December 2013 13:30, suyog sarda <sardask01 at gmail.com> wrote:

> I tested it on A15, i don't have access to A8 rightnow, but i intend to
> test it for A8 as well. I compiled the code for A8 and as it was working
> fine on A15 without any crash, i went ahead with cortex-a8 option. I don't
> think i will get A8 hardware soon, can someone please check it on A8
> hardware as well (Sorry for the trouble)?
>

It's not surprising that -mcpu=cortex-a15 option performs better on an A15
than -mcpu=cortex-a8. It's also not surprising that you don't see the VMLA
hazard we're talking about, since that was (if I recall correctly) specific
to A8 (maybe A9, too).

We can only talk about disabling the VMLX-fwd feature from A8 when
substantial benchmarks are done on a Cortex-A8. Not number of instructions,
but performance. Emitting more VMLAs doesn't mean it'll go faster, as what
we found in some cases, actually, is quite the opposite.

In the meantime, if you're using an A15, just use -mcpu=cortex-a15 and
hopefully, the code generated will be as fast as possible.

Having Clang detect that you have an A15 automatically is another topic
that we could descend, but it has nothing to do with VMLA.



Ok. I couldn't find reference for this. If the pipeline stall issue was
> fixed in cortex-a15 then LLVM developers will definitely know about this
> (and hence we are emitting vmla for cortex-a15). I couldn't find any
> comment related to this in the code. Can someone please point it out? Also,
> I will be glad to know the code place where we start differentiating
> between cortex-a8 and cortex-a15 for code generation.
>

The link below shows some fragments of the thread (I hate gmane), but shows
Evan's benchmarks and assumptions.

http://comments.gmane.org/gmane.comp.compilers.llvm.devel/59458

cheers,
--renato
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20131219/3ba8da3d/attachment.html>


More information about the llvm-dev mailing list