[LLVMdev] Contributing the Apple ARM64 compiler backend

Bradley Smith
Thu, 03 Apr 2014 13:52:18 -0000

> Our MC Hammer[0] testing on this shows that the ARM64 backend has
> around a
> 4% failure rate overall, one criteria for a successful merge would
> certainly
> be to retain the level architectural correctness that is currently
> present
> in the AArch64 backend.
>
> Looking at the failures that are present in the ARM64 backend, it
> doesn't
> look like it would be too much work to fixup the MC layer to get this
> testsuite passing.
>
> [0] http://llvm.org/devmtg/2012-04-12/Slides/Richard_Barton.pdf

We have spent a few days going through these failures in order to get a
better idea of how hard it would be to fix them. So far we have managed to
get the failure rate down to ~0.1% with 37 patches, although many of them
aren't clean enough to be pushed upstream just yet.

We have also done some benchmarking on an A57 SMM[0] of ARM64 vs the current
AArch64 backend (using just -O3), the results seem to favour the ARM64
backend. Coremark is ~10% faster and ~14% smaller, EEMBC on average is 4%
faster (with outliers of ~20% in either direction) and 10% smaller,
GeekBench is on average 27% faster.

It should be noted however that the A57 SMM board had a somewhat unrealistic
memory latency hence these numbers may not exactly reflect real hardware.

[0]
http://www.arm.com/products/tools/development-boards/versatile-express/soft-
macro-models.php

Regards,
Bradley Smith