]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
AVR: Fix gcc.target/avr/torture/pr92606.c that failed without LPMx.
authorGeorg-Johann Lay <avr@gjlay.de>
Mon, 3 Nov 2025 11:44:46 +0000 (12:44 +0100)
committerGeorg-Johann Lay <avr@gjlay.de>
Mon, 3 Nov 2025 11:56:29 +0000 (12:56 +0100)
gcc/testsuite/
* gcc.target/avr/torture/pr92606.c: Use LPM even if LPMx
is available.

gcc/testsuite/gcc.target/avr/torture/pr92606.c

index a391d7edfcd94196660ea50e6cdd20a3b2ab2768..99d1ca6aa4e7b3e089b0508a0a916f44fc5d6455 100644 (file)
@@ -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;                                                   \
         }))