[ARC] Add support for reduced register file set

Programming / Compilers / GCC - claziss [138bc75d-0d04-0410-961f-82ee72b054a4] - 26 January 2018 11:34 EST

gcc/ 2018-01-26 Claudiu Zissulescu

- config/arc/arc-arches.def: Option mrf16 valid for all architectures.
- config/arc/arc-c.def (__ARC_RF16__): New predefined macro.
- config/arc/arc-cpus.def (em_mini): New cpu with rf16 on.
- config/arc/arc-options.def (FL_RF16): Add mrf16 option.
- config/arc/arc-tables.opt: Regenerate.
- config/arc/arc.c (arc_conditional_register_usage): Handle reduced register file case. (arc_file_start): Set must have build attributes.
- config/arc/arc.h (MAX_ARC_PARM_REGS): Conditional define using mrf16 option value.
- config/arc/arc.opt (mrf16): Add new option.
- config/arc/elf.h (ATTRIBUTE_PCS): Define.
- config/arc/genmultilib.awk: Handle new mrf16 option.
- config/arc/linux.h (ATTRIBUTE_PCS): Define.
- config/arc/t-multilib: Regenerate.
- doc/invoke.texi (ARC Options): Document mrf16 option.

libgcc/ 2018-01-26 Claudiu Zissulescu

- config/arc/lib1funcs.S (__udivmodsi4): Use safe version for RF16 option. (__divsi3): Use RF16 safe registers. (__modsi3): Likewise.

eddd4dd0e94 [ARC] Add support for reduced register file set
gcc/ChangeLog | 20 ++++++++++++++++++++
gcc/config/arc/arc-arches.def | 8 ++++----
gcc/config/arc/arc-c.def | 1 +
gcc/config/arc/arc-cpus.def | 1 +
gcc/config/arc/arc-options.def | 2 +-
gcc/config/arc/arc-tables.opt | 3 +++
gcc/config/arc/arc.c | 27 +++++++++++++++++++++++++++
gcc/config/arc/arc.h | 2 +-
gcc/config/arc/arc.opt | 4 ++++
gcc/config/arc/elf.h | 4 ++++
gcc/config/arc/genmultilib.awk | 2 ++
gcc/config/arc/linux.h | 9 +++++++++
gcc/config/arc/t-multilib | 4 ++--
gcc/doc/invoke.texi | 12 +++++++++++-
libgcc/ChangeLog | 7 +++++++
libgcc/config/arc/lib1funcs.S | 22 +++++++++++-----------
16 files changed, 108 insertions(+), 20 deletions(-)

Upstream: gcc.gnu.org


  • Share