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

Hi,

This is a set of new features introduced to ARC. First patch is adding
support for automatic context save/restore for regular interrupts. It
is done using an hardware available machinery, thus, saving/restoring
registers by the compiler is not needed in these cases.

Second patch is adding support for fast interrupts, which are making
use of register bank switching for fast serving interrupt routines.

Last patch is introducing multiply-and-accumulate and 64-bit result
multiplication operations. These ops are available in selected new ARC
v2 cores.

Ok to apply?
Claudiu


Claudiu Zissulescu (3):
  [ARC] Automatic context save/restore for regular interrupts.
  [ARC] Fast interrupts support.
  [ARC] Add support for advanced mpy/mac instructions.

 gcc/config/arc/arc.c                       | 403 ++++++++++++++++++++++++++---
 gcc/config/arc/arc.h                       |  13 +-
 gcc/config/arc/arc.md                      | 283 +++++++++++++++++++-
 gcc/config/arc/arc.opt                     |   8 +
 gcc/config/arc/predicates.md               |   5 +
 gcc/doc/invoke.texi                        |  24 +-
 gcc/testsuite/gcc.target/arc/firq-1.c      |  27 ++
 gcc/testsuite/gcc.target/arc/firq-2.c      |  31 +++
 gcc/testsuite/gcc.target/arc/firq-3.c      |  40 +++
 gcc/testsuite/gcc.target/arc/firq-4.c      |  31 +++
 gcc/testsuite/gcc.target/arc/firq-5.c      |  15 ++
 gcc/testsuite/gcc.target/arc/firq-6.c      |  21 ++
 gcc/testsuite/gcc.target/arc/interrupt-5.c |  19 ++
 gcc/testsuite/gcc.target/arc/interrupt-6.c |  22 ++
 gcc/testsuite/gcc.target/arc/interrupt-7.c |  16 ++
 gcc/testsuite/gcc.target/arc/interrupt-8.c |  27 ++
 gcc/testsuite/gcc.target/arc/interrupt-9.c |  17 ++
 17 files changed, 950 insertions(+), 52 deletions(-)
 create mode 100644 gcc/testsuite/gcc.target/arc/firq-1.c
 create mode 100644 gcc/testsuite/gcc.target/arc/firq-2.c
 create mode 100644 gcc/testsuite/gcc.target/arc/firq-3.c
 create mode 100644 gcc/testsuite/gcc.target/arc/firq-4.c
 create mode 100644 gcc/testsuite/gcc.target/arc/firq-5.c
 create mode 100644 gcc/testsuite/gcc.target/arc/firq-6.c
 create mode 100644 gcc/testsuite/gcc.target/arc/interrupt-5.c
 create mode 100644 gcc/testsuite/gcc.target/arc/interrupt-6.c
 create mode 100644 gcc/testsuite/gcc.target/arc/interrupt-7.c
 create mode 100644 gcc/testsuite/gcc.target/arc/interrupt-8.c
 create mode 100644 gcc/testsuite/gcc.target/arc/interrupt-9.c

-- 
1.9.1

Reply via email to