Hi Andrew, Please find a number of patches that are adding more features to arc backend (BI/BIH instructions, peephole rules, enter/leave instructions) or fixes exising issues (store hazards, tls implementation, library calls).
Please let me know if you have any question, Claudiu Claudiu Zissulescu (6): [ARC] Remove non standard funcions calls. [ARC] Cleanup TLS implementation. [ARC] Add BI/BIH instruction support. [ARC] Add peephole rules to combine store/loads into double store/loads [ARC] Refurbish and improve prologue/epilogue functions. [ARC] Handle store cacheline hazard. gcc/common/config/arc/arc-common.c | 1 + gcc/config/arc/arc-arch.h | 1 + gcc/config/arc/arc-protos.h | 2 + gcc/config/arc/arc.c | 1701 +++++++++++------ gcc/config/arc/arc.h | 106 +- gcc/config/arc/arc.md | 644 +++---- gcc/config/arc/arc.opt | 19 +- gcc/config/arc/arc700.md | 18 +- gcc/config/arc/predicates.md | 12 + gcc/doc/invoke.texi | 27 +- gcc/testsuite/gcc.target/arc/firq-1.c | 8 +- gcc/testsuite/gcc.target/arc/firq-3.c | 14 +- gcc/testsuite/gcc.target/arc/firq-4.c | 12 +- gcc/testsuite/gcc.target/arc/interrupt-6.c | 2 +- gcc/testsuite/gcc.target/arc/jumptable.c | 34 + .../gcc.target/arc/mulsi3_highpart-2.c | 5 +- gcc/testsuite/gcc.target/arc/tls-1.c | 2 +- gcc/testsuite/gcc.target/arc/tls-gd.c | 17 + gcc/testsuite/gcc.target/arc/tls-ie.c | 17 + gcc/testsuite/gcc.target/arc/tls-ld.c | 18 + gcc/testsuite/gcc.target/arc/tls-le.c | 16 + libgcc/config/arc/lib1funcs.S | 54 + libgcc/config/arc/t-arc | 2 +- 23 files changed, 1769 insertions(+), 963 deletions(-) create mode 100644 gcc/testsuite/gcc.target/arc/jumptable.c create mode 100644 gcc/testsuite/gcc.target/arc/tls-gd.c create mode 100644 gcc/testsuite/gcc.target/arc/tls-ie.c create mode 100644 gcc/testsuite/gcc.target/arc/tls-ld.c create mode 100644 gcc/testsuite/gcc.target/arc/tls-le.c -- 2.17.1