[ARC] Add new ARCv2 instructions

Programming / Compilers / GCC - claziss [138bc75d-0d04-0410-961f-82ee72b054a4] - 2 May 2016 03:54 UTC

gcc/ 2016-05-02 Claudiu Zissulescu

- config/arc/arc-protos.h (compact_memory_operand_p): Declare.
- config/arc/arc.c (arc_output_commutative_cond_exec): Consider bmaskn instruction. (arc_dwarf_register_span): Remove enum keyword. (compact_memory_operand_p): New function.
- config/arc/arc.h (reg_class): Add code density register classes. (REG_CLASS_NAMES): Likewise. (REG_CLASS_CONTENTS): Likewise.
- config/arc/arc.md (*movqi_insn): Add code density instructions. (*movhi_insn, *movsi_insn, *movsf_insn): Likewise. (*extendhisi2_i, andsi3_i, cmpsi_cc_insn_mixed): Likewise. (*cmpsi_cc_c_insn, *movsi_ne): Likewise.
- config/arc/constraints.md (C2p, Uts, Cm1, Cm3, Ucd): New constraints. (h, Rcd, Rsd, Rzd): New register constraints. (T): Use compact_memory_operand_p function.
- config/arc/predicates.md (compact_load_memory_operand): Remove.

fd6f250 [ARC] Add new ARCv2 instructions.
gcc/ChangeLog | 20 ++++++
gcc/config/arc/arc-protos.h | 2 +-
gcc/config/arc/arc.c | 146 ++++++++++++++++++++++++++++++++++++++
gcc/config/arc/arc.h | 9 +++
gcc/config/arc/arc.md | 154 ++++++++++++++++++++++++-----------------
gcc/config/arc/constraints.md | 61 +++++++++++++++-
gcc/config/arc/predicates.md | 89 ------------------------
7 files changed, 324 insertions(+), 157 deletions(-)

Upstream: gcc.gnu.org


  • Share