[ARC] Use -G option to control sdata behavior
authorClaudiu Zissulescu <claziss@synopsys.com>
Thu, 31 Aug 2017 14:25:55 +0000 (16:25 +0200)
committerClaudiu Zissulescu <claziss@gcc.gnu.org>
Thu, 31 Aug 2017 14:25:55 +0000 (16:25 +0200)
commit9f532472da3e506db3609ebb03cff3d5f20f7353
tree3f3874a38140210c975019239a1fa6b37d2220fe
parentb6fb793374fd887aee2b08b44145961b28533be2
[ARC] Use -G option to control sdata behavior

gcc/
2017-04-24  Claudiu Zissulescu  <claziss@synopsys.com>

* config.gcc: Use g.opt for arc.
* config/arc/arc.c (LEGITIMATE_SCALED_ADDRESS_P): Deleted,
functionality moved to ...
(legitimate_scaled_address_p): New function, ...here.
(LEGITIMATE_SMALL_DATA_OFFSET_P): New define.
(LEGITIMATE_SMALL_DATA_ADDRESS_P): Use the above define.
(legitimate_offset_address_p): Delete TARGET_NO_SDATA_SET
condition.
(arc_override_options): Handle G option.
(arc_output_pic_addr_const): Correct function definition.
(arc_legitimate_address_p): Use legitimate_scaled_address_p.
(arc_decl_anon_ns_mem_p): Delete.
(arc_in_small_data_p): Overhaul this function to take into
consideration the value given via G option.
(arc_rewrite_small_data_1): Renamed and corrected old
arc_rewrite_small_data function.
(arc_rewrite_small_data): New function.
(small_data_pattern): Don't use pic_offset_table_rtx.
* config/arc/arc.h (CC1_SPEC): Recognize G option.
* config/arc/simdext.md (movmisalignv2hi): Use
prepare_move_operands function.
(mov*): Likewise.
(movmisalign*): Likewise.

gcc/testsuite/
2017-04-24  Claudiu Zissulescu  <claziss@synopsys.com>

* gcc.target/arc/sdata-5.c: New test.
* gcc.target/arc/arc700-stld-hazard.c: Update test options.

Fix test

From-SVN: r251564
gcc/ChangeLog
gcc/config.gcc
gcc/config/arc/arc.c
gcc/config/arc/arc.h
gcc/config/arc/simdext.md
gcc/doc/invoke.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/arc/arc700-stld-hazard.c
gcc/testsuite/gcc.target/arc/sdata-5.c [new file with mode: 0755]