From: claziss <claz...@synopsys.com> Hi,
This bunch of patches contain a number of critical patches to ARC backend: - For ZOL: we have two patches which are avoiding the last ZOL instruction to be placed into a delay slot, and update the number of uses for the ZOL labels. Also, we enable the DBNZ instruction only for ARC HS Core3 cpus. Tests are provided. - Update the legitimate constant hook. - The trampoline implementation is revamped, and tested to work on ARC Linux. Without this patch trampolines are not working for ARC linux. - The accumulator registers usage can be controlled via -ffixed option, Also update a number of patterns to reflect usage of accumulator regs. - Add trap instruction, needed for ARC linux. - Add TARGET_CANNOT_SUBSTITUE_MEM_EQUIV, to avoid LRA issues. Test provided. Ok to apply? Claudiu Claudiu Zissulescu: [ARC][LRA] Use TARGET_CANNOT_SUBSTITUTE_MEM_EQUIV. [ARC] Don't allow the last ZOL insn to be in a delay slot. [ARC] Add trap instruction. [ARC] Update legitimate constant hook. [ARC] Enable unaligned access. [ARC] Revamp trampoline implementation. [ARC][ZOL] Update uses for hw-loop labels. [ARC] Add ARCv2 core3 tune option. [ARC][FIX] Consider command line ffixed- option. [ARC] Update (u)maddsidi patterns. gcc/config/arc/arc-arch.h | 3 +- gcc/config/arc/arc-c.def | 1 + gcc/config/arc/arc.c | 197 ++++++++++++++++++----------- gcc/config/arc/arc.h | 6 +- gcc/config/arc/arc.md | 74 +++++++---- gcc/config/arc/arc.opt | 40 +++--- gcc/testsuite/gcc.target/arc/loop-2.cpp | 18 +++ gcc/testsuite/gcc.target/arc/loop-3.c | 27 ++++ gcc/testsuite/gcc.target/arc/loop-4.c | 14 ++ gcc/testsuite/gcc.target/arc/lra-1.c | 17 +++ gcc/testsuite/gcc.target/arc/tls-1.c | 26 ++++ gcc/testsuite/gcc.target/arc/tumaddsidi4.c | 14 ++ 12 files changed, 320 insertions(+), 117 deletions(-) create mode 100644 gcc/testsuite/gcc.target/arc/loop-2.cpp create mode 100644 gcc/testsuite/gcc.target/arc/loop-3.c create mode 100644 gcc/testsuite/gcc.target/arc/loop-4.c create mode 100644 gcc/testsuite/gcc.target/arc/lra-1.c create mode 100644 gcc/testsuite/gcc.target/arc/tls-1.c create mode 100755 gcc/testsuite/gcc.target/arc/tumaddsidi4.c -- 1.9.1