HTEC Public Hi,
> > There are no platforms nor simulators for MSA and microMIPS R5 so > > turning off this support for now. > > > > gcc/ChangeLog: > > > > * config/mips/mips.cc (mips_option_override): Error out for > > -mmicromips -mmsa. > OK and pushed to the trunk. > Jeff We have sent a patch series to binutils in the meantime: https://sourceware.org/pipermail/binutils/2025-April/140356.html It includes adding microMIPSR6 support. We have also sent a patch that adds microMIPS R6 support in GCC: https://gcc.gnu.org/pipermail/gcc-patches/2025-March/677813.html I also realized that there is a mips32r6-generic CPU supporting microMIPS32 Release 6 ISA and that we enabled MSA ASE for it: https://gitlab.com/qemu-project/qemu/-/commit/5d3d52229b19509eaace662096a52dc91f712fc1 Also, this patch was dependent upon a patch that adds a support for microMIPS R6 in GCC, where the local variable 'is_micromips' was defined. Now I must update this patch appropriately. Please find a new version of this patch in the attachment. Kind regards, Aleksandar
From 16b3207aed5e4846fde4f3ffa1253c65ef6ba056 Mon Sep 17 00:00:00 2001 From: Aleksandar Rakic <aleksandar.ra...@htecgroup.com> Date: Wed, 23 Apr 2025 14:14:17 +0200 Subject: [PATCH] Make MSA and microMIPS R5 unsupported There are no platforms nor simulators for MSA and microMIPS R5 so turning off this support for now. gcc/ChangeLog: * config/mips/mips.cc (mips_option_override): Error out for -mmicromips -mips32r5 -mmsa. Cherry-picked 1009d6ff7a8d3b56e0224a6b193c5a7b3c29aa5f from https://github.com/MIPS/gcc Signed-off-by: Matthew Fortune <matthew.fort...@imgtec.com> Signed-off-by: Faraz Shahbazker <fshahbaz...@wavecomp.com> Signed-off-by: Aleksandar Rakic <aleksandar.ra...@htecgroup.com> --- gcc/config/mips/mips.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gcc/config/mips/mips.cc b/gcc/config/mips/mips.cc index 0d3d0263f2d..23205dfb616 100644 --- a/gcc/config/mips/mips.cc +++ b/gcc/config/mips/mips.cc @@ -20414,6 +20414,7 @@ static void mips_option_override (void) { int i, regno, mode; + unsigned int is_micromips; if (OPTION_SET_P (mips_isa_option)) mips_isa_option_info = &mips_cpu_info_table[mips_isa_option]; @@ -20434,6 +20435,7 @@ mips_option_override (void) /* Save the base compression state and process flags as though we were generating uncompressed code. */ mips_base_compression_flags = TARGET_COMPRESSION; + is_micromips = TARGET_MICROMIPS; target_flags &= ~TARGET_COMPRESSION; mips_base_code_readable = mips_code_readable; @@ -20678,7 +20680,7 @@ mips_option_override (void) "-mcompact-branches=never"); } - if (is_micromips && TARGET_MSA) + if (is_micromips && mips_isa_rev <= 5 && TARGET_MSA) error ("unsupported combination: %s", "-mmicromips -mmsa"); /* Require explicit relocs for MIPS R6 onwards. This enables simplification -- 2.34.1