[LLVMdev] Performance regression on ARM

Chandler Carruth chandlerc at google.com
Sat Oct 18 03:38:05 PDT 2014

On Fri, Oct 17, 2014 at 7:51 AM, Anton Korobeynikov <anton at korobeynikov.info
> wrote:

> > Chandler’s complex arithmetic changes are also in the range: r219557 in
> clang.  We saw it change the code in mandel-2 significantly.
> mandel-2 is broken on hard FP ABI systems, btw. The reason is simply:
> we're emitting a call to __muldc3 with AAPCS VFP calling convention,
> however, the function expects softfp (AAPCS) calling conv and reads
> garbage from GP registers.
> I'm working on fix.

Thanks for looking at this Anton.

I don't really know what signal should be used here. Several initial
attempts at this didn't work because of ABI and calling convention issues
and I thought I had figured out a sound solution by directly forming and
calling the library routines using Clang's code generation to handle all of
the ABI issues.... but apparently not.

If you need to back out the patch temporarily or take any other steps to
mitigate, by all means. =/ Sorry for the fallout.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20141018/a99ee543/attachment.html>

More information about the llvm-dev mailing list