]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
aarch64: Fix store-exclusive in load-operate LSE helpers
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>
Wed, 1 Apr 2020 11:11:58 +0000 (12:11 +0100)
committerKyrylo Tkachov <kyrylo.tkachov@arm.com>
Wed, 1 Apr 2020 11:11:58 +0000 (12:11 +0100)
2020-04-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

Backport from mainline
2019-09-25  Richard Henderson  <richard.henderson@linaro.org>

PR target/91834
* config/aarch64/lse.S (LDNM): Ensure STXR output does not
overlap the inputs.

libgcc/ChangeLog
libgcc/config/aarch64/lse.S

index 67e5eabf8515b86df644c4baff20b6128b95782a..6f92b203b6e4feb92fc89be8d7505ab5074f9373 100644 (file)
@@ -1,3 +1,12 @@
+2020-04-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       Backport from mainline
+       2019-09-25  Richard Henderson  <richard.henderson@linaro.org>
+
+       PR target/91834
+       * config/aarch64/lse.S (LDNM): Ensure STXR output does not
+       overlap the inputs.
+
 2020-04-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
 
        Backport from mainline
index a5f6673596c73c497156a6f128799cc43b400504..c7979382ad7770b61bb1c64d32ba2395963a9d7a 100644 (file)
@@ -227,8 +227,8 @@ STARTFN     NAME(LDNM)
 8:     mov             s(tmp0), s(0)
 0:     LDXR            s(0), [x1]
        OP              s(tmp1), s(0), s(tmp0)
-       STXR            w(tmp1), s(tmp1), [x1]
-       cbnz            w(tmp1), 0b
+       STXR            w(tmp2), s(tmp1), [x1]
+       cbnz            w(tmp2), 0b
        ret
 
 ENDFN  NAME(LDNM)