https://gcc.gnu.org/g:543b517b3ac912d2e78da21523c06cda5be017ff

commit r16-4963-g543b517b3ac912d2e78da21523c06cda5be017ff
Author: Georg-Johann Lay <[email protected]>
Date:   Mon Nov 3 12:44:46 2025 +0100

    AVR: Fix gcc.target/avr/torture/pr92606.c that failed without LPMx.
    
    gcc/testsuite/
            * gcc.target/avr/torture/pr92606.c: Use LPM even if LPMx
            is available.

Diff:
---
 gcc/testsuite/gcc.target/avr/torture/pr92606.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/gcc/testsuite/gcc.target/avr/torture/pr92606.c 
b/gcc/testsuite/gcc.target/avr/torture/pr92606.c
index a391d7edfcd9..99d1ca6aa4e7 100644
--- a/gcc/testsuite/gcc.target/avr/torture/pr92606.c
+++ b/gcc/testsuite/gcc.target/avr/torture/pr92606.c
@@ -14,10 +14,10 @@ typedef uint32_t T;
         {                                                               \
             uint16_t __addr16 = (uint16_t)(X);                          \
             uint32_t __result;                                          \
-            __asm__ __volatile__ ("lpm %A0, Z+" "\n\t"                  \
-                                  "lpm %B0, Z+" "\n\t"                  \
-                                  "lpm %C0, Z+" "\n\t"                  \
-                                  "lpm %D0, Z" "\n\t"                   \
+            __asm__ __volatile__ ("lpm $ mov %A0,r0 $ adiw %1,1" "\n\t" \
+                                  "lpm $ mov %B0,r0 $ adiw %1,1" "\n\t" \
+                                  "lpm $ mov %C0,r0 $ adiw %1,1" "\n\t" \
+                                  "lpm $ mov %D0,r0"                    \
                                   : "=r" (__result), "+z" (__addr16));  \
             __result;                                                   \
         }))

Reply via email to