From 0f177d7c37e9cd7bc5c585c74b6ccd7471520568 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Mon, 11 May 1998 10:26:37 -0700 Subject: [PATCH] * sparc.md (ffsdi2): Disable. Simplify the expression as well. From-SVN: r19674 --- gcc/ChangeLog | 4 ++++ gcc/config/sparc/sparc.md | 19 +++++++++++-------- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bc37d391687..0eab09abcf3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Mon May 11 17:24:27 1998 Richard Henderson + + * sparc.md (ffsdi2): Disable. Simplify the expression as well. + Mon May 11 13:30:44 1998 Jim Wilson * varasm.c (make_decl_rtl): Disable April 1 change. diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md index a86434c34f1..02e8a596609 100644 --- a/gcc/config/sparc/sparc.md +++ b/gcc/config/sparc/sparc.md @@ -6123,14 +6123,17 @@ if (! TARGET_ARCH64) ;; ??? This should be a define expand, so that the extra instruction have ;; a chance of being optimized away. -(define_insn "ffsdi2" - [(set (match_operand:DI 0 "register_operand" "=&r") - (ffs:DI (match_operand:DI 1 "register_operand" "r"))) - (clobber (match_scratch:DI 2 "=&r"))] - "TARGET_ARCH64" - "neg %1,%2\;not %2,%2\;xor %1,%2,%2\;popc %2,%0\;movrz %1,0,%0" - [(set_attr "type" "multi") - (set_attr "length" "5")]) +;; Disabled because none of the UltraSparcs implement popc. The HAL R1 +;; does, but no one uses that and we don't have a switch for it. +; +;(define_insn "ffsdi2" +; [(set (match_operand:DI 0 "register_operand" "=&r") +; (ffs:DI (match_operand:DI 1 "register_operand" "r"))) +; (clobber (match_scratch:DI 2 "=&r"))] +; "TARGET_ARCH64" +; "neg %1,%2\;xnor %1,%2,%2\;popc %2,%0" +; [(set_attr "type" "multi") +; (set_attr "length" "3")]) ;; Split up troublesome insns for better scheduling. */ -- 2.30.2