diff options
author | Claudiu Zissulescu <claziss@synopsys.com> | 2017-08-31 15:52:31 +0200 |
---|---|---|
committer | Claudiu Zissulescu <claziss@gcc.gnu.org> | 2017-08-31 15:52:31 +0200 |
commit | b6fb793374fd887aee2b08b44145961b28533be2 (patch) | |
tree | 79bcd5b426f24fa391f4e3f8e998c334ea950953 /gcc/config.gcc | |
parent | a621861e39a42ee8b770d660b36041f2ac8bc4a4 (diff) | |
download | gcc-b6fb793374fd887aee2b08b44145961b28533be2.zip gcc-b6fb793374fd887aee2b08b44145961b28533be2.tar.gz gcc-b6fb793374fd887aee2b08b44145961b28533be2.tar.bz2 |
[ARC] Improves and fixes for small data support.
Add alignment check for short load/store instructions used for sdata,
as they request 32-bit aligned short immediate. Use sdata symbol
alignment information and emit scalled loads/stores whenever is
possible. The scalled address will extend the access range for sdata
symbols. Allow 64-bit datum into small data section, if double
load/store instructions are present.
gcc/
2017-04-12 Claudiu Zissulescu <claziss@synopsys.com>
* config/arc/arc-protos.h (compact_sda_memory_operand): Update
prototype.
* config/arc/arc.c (arc_print_operand): Output scalled address for
sdata whenever is possible.
(arc_in_small_data_p): Allow sdata for 64bit datum when double
load/stores are available.
(compact_sda_memory_operand): Check for the alignment required by
code density instructions.
* config/arc/arc.md (movsi_insn): Use newly introduced Us0
constraint.
* config/arc/constraints.md (Usd): Update constraint.
(Us0): New constraint.
(Usc): Update constraint.
gcc/testsuite/
2017-04-12 Claudiu Zissulescu <claziss@synopsys.com>
* gcc.target/arc/sdata-3.c: New file.
From-SVN: r251562
Diffstat (limited to 'gcc/config.gcc')
0 files changed, 0 insertions, 0 deletions