diff options
author | Richard Henderson <rth@cygnus.com> | 1998-05-11 10:26:37 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 1998-05-11 10:26:37 -0700 |
commit | 0f177d7c37e9cd7bc5c585c74b6ccd7471520568 (patch) | |
tree | 18308b85120183d1e6b72e17aed36c57f3b7f092 /gcc | |
parent | 28233641fc41822a1e5134c5b297d4ceb20bca50 (diff) | |
download | gcc-0f177d7c37e9cd7bc5c585c74b6ccd7471520568.zip gcc-0f177d7c37e9cd7bc5c585c74b6ccd7471520568.tar.gz gcc-0f177d7c37e9cd7bc5c585c74b6ccd7471520568.tar.bz2 |
* sparc.md (ffsdi2): Disable. Simplify the expression as well.
From-SVN: r19674
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/sparc/sparc.md | 19 |
2 files changed, 15 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bc37d39..0eab09a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Mon May 11 17:24:27 1998 Richard Henderson <rth@cygnus.com> + + * sparc.md (ffsdi2): Disable. Simplify the expression as well. + Mon May 11 13:30:44 1998 Jim Wilson <wilson@cygnus.com> * varasm.c (make_decl_rtl): Disable April 1 change. diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md index a86434c..02e8a59 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. */ |