__m81_defun (float_type, func, (float_type __mathop_x)) \
{ \
float_type __result; \
- __asm("f" __STRING(op) "%.x %1, %0" : "=f" (__result) : "f" (__mathop_x));\
+ __asm __volatile__ ("f" __STRING(op) "%.x %1, %0" \
+ : "=f" (__result) : "f" (__mathop_x)); \
return __result; \
}
/* There is no branch-condition for infinity, \
so we must extract and examine the condition codes manually. */ \
unsigned long int __fpsr; \
- __asm("ftst%.x %1\n" \
- "fmove%.l %/fpsr, %0" : "=dm" (__fpsr) : "f" (__value)); \
+ __asm ("ftst%.x %1\n" \
+ "fmove%.l %/fpsr, %0" : "=dm" (__fpsr) : "f" (__value)); \
return (__fpsr & (2 << 24)) ? (__fpsr & (8 << 24) ? -1 : 1) : 0; \
} \
\
(float_type __x, int __n)) \
{ \
float_type __result; \
- __asm ("fscale%.l %1, %0" : "=f" (__result) : "dmi" (__n), "0" (__x)); \
+ __asm __volatile__ ("fscale%.l %1, %0" : "=f" (__result) \
+ : "dmi" (__n), "0" (__x)); \
return __result; \
}
__m81_defun (int, __CONCAT(__isnan,s), (float_type __value)) \
{ \
char __result; \
- __asm("ftst%.x %1\n" \
- "fsun %0" : "=dm" (__result) : "f" (__value)); \
+ __asm ("ftst%.x %1\n" \
+ "fsun %0" : "=dm" (__result) : "f" (__value)); \
return __result; \
}
__m81_defun (long int, __CONCAT(__lrint,s), (float_type __x)) \
{ \
long int __result; \
- __asm ("fmove%.l %1, %0" : "=dm" (__result) : "f" (__x)); \
+ __asm __volatile__ ("fmove%.l %1, %0" : "=dm" (__result) : "f" (__x)); \
return __result; \
}
__NTH (__m81_u(__CONCAT(__sincos,s))(float_type __x, float_type *__sinx, \
float_type *__cosx)) \
{ \
- __asm ("fsincos%.x %2,%1:%0" \
- : "=f" (*__sinx), "=f" (*__cosx) : "f" (__x)); \
+ __asm __volatile__ ("fsincos%.x %2,%1:%0" \
+ : "=f" (*__sinx), "=f" (*__cosx) : "f" (__x)); \
}
__inline_functions (double,)