[ARC] Add new ARCv2 instructions.
authorClaudiu Zissulescu <claziss@synopsys.com>
Mon, 2 May 2016 08:54:34 +0000 (10:54 +0200)
committerClaudiu Zissulescu <claziss@gcc.gnu.org>
Mon, 2 May 2016 08:54:34 +0000 (10:54 +0200)
commitfc1c2d0482260c80cfe8363f96ace9a57f10cbf4
treec40e671c5b2a36bde4b5873c1bb266562c0fc4a5
parent02673c66c6477d1212a49a602f74c624267dda29
[ARC] Add new ARCv2 instructions.

gcc/
2016-05-02  Claudiu Zissulescu  <claziss@synopsys.com>

* 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.

From-SVN: r235707
gcc/ChangeLog
gcc/config/arc/arc-protos.h
gcc/config/arc/arc.c
gcc/config/arc/arc.h
gcc/config/arc/arc.md
gcc/config/arc/constraints.md
gcc/config/arc/predicates.md