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;
+}