The AM1808 SoC from Texas Instruments contains an older version of the
PRU core, which is missing the XIN, XOUT and LOOP instructions.  Thus it
does not support the pseudo-instructions FILL and ZERO, and also
hardware multiplication.

This patch series adds flags to optionally disable those missing
instructions.  It also adds multilib to support both the newer and those
older PRU variants.

Pushed to trunk as r16-3337-g625af54662b4ff.

Dimitar Dimitrov (3):
  pru: Add options to disable MUL/FILL/ZERO instructions
  pru: Define multilib for different core variants
  pru: libgcc: Add software implementation for multiplication

 gcc/common/config/pru/pru-common.cc |  3 ++-
 gcc/config.gcc                      |  2 +-
 gcc/config/pru/pru.cc               | 11 +++++++-
 gcc/config/pru/pru.h                |  3 +++
 gcc/config/pru/pru.md               | 28 ++++++++++---------
 gcc/config/pru/pru.opt              |  8 ++++++
 gcc/config/pru/pru.opt.urls         |  6 +++++
 gcc/config/pru/t-multilib           | 29 ++++++++++++++++++++
 gcc/config/rl78/rl78.opt.urls       |  2 +-
 gcc/doc/invoke.texi                 | 10 ++++++-
 libgcc/config/pru/libgcc-eabi.ver   |  6 +++++
 libgcc/config/pru/pru-softmpy.h     | 42 +++++++++++++++++++++++++++++
 libgcc/config/pru/softmpyi.c        | 37 +++++++++++++++++++++++++
 libgcc/config/pru/softmpyll.c       | 37 +++++++++++++++++++++++++
 libgcc/config/pru/t-pru             |  2 ++
 15 files changed, 209 insertions(+), 17 deletions(-)
 create mode 100644 gcc/config/pru/t-multilib
 create mode 100644 libgcc/config/pru/pru-softmpy.h
 create mode 100644 libgcc/config/pru/softmpyi.c
 create mode 100644 libgcc/config/pru/softmpyll.c

-- 
2.50.1

Reply via email to