]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
A test for fcmovnu.
authorJulian Seward <jseward@acm.org>
Mon, 6 Mar 2006 19:50:06 +0000 (19:50 +0000)
committerJulian Seward <jseward@acm.org>
Mon, 6 Mar 2006 19:50:06 +0000 (19:50 +0000)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5715

none/tests/x86/Makefile.am
none/tests/x86/fcmovnu.c [new file with mode: 0644]
none/tests/x86/fcmovnu.stderr.exp [new file with mode: 0644]
none/tests/x86/fcmovnu.stdout.exp [new file with mode: 0644]
none/tests/x86/fcmovnu.vgtest [new file with mode: 0644]

index 022dda35a2a46d5b5d9e8001141ce2ad1ac3880f..5847cdadf7bcbb4e6668ec31ff6488c6dbcb3a43 100644 (file)
@@ -10,6 +10,7 @@ EXTRA_DIST = $(noinst_SCRIPTS) \
        cpuid.stderr.exp cpuid.stdout.exp cpuid.vgtest \
        cmpxchg8b.stderr.exp cmpxchg8b.stdout.exp cmpxchg8b.vgtest \
        faultstatus.vgtest faultstatus.stderr.exp \
+       fcmovnu.vgtest fcmovnu.stderr.exp fcmovnu.stdout.exp \
        fpu_lazy_eflags.stderr.exp fpu_lazy_eflags.stdout.exp \
        fpu_lazy_eflags.vgtest \
        fxtract.stdout.exp fxtract.stderr.exp fxtract.vgtest \
@@ -30,7 +31,7 @@ EXTRA_DIST = $(noinst_SCRIPTS) \
 
 check_PROGRAMS = \
        badseg bt_everything bt_literal cmpxchg8b cpuid \
-       faultstatus fpu_lazy_eflags fxtract \
+       faultstatus fcmovnu fpu_lazy_eflags fxtract \
        getseg incdec_alt $(INSN_TESTS) \
        lahf looper int pushpopseg sbbmisc \
        seg_override sigcontext smc1 yield
diff --git a/none/tests/x86/fcmovnu.c b/none/tests/x86/fcmovnu.c
new file mode 100644 (file)
index 0000000..6c91e09
--- /dev/null
@@ -0,0 +1,24 @@
+
+#include <stdio.h>
+
+double zzz;
+
+int main ( void )
+{
+  zzz = 1.234;
+  printf("zzz = %f\n", zzz);
+  __asm__ __volatile__(
+    "finit\n\t"
+    "fldpi\n\t"
+    "fldl2e\n\t"
+    "pushl %esi\n\t"
+    "movl $0,%esi\n\t"
+    "add %esi,%esi\n\t"
+    "fcmovnu %st(1), %st(0)\n\t"
+    "fstl zzz\n\t"
+    "finit\n\t"
+    "popl %esi\n\t"
+    );
+  printf("zzz = %f\n", zzz);
+  return 0;
+}
diff --git a/none/tests/x86/fcmovnu.stderr.exp b/none/tests/x86/fcmovnu.stderr.exp
new file mode 100644 (file)
index 0000000..139597f
--- /dev/null
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/x86/fcmovnu.stdout.exp b/none/tests/x86/fcmovnu.stdout.exp
new file mode 100644 (file)
index 0000000..38f06b7
--- /dev/null
@@ -0,0 +1,2 @@
+zzz = 1.234000
+zzz = 1.442695
diff --git a/none/tests/x86/fcmovnu.vgtest b/none/tests/x86/fcmovnu.vgtest
new file mode 100644 (file)
index 0000000..14ac1fd
--- /dev/null
@@ -0,0 +1 @@
+prog: fcmovnu