diff options
author | Claudiu Zissulescu <claziss@synopsys.com> | 2017-08-31 16:25:55 +0200 |
---|---|---|
committer | Claudiu Zissulescu <claziss@gcc.gnu.org> | 2017-08-31 16:25:55 +0200 |
commit | 9f532472da3e506db3609ebb03cff3d5f20f7353 (patch) | |
tree | 3f3874a38140210c975019239a1fa6b37d2220fe /gcc/doc/invoke.texi | |
parent | b6fb793374fd887aee2b08b44145961b28533be2 (diff) | |
download | gcc-9f532472da3e506db3609ebb03cff3d5f20f7353.zip gcc-9f532472da3e506db3609ebb03cff3d5f20f7353.tar.gz gcc-9f532472da3e506db3609ebb03cff3d5f20f7353.tar.bz2 |
[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
Diffstat (limited to 'gcc/doc/invoke.texi')
-rw-r--r-- | gcc/doc/invoke.texi | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 64363e5..1241b18 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -614,7 +614,7 @@ Objective-C and Objective-C++ Dialects}. -mcrc -mdsp-packa -mdvbf -mlock -mmac-d16 -mmac-24 -mrtsc -mswape @gol -mtelephony -mxy -misize -mannotate-align -marclinux -marclinux_prof @gol -mlong-calls -mmedium-calls -msdata -mirq-ctrl-saved @gol --mrgf-banked-regs @gol +-mrgf-banked-regs -G @var{num} @gol -mvolatile-cache -mtp-regno=@var{regno} @gol -malign-call -mauto-modify-reg -mbbit-peephole -mno-brcc @gol -mcase-vector-pcrel -mcompact-casesi -mno-cond-exec -mearly-cbranchsi @gol @@ -14896,6 +14896,13 @@ allow use of the 25-bit range, rather than the 21-bit range with conditional branch-and-link. This is the default for tool chains built for @w{@code{arc-linux-uclibc}} and @w{@code{arceb-linux-uclibc}} targets. +@item -G @var{num} +@opindex G +Put definitions of externally-visible data in a small data section if +that data is no bigger than @var{num} bytes. The default value of +@var{num} is 4 for any ARC configuration, or 8 when we have double +load/store operations. + @item -mno-sdata @opindex mno-sdata Do not generate sdata references. This is the default for tool chains |