https://gcc.gnu.org/g:fbb48b307250fb5d7a84ffc4491b6308cca75fdf

commit fbb48b307250fb5d7a84ffc4491b6308cca75fdf
Author: Michael Meissner <[email protected]>
Date:   Mon Oct 26 00:29:16 2026 -0400

    Revert changes

Diff:
---
 gcc/config/rs6000/rs6000.md                        | 14 --------
 .../gcc.target/powerpc/saturate-subtract-1.c       | 39 ---------------------
 .../gcc.target/powerpc/saturate-subtract-2.c       | 40 ----------------------
 gcc/testsuite/lib/target-supports.exp              | 13 -------
 4 files changed, 106 deletions(-)

diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index 9144b894bf56..166a03bc6e91 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -2503,20 +2503,6 @@
   ""
 )
 
-;; Saturating subtract
-(define_code_iterator gtu_geu [gtu geu])
-
-(define_insn "*subfus<mode>3_<code>"
-  [(set (match_operand:GPR 0 "gpc_reg_operand" "=r")
-       (if_then_else:GPR (gtu_geu (match_operand:GPR 1 "gpc_reg_operand" "r")
-                                  (match_operand:GPR 2 "gpc_reg_operand" "r"))
-                         (minus:GPR (match_dup 1)
-                                    (match_dup 2))
-                         (const_int 0)))]
-  "TARGET_FUTURE"
-  "sub<wd>us %0,%1,%2"
-  [(set_attr "type" "add")])
-
 (define_insn "@neg<mode>2"
   [(set (match_operand:GPR 0 "gpc_reg_operand" "=r")
        (neg:GPR (match_operand:GPR 1 "gpc_reg_operand" "r")))]
diff --git a/gcc/testsuite/gcc.target/powerpc/saturate-subtract-1.c 
b/gcc/testsuite/gcc.target/powerpc/saturate-subtract-1.c
deleted file mode 100644
index c32a70a5e898..000000000000
--- a/gcc/testsuite/gcc.target/powerpc/saturate-subtract-1.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-mdejagnu-cpu=future -O2" } */
-/* { dg-require-effective-target powerpc_future_ok } */
-
-/* Check that saturating subtract (subfus) is generated.  Check that all
-   combinations of >, >=, <, and <= are optimized.  */
-
-#ifndef TYPE
-#define TYPE   unsigned int
-#endif
-
-void
-saturated_subtract_gt (TYPE a, TYPE b, TYPE *p)
-{
-  *p = (a > b) ? a - b : 0;
-}
-
-void
-saturated_subtract_ge (TYPE a, TYPE b, TYPE *p)
-{
-  *p = (a >= b) ? a - b : 0;
-}
-
-void
-saturated_subtract_lt (TYPE a, TYPE b, TYPE *p)
-{
-  *p = (a < b) ? 0 : a - b;
-}
-
-void
-saturated_subtract_le (TYPE a, TYPE b, TYPE *p)
-{
-  *p = (a <= b) ? 0 : a - b;
-}
-
-/* { dg-final { scan-assembler-times {\msubwus\M} 4 } } */
-/* { dg-final { scan-assembler-not   {\mcmplw\M}    } } */
-/* { dg-final { scan-assembler-not   {\misel\M}     } } */
-/* { dg-final { scan-assembler-not   {\msubf\M}     } } */
diff --git a/gcc/testsuite/gcc.target/powerpc/saturate-subtract-2.c 
b/gcc/testsuite/gcc.target/powerpc/saturate-subtract-2.c
deleted file mode 100644
index 482d7384c172..000000000000
--- a/gcc/testsuite/gcc.target/powerpc/saturate-subtract-2.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/* { dg-do compile } */
-/* { dg-require-effective-target powerpc_future_ok } */
-/* { dg-require-effective-target lp64 } */
-/* { dg-options "-mdejagnu-cpu=future -O2" } */
-
-/* Check that saturating subtract (subfus) is generated.  Check that all
-   combinations of >, >=, <, and <= are optimized.  */
-
-#ifndef TYPE
-#define TYPE   unsigned long long
-#endif
-
-void
-saturated_subtract_gt (TYPE a, TYPE b, TYPE *p)
-{
-  *p = (a > b) ? a - b : 0;
-}
-
-void
-saturated_subtract_ge (TYPE a, TYPE b, TYPE *p)
-{
-  *p = (a >= b) ? a - b : 0;
-}
-
-void
-saturated_subtract_lt (TYPE a, TYPE b, TYPE *p)
-{
-  *p = (a < b) ? 0 : a - b;
-}
-
-void
-saturated_subtract_le (TYPE a, TYPE b, TYPE *p)
-{
-  *p = (a <= b) ? 0 : a - b;
-}
-
-/* { dg-final { scan-assembler-times {\msubdus\M} 4 } } */
-/* { dg-final { scan-assembler-not   {\mcmpld\M}    } } */
-/* { dg-final { scan-assembler-not   {\misel\M}     } } */
-/* { dg-final { scan-assembler-not   {\msubf\M}     } } */
diff --git a/gcc/testsuite/lib/target-supports.exp 
b/gcc/testsuite/lib/target-supports.exp
index 3b9b4216bf9b..3c5dfd59f6fe 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -8495,19 +8495,6 @@ proc check_htm_hw_available { } {
        }
     }]
 }
-
-# Return 1 if this is a PowerPC target supporting -mcpu=future
-
-proc check_effective_target_powerpc_future_ok { } {
-    return [check_no_compiler_messages powerpc_future_ok object {
-       unsigned long a, b, c;
-       int main (void) {
-           asm ("subdus %0,%1,%2" : "=r" (a) : "r" (b), "r" (c));
-           return 0;
-       }
-    } "-mcpu=future"]
-}
-
 # Return 1 if this is a PowerPC target supporting -mcpu=cell.
 
 proc check_effective_target_powerpc_ppu_ok { } {

Reply via email to