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