This patch series contains the remaining general bug fixes for the MIPS target in GCC.
The patches are based on changes from the mips_rel/9_3_0/master branch of the MIPS' repository: https://github.com/MIPS/gcc Some patches have since been adjusted following review. Changes in v4: - Rebased on the current GCC master. - Dropped patches that were withdrawn following review: - [v3,1/8] MIPS: Fix unsafe comparison against stack_pointer_rtx - [v3,3/8] Testsuite: Disable the time-profiler-2.c test - [v3,8/8] MIPS: fmadd.w should be restricted to mipsr6 - Dropped [v3,4/8] MIPS: Frame barrier fix, since it has been upstreamed. (commit 61db64a) - Reworked "MIPS: Add XBurst MXU target option" following review. The previously committed incomplete change has been reverted on trunk. - Updated the relevant testcases. Changes in v3 - Rebased on current GCC master. - Dropped patches from v2 that have already been upstreamed. - Added testcases for the relevant patches. Link to v3: https://sourceware.org/pipermail/gcc-patches/2026-June/721402.html Aleksandar Rakic (1): MIPS: Fix MSA SUBREG moves on big-endian targets Matthew Fortune (3): MIPS: Improve store_by_pieces_p MIPS: Lightweight fix for shrink-wrapping inhibition MIPS: Add XBurst MXU target option gcc/config/mips/mips-msa.md | 1092 +++++++++-------- gcc/config/mips/mips-protos.h | 2 + gcc/config/mips/mips.cc | 244 +++- gcc/config/mips/mips.h | 4 + gcc/config/mips/mips.opt | 4 + gcc/config/mips/predicates.md | 5 + gcc/doc/invoke.texi | 12 +- .../gcc.target/mips/gpopt-shrink-wrap-1.c | 21 + .../gcc.target/mips/inter/msa-inter.exp | 67 + gcc/testsuite/gcc.target/mips/inter/msa_1.h | 23 + .../gcc.target/mips/inter/msa_1_main.c | 8 + gcc/testsuite/gcc.target/mips/inter/msa_1_x.c | 35 + gcc/testsuite/gcc.target/mips/inter/msa_1_y.c | 14 + gcc/testsuite/gcc.target/mips/mips.exp | 7 + .../gcc.target/mips/mxu-compile-no.c | 14 + gcc/testsuite/gcc.target/mips/mxu-compile.c | 14 + gcc/testsuite/gcc.target/mips/mxu-driver-no.c | 11 + gcc/testsuite/gcc.target/mips/mxu-driver.c | 11 + .../gcc.target/mips/store-by-pieces-1.c | 19 + 19 files changed, 1073 insertions(+), 534 deletions(-) create mode 100644 gcc/testsuite/gcc.target/mips/gpopt-shrink-wrap-1.c create mode 100644 gcc/testsuite/gcc.target/mips/inter/msa-inter.exp create mode 100644 gcc/testsuite/gcc.target/mips/inter/msa_1.h create mode 100644 gcc/testsuite/gcc.target/mips/inter/msa_1_main.c create mode 100644 gcc/testsuite/gcc.target/mips/inter/msa_1_x.c create mode 100644 gcc/testsuite/gcc.target/mips/inter/msa_1_y.c create mode 100644 gcc/testsuite/gcc.target/mips/mxu-compile-no.c create mode 100644 gcc/testsuite/gcc.target/mips/mxu-compile.c create mode 100644 gcc/testsuite/gcc.target/mips/mxu-driver-no.c create mode 100644 gcc/testsuite/gcc.target/mips/mxu-driver.c create mode 100644 gcc/testsuite/gcc.target/mips/store-by-pieces-1.c -- 2.43.0
