+2013-11-20 Siddhesh Poyarekar <siddhesh@redhat.com>
+
+ * manual/probes.texi (Mathematical Function Probes): Add
+ documentation for sin, cos, asin and acos probes.
+ * sysdeps/ieee754/dbl-64/sincos32.c: Include stap-probe.h.
+ (__sin32): Add slowasin probe.
+ (__cos32): Add slowacos probe.
+ (__mpsin): Add slowsin probe.
+ (__mpcos): Add slowcos probe.
+
2013-11-19 Joseph Myers <joseph@codesourcery.com>
[BZ #15483]
@var{$arg1} is the input to the function and @var{$arg2} is the computed
result.
@end deftp
+
+@deftp Probe slowasin (double @var{$arg1}, double @var{$arg2})
+This probe is hit when the @code{asin} function is called with an input that
+results in multiple precision computation with precision 32. Argument
+@var{$arg1} is the input to the function and @var{$arg2} is the computed
+result.
+@end deftp
+
+@deftp Probe slowacos (double @var{$arg1}, double @var{$arg2})
+This probe is hit when the @code{acos} function is called with an input that
+results in multiple precision computation with precision 32. Argument
+@var{$arg1} is the input to the function and @var{$arg2} is the computed
+result.
+@end deftp
+
+@deftp Probe slowsin (double @var{$arg1}, double @var{$arg2})
+This probe is hit when the @code{sin} function is called with an input that
+results in multiple precision computation with precision 32. Argument
+@var{$arg1} is the input to the function and @var{$arg2} is the computed
+result.
+@end deftp
+
+@deftp Probe slowcos (double @var{$arg1}, double @var{$arg2})
+This probe is hit when the @code{cos} function is called with an input that
+results in multiple precision computation with precision 32. Argument
+@var{$arg1} is the input to the function and @var{$arg2} is the computed
+result.
+@end deftp
+
+@deftp Probe slowsin_dx (double @var{$arg1}, double @var{$arg2}, double @var{$arg3})
+This probe is hit when the @code{sin} function is called with an input that
+results in multiple precision computation with precision 32. Argument
+@var{$arg1} is the input to the function, @var{$arg2} is the error bound of
+@var{$arg1} and @var{$arg3} is the computed result.
+@end deftp
+
+@deftp Probe slowcos_dx (double @var{$arg1}, double @var{$arg2}, double @var{$arg3})
+This probe is hit when the @code{cos} function is called with an input that
+results in multiple precision computation with precision 32. Argument
+@var{$arg1} is the input to the function, @var{$arg2} is the error bound of
+@var{$arg1} and @var{$arg3} is the computed result.
+@end deftp
#include "mpa.h"
#include "sincos32.h"
#include <math_private.h>
+#include <stap-probe.h>
#ifndef SECTION
# define SECTION
/* if a > 0 return min (res, res1), otherwise return max (res, res1). */
if ((a.d[0] > 0 && res >= res1) || (a.d[0] <= 0 && res <= res1))
res = res1;
+ LIBC_PROBE (slowasin, 2, &res, &x);
return res;
}
/* if a > 0 return max (res, res1), otherwise return min (res, res1). */
if ((a.d[0] > 0 && res <= res1) || (a.d[0] <= 0 && res >= res1))
res = res1;
+ LIBC_PROBE (slowacos, 2, &res, &x);
return res;
}
default:
__mp_dbl (&s, &y, p);
}
+ LIBC_PROBE (slowsin, 3, &x, &dx, &y);
return y;
}
default:
__mp_dbl (&c, &y, p);
}
+ LIBC_PROBE (slowcos, 3, &x, &dx, &y);
return y;
}