This patch series includes the fixes to the general bugs for the mips target in GCC.
These patches are cherry-picked from the mips_rel/9_3_0/master branch from the MIPS' repository: https://github.com/MIPS/gcc . Further details on the individual changes are included in the respective patches. Changes in v3: - Rebased on current GCC master. - Dropped patches from v2 that have already been upstreamed. - Added testcases for the relevant patches. Aleksandar Rakic (1): MIPS: Fix MSA SUBREG moves on big-endian targets Andrew Bennett (1): MIPS: Fix unsafe comparison against stack_pointer_rtx Matthew Fortune (5): MIPS: Improve store_by_pieces_p Testsuite: Disable the time-profiler-2.c test MIPS: Frame barrier fix MIPS: Add -mmxu and -mno-mxu driver pass through MIPS: Lightweight fix for shrink-wrapping inhibition dragan.mladjenovic (1): MIPS: fmadd.w should be restricted to mipsr6 gcc/config/mips/mips-msa.md | 1112 +++++++++-------- gcc/config/mips/mips-protos.h | 2 + gcc/config/mips/mips.cc | 264 +++- gcc/config/mips/mips.h | 1 + gcc/config/mips/mips.md | 2 +- gcc/config/mips/mips.opt | 3 + gcc/config/mips/predicates.md | 5 + .../gcc.dg/tree-prof/time-profiler-2.c | 1 + .../gcc.target/mips/frame-barrier-1.c | 15 + .../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.target/mips/msa-fuse-madd-double.c | 52 + .../gcc.target/mips/msa-fuse-madd-single.c | 51 + gcc/testsuite/gcc.target/mips/msa.c | 14 +- .../gcc.target/mips/mxu-compile-no.c | 8 + gcc/testsuite/gcc.target/mips/mxu-compile.c | 8 + 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 + gcc/testsuite/lib/target-supports.exp | 10 + 24 files changed, 1204 insertions(+), 553 deletions(-) create mode 100644 gcc/testsuite/gcc.target/mips/frame-barrier-1.c 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/msa-fuse-madd-double.c create mode 100644 gcc/testsuite/gcc.target/mips/msa-fuse-madd-single.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
