mips64: run FPU tests only when FPU is available

Check whether the target platform is meant to have an FPU before executing
tests that make use of a floating-point unit.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14571 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/none/tests/mips64/fpu_arithmetic.vgtest b/none/tests/mips64/fpu_arithmetic.vgtest
index 0f15783..7efa555 100644
--- a/none/tests/mips64/fpu_arithmetic.vgtest
+++ b/none/tests/mips64/fpu_arithmetic.vgtest
@@ -1,2 +1,3 @@
 prog: fpu_arithmetic
+prereq: ../../../tests/mips_features fpu
 vgopts: -q
diff --git a/none/tests/mips64/fpu_branches.vgtest b/none/tests/mips64/fpu_branches.vgtest
index 2066512..1854b59 100644
--- a/none/tests/mips64/fpu_branches.vgtest
+++ b/none/tests/mips64/fpu_branches.vgtest
@@ -1,2 +1,3 @@
 prog: fpu_branches
+prereq: ../../../tests/mips_features fpu
 vgopts: -q
diff --git a/none/tests/mips64/fpu_control_word.vgtest b/none/tests/mips64/fpu_control_word.vgtest
index 060906c..619256e 100644
--- a/none/tests/mips64/fpu_control_word.vgtest
+++ b/none/tests/mips64/fpu_control_word.vgtest
@@ -1,2 +1,3 @@
 prog: fpu_control_word
+prereq: ../../../tests/mips_features fpu
 vgopts: -q
diff --git a/none/tests/mips64/fpu_load_store.vgtest b/none/tests/mips64/fpu_load_store.vgtest
index e817184..d6d3f7d 100644
--- a/none/tests/mips64/fpu_load_store.vgtest
+++ b/none/tests/mips64/fpu_load_store.vgtest
@@ -1,2 +1,3 @@
 prog: fpu_load_store
+prereq: ../../../tests/mips_features fpu
 vgopts: -q
diff --git a/none/tests/mips64/load_store_unaligned.vgtest b/none/tests/mips64/load_store_unaligned.vgtest
index e5e836c..f25ccc9 100644
--- a/none/tests/mips64/load_store_unaligned.vgtest
+++ b/none/tests/mips64/load_store_unaligned.vgtest
@@ -1,2 +1,3 @@
 prog: load_store_unaligned
+prereq: ../../../tests/mips_features fpu
 vgopts: -q
diff --git a/none/tests/mips64/move_instructions.vgtest b/none/tests/mips64/move_instructions.vgtest
index c6cc57b..19d020e 100644
--- a/none/tests/mips64/move_instructions.vgtest
+++ b/none/tests/mips64/move_instructions.vgtest
@@ -1,2 +1,3 @@
 prog: move_instructions
+prereq: ../../../tests/mips_features fpu
 vgopts: -q
diff --git a/none/tests/mips64/round.vgtest b/none/tests/mips64/round.vgtest
index d5eb00e..a0374b4 100644
--- a/none/tests/mips64/round.vgtest
+++ b/none/tests/mips64/round.vgtest
@@ -1,2 +1,3 @@
 prog: round
+prereq: ../../../tests/mips_features fpu
 vgopts: -q
diff --git a/none/tests/mips64/test_fcsr.vgtest b/none/tests/mips64/test_fcsr.vgtest
index c864d25..69dba5b 100644
--- a/none/tests/mips64/test_fcsr.vgtest
+++ b/none/tests/mips64/test_fcsr.vgtest
@@ -1,2 +1,3 @@
 prog: test_fcsr
+prereq: ../../../tests/mips_features fpu
 vgopts: -q
diff --git a/tests/mips_features.c b/tests/mips_features.c
index d0e01e5..5edb120 100644
--- a/tests/mips_features.c
+++ b/tests/mips_features.c
@@ -47,7 +47,7 @@
 static int go(char *feature)
 {
    int cpuinfo;
-   if (strcmp(feature, "hard-float") == 0) {
+   if (strcmp(feature, "fpu") == 0) {
 #if defined(__mips_hard_float)
       /* This is not a runtime detection.
          If mips_features is built as hard-float, the assumption is that