Don't use long double

Slots in the x87 stack get marked as occupied when you move
values into the corresponding mmx registers. If you try
to push a value onto the x87 stack, and the slot isnt empty,
it will fail, and give you a nan.

Generally, g++-x64 doesnt use the x87 instructions, but if
you do long double arithmetic, it does. f_pow was using
long doubles - but there was an alternate, much faster, asm
sequence which didnt use long double, and which just needed
to test the right define - so switch to that. Also grep
for long double to make sure we're not using it elsewhere.
Esse commit está contido em:
mwilliams
2013-03-14 10:26:01 -07:00
commit de Sara Golemon
commit 6a867726b1
+1 -1
Ver Arquivo
@@ -15,7 +15,7 @@
+----------------------------------------------------------------------+
*/
#if defined(__i386__) && defined(__GNUC__)
#if (defined(__x86_64__) || defined(__i386__)) && defined(__GNUC__)
#define ZEND_SIGNED_MULTIPLY_LONG(a, b, lval, dval, usedval) do { \
long __tmpvar; \