]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Revert "MIPS: Add conditions for use of the -mmips16e2 and -mips16 option."
authorYunQiang Su <yunqiang@isrc.iscas.ac.cn>
Fri, 10 Oct 2025 00:16:38 +0000 (08:16 +0800)
committerYunQiang Su <yunqiang@isrc.iscas.ac.cn>
Fri, 10 Oct 2025 00:16:38 +0000 (08:16 +0800)
This reverts commit f731fa580156d07f6347cb87931ce7b9cf2acbb4.

gcc/config/mips/mips.cc
gcc/testsuite/gcc.target/mips/mips16e2-cache.c
gcc/testsuite/gcc.target/mips/mips16e2-cmov.c
gcc/testsuite/gcc.target/mips/mips16e2-gp.c
gcc/testsuite/gcc.target/mips/mips16e2.c

index 1fa7ba8451c50f293f3c6f2f9d4ae5b1e0e08d87..42dfc3b351198335ef9f6fe4d8c10a1740638d4d 100644 (file)
@@ -20433,16 +20433,6 @@ mips_option_override (void)
   if (TARGET_MICROMIPS && TARGET_MIPS16)
     error ("unsupported combination: %s", "-mips16 -mmicromips");
 
-  /* Make -mmips16e2 imply -mips16 and forbid its coexistence with
-     -mmicromips as the ASE requires.  */
-  if (TARGET_MIPS16E2)
-  {
-    if (TARGET_MICROMIPS)
-      error ("unsupported combination: %s", "-mmips16e2 -mmicromips");
-
-    target_flags |= MASK_MIPS16;
-  }
-
   /* Prohibit Paired-Single and MSA combination.  This is software restriction
      rather than architectural.  */
   if (ISA_HAS_MSA && TARGET_PAIRED_SINGLE_FLOAT)
@@ -20695,15 +20685,6 @@ mips_option_override (void)
              "-mcompact-branches=never");
     }
 
-  /* MIPS16* ASE is forbidden in Release 6, so -mips16 is not available
-     for MIPS R6 onwards.  */
-  if ((mips_base_compression_flags & MASK_MIPS16) && mips_isa_rev >= 6)
-    error ("MIPS16* ASE is forbidden in Release 6");
-
-  /* Make sure that the user use Release[2,5] when using -mmips16e2.  */
-  if (TARGET_MIPS16E2 && mips_isa_rev < 2)
-    error ("%<-mmips16e2%> requires Release[2,5]");
-
   /* Require explicit relocs for MIPS R6 onwards.  This enables simplification
      of the compact branch and jump support through the backend.  */
   if (!TARGET_EXPLICIT_RELOCS && mips_isa_rev >= 6)
index 8caacb17d7a9856af52b259396ee4e13f4e53d92..dcc39b580f52d208540c86122f7cc5e8d55f6e2a 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-options "-mno-abicalls -mgpopt -G8 -mabi=32 isa_rev>=2 -mmips16e2" } */
+/* { dg-options "-mno-abicalls -mgpopt -G8 -mabi=32 -mips32r2 -mips16 -mmips16e2" } */
 /* { dg-skip-if "naming registers makes this a code quality test" { *-*-* } { "-O0" } { "" } } */
 
 /* Test cache.  */
index a8a28a4d860061fc8744fdab9a18b785c82f0b34..129ea23b65b19f669fb23660b82c9efef7ece15a 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-options "-mno-abicalls -mgpopt -G8 -mabi=32 isa_rev>=2 -mmips16e2 -mbranch-cost=2" } */
+/* { dg-options "-mno-abicalls -mgpopt -G8 -mabi=32 -mips16 -mmips16e2 -mbranch-cost=2" } */
 /* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
 
 /* Test MOVN.  */
index 70d6230f017f590823c7368e185c12ade07350f7..7955472bde3003a7701b105395368329a28d1a6f 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-options "-mno-abicalls -mgpopt -G8 -mabi=32 isa_rev>=2 -mmips16e2" } */
+/* { dg-options "-mno-abicalls -mgpopt -G8 -mabi=32 -mips16 -mmips16e2" } */
 /* { dg-skip-if "per-function expected output" { *-*-* } { "-flto" } { "" } } */
  
 /* Generate GP-relative ADDIU.  */
index 1b4b840bb4043138ed44cbd7e30d810339dc19c6..166aa7422687d2552d109e2630089308313eedf2 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-options "-mno-abicalls -mgpopt -G8 -mabi=32 isa_rev>=2 -mmips16e2" } */
+/* { dg-options "-mno-abicalls -mgpopt -G8 -mabi=32 -mips16 -mmips16e2" } */
 /* { dg-skip-if "per-function expected output" { *-*-* } { "-flto" } { "" } } */
  
 /* ANDI is a two operand instruction.  Hence, it won't be generated if src and