]> granicus.if.org Git - php/commitdiff
merge ZEND_SIGNED_MULTIPLY_LONG for i386 and x86_64
authorElan Ruusamäe <glen@delfi.ee>
Fri, 27 Feb 2015 23:43:53 +0000 (01:43 +0200)
committerElan Ruusamäe <glen@delfi.ee>
Fri, 27 Feb 2015 23:43:53 +0000 (01:43 +0200)
as the definitions are identical
refs b7eb3c1c5a858e98985adc2335df9b4a021ade51

Zend/zend_multiply.h

index ce77ce1dd4e7c65a358a2e464ac63026d33d9b82..b12c1e23b30e9d26d28581bdfe63fbe7b8cbba96 100644 (file)
 #ifndef ZEND_MULTIPLY_H
 #define ZEND_MULTIPLY_H
 
-#if defined(__i386__) && defined(__GNUC__)
-
-#define ZEND_SIGNED_MULTIPLY_LONG(a, b, lval, dval, usedval) do {      \
-       zend_long __tmpvar;                                                                                                     \
-       __asm__ ("imul %3,%0\n"                                                                                 \
-               "adc $0,%1"                                                                                             \
-                       : "=r"(__tmpvar),"=r"(usedval)                                                  \
-                       : "0"(a), "r"(b), "1"(0));                                                              \
-       if (usedval) (dval) = (double) (a) * (double) (b);                              \
-       else (lval) = __tmpvar;                                                                                 \
-} while (0)
-
-#elif defined(__x86_64__) && defined(__GNUC__)
+#if (defined(__i386__) || defined(__x86_64__)) && defined(__GNUC__)
 
 #define ZEND_SIGNED_MULTIPLY_LONG(a, b, lval, dval, usedval) do {      \
        zend_long __tmpvar;                                                                                                     \