This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch] mc68060 code generation in libgcc


Hello,

currently instructions supported on cpu32/68020-40
only are emitted even when targeting exclusively the
mc68060.
This results in extremely poor performance of some
programs on the 68060, notably ssh2 and ssl_mod.

"-D__mc68020__" traditionally means 68020 or better
cpu and is defined even when -m68060 is given. Changing
traditional behaviour would cause more trouble so I
have solved it this way:

Richard

--- gcc-3.4-20031210/gcc/longlong.h.rz	2003-08-21 03:11:41.000000000 +0200
+++ gcc-3.4-20031210/gcc/longlong.h	2003-12-25 20:02:06.000000000 +0100
@@ -415,10 +415,11 @@
 	     "g" ((USItype) (bl)))
 
 /* The '020, '030, '040 and CPU32 have 32x32->64 and 64/32->32q-32r.  */
-#if defined (__mc68020__) || defined(mc68020) \
-	|| defined(__mc68030__) || defined(mc68030) \
-	|| defined(__mc68040__) || defined(mc68040) \
-	|| defined(__mcpu32__) || defined(mcpu32)
+#if !defined(__mc68060__) && !defined(mc68060) && \
+       (defined (__mc68020__) || defined(mc68020) \
+ 	|| defined(__mc68030__) || defined(mc68030) \
+ 	|| defined(__mc68040__) || defined(mc68040) \
+ 	|| defined(__mcpu32__) || defined(mcpu32))
 #define umul_ppmm(w1, w0, u, v) \
   __asm__ ("mulu%.l %3,%1:%0"						\
 	   : "=d" ((USItype) (w0)),					\


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]