mirror of
https://sourceware.org/git/glibc.git
synced 2025-01-11 20:00:07 +00:00
(feraiseexcept): Mark tmp as early-clobber.
This commit is contained in:
parent
94cd6191cd
commit
035d42d2a0
@ -39,28 +39,28 @@ feraiseexcept (int excepts)
|
|||||||
{
|
{
|
||||||
/* One example of a invalid operation is 0 * Infinity. */
|
/* One example of a invalid operation is 0 * Infinity. */
|
||||||
__asm__ __volatile__("mult/sui $f31,%1,%0; trapb"
|
__asm__ __volatile__("mult/sui $f31,%1,%0; trapb"
|
||||||
: "=f"(tmp) : "f"(HUGE_VAL));
|
: "=&f"(tmp) : "f"(HUGE_VAL));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Next: division by zero. */
|
/* Next: division by zero. */
|
||||||
if (FE_DIVBYZERO & excepts)
|
if (FE_DIVBYZERO & excepts)
|
||||||
{
|
{
|
||||||
__asm__ __volatile__("cmpteq $f31,$f31,%1; divt/sui %1,$f31,%0; trapb"
|
__asm__ __volatile__("cmpteq $f31,$f31,%1; divt/sui %1,$f31,%0; trapb"
|
||||||
: "=f"(tmp), "=f"(dummy));
|
: "=&f"(tmp), "=f"(dummy));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Next: overflow. */
|
/* Next: overflow. */
|
||||||
if (FE_OVERFLOW & excepts)
|
if (FE_OVERFLOW & excepts)
|
||||||
{
|
{
|
||||||
__asm__ __volatile__("mult/sui %1,%1,%0; trapb"
|
__asm__ __volatile__("mult/sui %1,%1,%0; trapb"
|
||||||
: "=f"(tmp) : "f"(DBL_MAX));
|
: "=&f"(tmp) : "f"(DBL_MAX));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Next: underflow. */
|
/* Next: underflow. */
|
||||||
if (FE_UNDERFLOW & excepts)
|
if (FE_UNDERFLOW & excepts)
|
||||||
{
|
{
|
||||||
__asm__ __volatile__("divt/sui %1,%2,%0; trapb"
|
__asm__ __volatile__("divt/sui %1,%2,%0; trapb"
|
||||||
: "=f"(tmp) : "f"(DBL_MIN),
|
: "=&f"(tmp) : "f"(DBL_MIN),
|
||||||
"f"((double) (1UL << 60)));
|
"f"((double) (1UL << 60)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -68,6 +68,6 @@ feraiseexcept (int excepts)
|
|||||||
if (FE_INEXACT & excepts)
|
if (FE_INEXACT & excepts)
|
||||||
{
|
{
|
||||||
__asm__ __volatile__("divt/sui %1,%2,%0; trapb"
|
__asm__ __volatile__("divt/sui %1,%2,%0; trapb"
|
||||||
: "=f"(tmp) : "f"(1.0), "f"(M_PI));
|
: "=&f"(tmp) : "f"(1.0), "f"(M_PI));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user