diff options
author | Georg-Johann Lay <avr@gjlay.de> | 2016-07-20 14:46:57 +0000 |
---|---|---|
committer | Georg-Johann Lay <gjl@gcc.gnu.org> | 2016-07-20 14:46:57 +0000 |
commit | dbe9dfdd501cea13034c7b809330e82a54883b1e (patch) | |
tree | 340de8a19b1645bf355f6f2a045baa9284cc9bc4 /gcc/ChangeLog | |
parent | c25e1d82bf149151af72a8a38db2160b1ca46002 (diff) | |
download | gcc-dbe9dfdd501cea13034c7b809330e82a54883b1e.zip gcc-dbe9dfdd501cea13034c7b809330e82a54883b1e.tar.gz gcc-dbe9dfdd501cea13034c7b809330e82a54883b1e.tar.bz2 |
avr.c (avr_legitimize_address): Force constant addresses outside [0,0xc0] into a register.
gcc/
* gcc/config/avr.c (avr_legitimize_address) [AVR_TINY]: Force
constant addresses outside [0,0xc0] into a register.
(avr_out_movhi_r_mr_reg_no_disp_tiny): Pass insn. And handle
cases where the base address register is unused after.
(avr_out_movhi_r_mr_reg_disp_tiny): Same.
(avr_out_movhi_mr_r_reg_disp_tiny): Same.
(avr_out_store_psi_reg_disp_tiny): Same.
gcc/testsuite/
* gcc.target/avr/torture/get-mem.c: New test.
* gcc.target/avr/torture/set-mem.c: New test.
From-SVN: r238528
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r-- | gcc/ChangeLog | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 167c46a..36c1335 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,15 @@ 2016-07-20 Georg-Johann Lay <avr@gjlay.de> + * gcc/config/avr.c (avr_legitimize_address) [AVR_TINY]: Force + constant addresses outside [0,0xc0] into a register. + (avr_out_movhi_r_mr_reg_no_disp_tiny): Pass insn. And handle + cases where the base address register is unused after. + (avr_out_movhi_r_mr_reg_disp_tiny): Same. + (avr_out_movhi_mr_r_reg_disp_tiny): Same. + (avr_out_store_psi_reg_disp_tiny): Same. + +2016-07-20 Georg-Johann Lay <avr@gjlay.de> + Implement attribute progmem on reduced Tiny cores by adding flash offset 0x4000 to respective symbols. |