Tests for x86 fldenv/fstenv; also fix error in frstor test.
git-svn-id: svn://svn.valgrind.org/vex/trunk@628 8f6e269a-dfd6-0310-a8e1-e2731360e62c
diff --git a/test/fldenv.c b/test/fldenv.c
new file mode 100644
index 0000000..4f37d61
--- /dev/null
+++ b/test/fldenv.c
@@ -0,0 +1,32 @@
+
+#include <stdio.h>
+#include <stdlib.h>
+
+void do_fstenv ( void* p )
+{
+ asm("movl 8(%esp), %eax ; fstenv (%eax)");
+}
+
+void do_fldenv ( void* p )
+{
+ asm("movl 8(%esp), %eax ; fldenv (%eax)");
+}
+
+int main ( void )
+{
+ int i;
+ unsigned short* buf = malloc(14*sizeof(short));
+ for (i = 0; i < 14; i++)
+ buf[i] = i;
+ buf[0] = 0x037f;
+
+ do_fldenv(buf);
+ do_fstenv(buf);
+ for (i = 0; i < 14; i++) {
+ printf("%04x ", buf[i]);
+ if (i > 0 && ((i % 12) == 11))
+ printf("\n");
+ }
+ printf("\n");
+ return 0;
+}