diff options
author | gjl <gjl@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-03-07 10:36:30 +0000 |
---|---|---|
committer | gjl <gjl@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-03-07 10:36:30 +0000 |
commit | ee3ce5779deec0ad34ddf9ad335a01f575056009 (patch) | |
tree | d974173fcc910f559c632ce71aa04b29bba151f4 /gcc/config/avr/avr.c | |
parent | be20cbdd307821316c092b0c3a5c5884d68db3ad (diff) | |
download | gcc-ee3ce5779deec0ad34ddf9ad335a01f575056009.tar.gz |
libgcc/
PR target/52505
* config/avr/lib1funcs.S (__xload_1): Don't read unintentionally
from RAM.
gcc/
PR target/52505
* config/avr/avr.c (avr_out_xload): Don't read unintentionally
from RAM.
* config/avr/avr.md (xload_8): Adjust insn length.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185031 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/avr/avr.c')
-rw-r--r-- | gcc/config/avr/avr.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c index ef49c738a6f..87b7e0953da 100644 --- a/gcc/config/avr/avr.c +++ b/gcc/config/avr/avr.c @@ -2789,8 +2789,9 @@ avr_out_xload (rtx insn ATTRIBUTE_UNUSED, rtx *op, int *plen) if (plen) *plen = 0; - avr_asm_len ("ld %3,%a2" CR_TAB - "sbrs %1,7", xop, plen, 2); + avr_asm_len ("sbrc %1,7" CR_TAB + "ld %3,%a2" CR_TAB + "sbrs %1,7", xop, plen, 3); avr_asm_len (AVR_HAVE_LPMX ? "lpm %3,%a2" : "lpm", xop, plen, 1); |