From: Richard Henderson Date: Mon, 11 May 1998 17:26:37 +0000 (-0700) Subject: * sparc.md (ffsdi2): Disable. Simplify the expression as well. X-Git-Tag: prereleases/egcs-1.1-prerelease~1359 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0f177d7c37e9cd7bc5c585c74b6ccd7471520568;p=thirdparty%2Fgcc.git * sparc.md (ffsdi2): Disable. Simplify the expression as well. From-SVN: r19674 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bc37d391687d..0eab09abcf36 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 a86434c34f14..02e8a5966095 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. */