https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96402
--- Comment #11 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-9 branch has been updated by Tamar Christina <tnfch...@gcc.gnu.org>: https://gcc.gnu.org/g:4e91af9877df9e6b28ea8e50ae9445590363d5b0 commit r9-8796-g4e91af9877df9e6b28ea8e50ae9445590363d5b0 Author: Jakub Jelinek <ja...@redhat.com> Date: Mon Aug 3 22:55:28 2020 +0200 aarch64: Fix up __aarch64_cas16_acq_rel fallback As mentioned in the PR, the fallback path when LSE is unavailable writes incorrect registers to the memory if the previous content compares equal to x0, x1 - it writes copy of x0, x1 from the start of function, but it should write x2, x3. 2020-08-03 Jakub Jelinek <ja...@redhat.com> PR target/96402 * config/aarch64/lse.S (__aarch64_cas16_acq_rel): Use x2, x3 instead of x(tmp0), x(tmp1) in STXP arguments. * gcc.target/aarch64/pr96402.c: New test. (cherry picked from commit 90b43856fdff7d96d93d22970eca8a86c56e0ddc)