summaryrefslogtreecommitdiff
path: root/gcc/config/avr/avr.c
diff options
context:
space:
mode:
authorgjl <gjl@138bc75d-0d04-0410-961f-82ee72b054a4>2012-03-07 10:36:30 +0000
committergjl <gjl@138bc75d-0d04-0410-961f-82ee72b054a4>2012-03-07 10:36:30 +0000
commitee3ce5779deec0ad34ddf9ad335a01f575056009 (patch)
treed974173fcc910f559c632ce71aa04b29bba151f4 /gcc/config/avr/avr.c
parentbe20cbdd307821316c092b0c3a5c5884d68db3ad (diff)
downloadgcc-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.c5
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);