https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119989

--- Comment #3 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-15 branch has been updated by Georg-Johann Lay
<g...@gcc.gnu.org>:

https://gcc.gnu.org/g:e268cb27332a1c39a5fc8426ae368c9878f3f241

commit r15-9602-ge268cb27332a1c39a5fc8426ae368c9878f3f241
Author: Georg-Johann Lay <a...@gjlay.de>
Date:   Wed Apr 30 08:43:51 2025 +0200

    AVR: target/119989 - Add missing clobbers to xload_<mode>_libgcc.

    libgcc's __xload_1...4 is clobbering Z (and also R21 is some cases),
    but avr.md had clobbers of respective GPRs only up to reload.
    Outcome was that code reading from the same __memx address twice
    could be wrong.  This patch adds respective clobbers.

          Forward-port from 2025-04-30 r14-11703
          PR target/119989
    gcc/
            * config/avr/avr.md (xload_<mode>_libgcc): Clobber R21, Z.

    gcc/testsuite/
            * gcc.target/avr/torture/pr119989.h: New file.
            * gcc.target/avr/torture/pr119989-memx-1.c: New test.
            * gcc.target/avr/torture/pr119989-memx-2.c: New test.
            * gcc.target/avr/torture/pr119989-memx-3.c: New test.
            * gcc.target/avr/torture/pr119989-memx-4.c: New test.
            * gcc.target/avr/torture/pr119989-flashx-1.c: New test.
            * gcc.target/avr/torture/pr119989-flashx-2.c: New test.
            * gcc.target/avr/torture/pr119989-flashx-3.c: New test.
            * gcc.target/avr/torture/pr119989-flashx-4.c: New test.

    (cherry picked from commit 1ca1c1fc3b58ae5e1d3db4f5a2014132fe69f82a)

Reply via email to