[ARC] Add support for QuarkSE processor.
authorClaudiu Zissulescu <claziss@synopsys.com>
Thu, 17 Nov 2016 13:43:32 +0000 (14:43 +0100)
committerClaudiu Zissulescu <claziss@gcc.gnu.org>
Thu, 17 Nov 2016 13:43:32 +0000 (14:43 +0100)
commitc4014855e8fcdcd2b229448493c54587e1f98cdb
tree142e5df27ea3e116060e24dedb90be7dcdddb2bf
parentc867c39d8ae911e8d4c96333e7dc610837bf414e
[ARC] Add support for QuarkSE processor.

gcc/
2016-11-17  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/arc-arches.def: Add FPX quarkse instruction as valid
for arcem.
* config/arc/arc-c.def (__ARC_FPX_QUARK__): Define.
* config/arc/arc-cpus.def (quarkse_em): Add.
* config/arc/arc-options.def (FL_FPX_QUARK, FL_QUARK): Likewise.
* config/arc/arc-opts.h (FPX_QK): Define.
* config/arc/arc-tables.opt: Regenerate.
* config/arc/arc.c (gen_compare_reg): Change.
(arc_register_move_cost): Avoid Dy,Dx moves.
* config/arc/arc.h (TARGET_HARD_FLOAT): Change.
(TARGET_FPX_QUARK, TARGET_FP_ASSIST): Define.
* config/arc/arc.md (divsf3, sqrtsf2, fix_truncsfsi2, floatsisf2):
New expands.
* config/arc/fpu.md (divsf3_fpu, sqrtsf2_fpu, floatsisf2_fpu)
(fix_truncsfsi2_fpu): Rename.
* config/arc/fpx.md (cmp_quark, cmpsf_quark_, cmpsf_quark_ord)
(cmpsf_quark_uneq, cmpsf_quark_eq, divsf3_quark, sqrtsf2_quark)
(fix_truncsfsi2_quark, floatsisf2_quark): New patterns.
* config/arc/t-multilib: Regenerate.

From-SVN: r242546
13 files changed:
gcc/ChangeLog
gcc/config/arc/arc-arches.def
gcc/config/arc/arc-c.def
gcc/config/arc/arc-cpus.def
gcc/config/arc/arc-options.def
gcc/config/arc/arc-opts.h
gcc/config/arc/arc-tables.opt
gcc/config/arc/arc.c
gcc/config/arc/arc.h
gcc/config/arc/arc.md
gcc/config/arc/fpu.md
gcc/config/arc/fpx.md
gcc/config/arc/t-multilib