arm64: Work around a clang/LLVM misoptimization
This avoids a misoptimization in clang, https://bugs.llvm.org/show_bug.cgi?id=39550, where the root cause has been around for a number of years, but a change in LLVM 6.0 allowed for better optimizations, exposing this bug. This bug is on good track to be fixed in LLVM for the 8.0 release and hopefully also for backporting into 7.0.1. It is however present in 6.0, 6.0.1 and 7.0, and other downstream users such as Xcode 10.0/10.1.