summaryrefslogtreecommitdiff
path: root/fixincludes/tests
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2013-01-16 04:07:20 +0000
committerAlexandre Oliva <aoliva@gcc.gnu.org>2013-01-16 04:07:20 +0000
commitc851c76cdf52884dd5e0c7befd3c809e9d174a73 (patch)
tree6416ec3c4f8c8125bba80173a8b0b23cbb57939b /fixincludes/tests
parent0133a2aa7dc2ccd0fac2edbc6dabc8536fa58688 (diff)
downloadgcc-c851c76cdf52884dd5e0c7befd3c809e9d174a73.tar.gz
inclhack.def (feraiseexcept_nosse_invalid): New.
* inclhack.def (feraiseexcept_nosse_invalid): New. (feraiseexcept_nosse_divbyzero): Likewise. * fixincl.x: Rebuilt. * tests/base/bits/fenv.h: New. From-SVN: r195226
Diffstat (limited to 'fixincludes/tests')
-rw-r--r--fixincludes/tests/base/bits/fenv.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/fixincludes/tests/base/bits/fenv.h b/fixincludes/tests/base/bits/fenv.h
new file mode 100644
index 00000000000..a82ec25e8b4
--- /dev/null
+++ b/fixincludes/tests/base/bits/fenv.h
@@ -0,0 +1,29 @@
+/* DO NOT EDIT THIS FILE.
+
+ It has been auto-edited by fixincludes from:
+
+ "fixinc/tests/inc/bits/fenv.h"
+
+ This had to be done to correct non-standard usages in the
+ original, manufacturer supplied header file. */
+
+
+
+#if defined( FERAISEEXCEPT_NOSSE_INVALID_CHECK )
+# ifdef __SSE_MATH__
+ __asm__ __volatile__ ("divss %0, %0" : : "x" (__f));
+# else
+ __asm__ __volatile__ ("fdiv %%st, %%st(0); fwait"
+ : "=t" (__f) : "0" (__f));
+# endif
+#endif /* FERAISEEXCEPT_NOSSE_INVALID_CHECK */
+
+
+#if defined( FERAISEEXCEPT_NOSSE_DIVBYZERO_CHECK )
+# ifdef __SSE_MATH__
+ __asm__ __volatile__ ("divss %1, %0" : : "x" (__f), "x" (__g));
+# else
+ __asm__ __volatile__ ("fdivp %%st, %%st(1); fwait"
+ : "=t" (__f) : "0" (__f), "u" (__g) : "st(1)");
+# endif
+#endif /* FERAISEEXCEPT_NOSSE_DIVBYZERO_CHECK */