aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/avr/avr.c
diff options
context:
space:
mode:
authorGeorg-Johann Lay <avr@gjlay.de>2012-09-28 11:37:46 +0000
committerGeorg-Johann Lay <gjl@gcc.gnu.org>2012-09-28 11:37:46 +0000
commit1a910f8f264f9ab3cc05c2ad13158201fff8b948 (patch)
tree133f18699820b6d126f491db5d7141bed55f488d /gcc/config/avr/avr.c
parent9aef8e955f7c306437d125a99607baaabadbb8d3 (diff)
downloadgcc-1a910f8f264f9ab3cc05c2ad13158201fff8b948.zip
gcc-1a910f8f264f9ab3cc05c2ad13158201fff8b948.tar.gz
gcc-1a910f8f264f9ab3cc05c2ad13158201fff8b948.tar.bz2
avr.md (adjust_len): Add lpm.
* config/avr/avr.md (adjust_len): Add lpm. (reload_in<mode>): Use avr_out_lpm for output. Use "lpm" for adjust_len. * config/avr/avr-protos.h (avr_out_lpm): New prototype. * config/avr/avr.c (avr_out_lpm): Make global. (adjust_insn_length): Handle ADJUST_LEN_LPM. From-SVN: r191825
Diffstat (limited to 'gcc/config/avr/avr.c')
-rw-r--r--gcc/config/avr/avr.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c
index 501c504..1c5bab2 100644
--- a/gcc/config/avr/avr.c
+++ b/gcc/config/avr/avr.c
@@ -2870,7 +2870,7 @@ avr_out_lpm_no_lpmx (rtx insn, rtx *xop, int *plen)
If PLEN != 0 set *PLEN to the length in words of the instruction sequence.
Return "". */
-static const char*
+const char*
avr_out_lpm (rtx insn, rtx *op, int *plen)
{
rtx xop[7];
@@ -7526,6 +7526,7 @@ adjust_insn_length (rtx insn, int len)
case ADJUST_LEN_MOV32: output_movsisf (insn, op, &len); break;
case ADJUST_LEN_MOVMEM: avr_out_movmem (insn, op, &len); break;
case ADJUST_LEN_XLOAD: avr_out_xload (insn, op, &len); break;
+ case ADJUST_LEN_LPM: avr_out_lpm (insn, op, &len); break;
case ADJUST_LEN_SFRACT: avr_out_fract (insn, op, true, &len); break;
case ADJUST_LEN_UFRACT: avr_out_fract (insn, op, false, &len); break;