From: claziss <claz...@synopsys.com>

Hi,

There is an issue with 'h'- register class for ARCv2, which accepts
only the first 32 general purposes registers as oposite to the ARCv1
which accepts all 64 GPRs. Fix this issue in two patches for CMP and
ADD instructions.

Also, allow the compiler to use extra GPRs if they are available and
mark D0, D1 registers fixed when not available.

Fix also C++ calling multiple inheritances when compiling for PIC, and
allow addresses to use Rx + @symbol.

--

Claudiu Zissulescu (7):
  [ARC] Differentiate between ARCv1 and ARCv2 'h'-reg class for CMP
    insns.
  [ARC] Differentiate between ARCv1 and ARCv2 'h'-reg class for ADD
    insns.
  [ARC] Allow extension core registers to be used for addresses.
  [ARC] Make D0, D1 double regs fix when not used.
  [ARC] Use ACCL, ACCH registers whenever they are available.
  [ARC] [Cxx] Fix calling multiple inheritances.
  [ARC] Addresses can use long immediate for offsets.

 gcc/config/arc/arc.c         | 124 +++++++++++++++++++++++++++++++++----------
 gcc/config/arc/arc.h         |  20 ++++---
 gcc/config/arc/arc.md        |  28 +++++-----
 gcc/config/arc/predicates.md |  13 +++++
 4 files changed, 135 insertions(+), 50 deletions(-)

-- 
1.9.1

Reply via email to