MIPS patch for gcc 4.4
snf <[email protected]> Tue, 08 Feb 2011 19:04:00 -0300
| Newsgroups | gmane.linux.lib.dietlibc |
|---|---|
| Message-ID | <[email protected]> |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
As gcc >= 4.4 doesn't support anymore "=h" while inlining asm(mips), I
have changed the code for a pure-c one.
refs:
http://www.gnu.org/software/gcc/gcc-4.4/changes.html
http://gcc.gnu.org/viewcvs/trunk/gcc/longlong.h?view=markup
snf
- --
- --- dietlibc-0.32/longlong.h 2004-08-12 09:51:36.000000000 -0300
+++ ../dietlibc-0.32/longlong.h 2011-02-08 17:37:52.772484001 -0300
@@ -577,12 +577,22 @@
#endif /* __m88000__ */
#if defined (__mips__) && W_TYPE_SIZE == 32
+/*
#define umul_ppmm(w1, w0, u, v) \
__asm__ ("multu %2,%3" \
: "=l" ((USItype) (w0)), \
"=h" ((USItype) (w1)) \
: "d" ((USItype) (u)), \
"d" ((USItype) (v)))
+*/
+#define umul_ppmm(w1, w0, u, v) \
+ do { \
+ UDItype _r; \
+ _r = (UDItype) (USItype) (u) * (USItype) (v); \
+ (w1) = (USItype) (_r >> 32); \
+ (w0) = (USItype) _r; \
+ } while (0)
+
#define UMUL_TIME 10
#define UDIV_TIME 100
#endif /* __mips__ */
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iQEcBAEBAgAGBQJNUb3QAAoJEF0pStZ0BNB7hXcH/AvAFo4ykw+bG+UTkjTaZs+w
ZZYYG2EApBFYLGEqpYYOp4X4jNrhI9GnM2+HvhmrYotFZZ0IbbLuxR2h3EObjN9b
01iY9Ei73kPvObyiDBYSfKFcaJ+hI3CiH5yslzGevJ00BqGJH/OP/n2N9Rv5bRgL
iCI+gFO2h4+9H7P1mRzH0+plLPRwHkuUldkllMtpQcLadvx78v3WgIHdGtSGCSJG
dlpcgUpjbFH3VniiqDmbNw7mjwHk9ZLH2tUPI0avGIxIGfr/HKWbS9QrgWj23bmr
P/FV2En92LgTQq86PqSbhPaWtp8lSttD060fVNzkbSA2qhGJsV0iO2QTELaECn0=
=wP1b
-----END PGP SIGNATURE-----