r251562 - in /trunk/gcc: ChangeLog config/arc/a...

claziss@gcc.gnu.org claziss@gcc.gnu.org
Thu Aug 31 13:52:00 GMT 2017


Author: claziss
Date: Thu Aug 31 13:52:31 2017
New Revision: 251562

URL: https://gcc.gnu.org/viewcvs?rev=251562&root=gcc&view=rev
Log:
[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.

Added:
    trunk/gcc/testsuite/gcc.target/arc/sdata-3.c
    trunk/gcc/testsuite/gcc.target/arc/sdata-4.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/arc/arc-protos.h
    trunk/gcc/config/arc/arc.c
    trunk/gcc/config/arc/constraints.md
    trunk/gcc/testsuite/ChangeLog



More information about the Gcc-cvs mailing list