gcc.target/avr/torture/pr92606.c used LPM Z+ no matter what,
so that it failed when only LPM is available. This patch
always uses LPM since performance is not an issue.
Applied as obvious.
Johann
--
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 --git a/gcc/testsuite/gcc.target/avr/torture/pr92606.c
b/gcc/testsuite/gcc.target/avr/torture/pr92606.c
index a391d7edfcd..99d1ca6aa4e 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; \
}))