eugenis added a comment. You are absolutely right. X86 variant uses an "=a" constraint (rax register), others pin the output variable to a specific register with __asm__ declaration. It appears we've missed it in Aarch64.
Could you check if __asm__("x0") in the declaration of res helps? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D105169/new/ https://reviews.llvm.org/D105169 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits