re PR target/86040 ([avr]: RAMPZ is not always cleared after loading __flashN data)
PR target/86040 * config/avr/avr.c (avr_out_lpm): Do not shortcut-return. From-SVN: r277143
This commit is contained in:
parent
8d1a718e06
commit
bec3c279a8
2 changed files with 13 additions and 7 deletions
|
@ -1,3 +1,8 @@
|
|||
2019-10-18 Georg-Johann Lay <avr@gjlay.de>
|
||||
|
||||
PR target/86040
|
||||
* config/avr/avr.c (avr_out_lpm): Do not shortcut-return.
|
||||
|
||||
2019-10-18 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
||||
Richard Sandiford <richard.sandiford@arm.com>
|
||||
|
||||
|
|
|
@ -3771,13 +3771,14 @@ avr_out_lpm (rtx_insn *insn, rtx *op, int *plen)
|
|||
gcc_unreachable();
|
||||
|
||||
case 1:
|
||||
return avr_asm_len ("%4lpm %0,%a2", xop, plen, 1);
|
||||
avr_asm_len ("%4lpm %0,%a2", xop, plen, 1);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
if (REGNO (dest) == REG_Z)
|
||||
return avr_asm_len ("%4lpm %5,%a2+" CR_TAB
|
||||
"%4lpm %B0,%a2" CR_TAB
|
||||
"mov %A0,%5", xop, plen, 3);
|
||||
avr_asm_len ("%4lpm %5,%a2+" CR_TAB
|
||||
"%4lpm %B0,%a2" CR_TAB
|
||||
"mov %A0,%5", xop, plen, 3);
|
||||
else
|
||||
{
|
||||
avr_asm_len ("%4lpm %A0,%a2+" CR_TAB
|
||||
|
@ -3806,9 +3807,9 @@ avr_out_lpm (rtx_insn *insn, rtx *op, int *plen)
|
|||
"%4lpm %B0,%a2+", xop, plen, 2);
|
||||
|
||||
if (REGNO (dest) == REG_Z - 2)
|
||||
return avr_asm_len ("%4lpm %5,%a2+" CR_TAB
|
||||
"%4lpm %C0,%a2" CR_TAB
|
||||
"mov %D0,%5", xop, plen, 3);
|
||||
avr_asm_len ("%4lpm %5,%a2+" CR_TAB
|
||||
"%4lpm %C0,%a2" CR_TAB
|
||||
"mov %D0,%5", xop, plen, 3);
|
||||
else
|
||||
{
|
||||
avr_asm_len ("%4lpm %C0,%a2+" CR_TAB
|
||||
|
|
Loading…
Add table
Reference in a new issue