]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
s390: BFP testsuite: comparison ops
authorFlorian Krohm <flo2030@eich-krohm.de>
Mon, 22 Sep 2025 20:36:45 +0000 (20:36 +0000)
committerFlorian Krohm <flo2030@eich-krohm.de>
Mon, 22 Sep 2025 20:36:45 +0000 (20:36 +0000)
Rename bfp-4.c -->  bfp-compare.c.
Add more testcases including NANs.

Part of fixing https://bugs.kde.org/show_bug.cgi?id=509572

.gitignore
none/tests/s390x/Makefile.am
none/tests/s390x/bfp-4.stdout.exp [deleted file]
none/tests/s390x/bfp-4.vgtest [deleted file]
none/tests/s390x/bfp-compare.c [moved from none/tests/s390x/bfp-4.c with 72% similarity]
none/tests/s390x/bfp-compare.stderr.exp [moved from none/tests/s390x/bfp-4.stderr.exp with 100% similarity]
none/tests/s390x/bfp-compare.stdout.exp [new file with mode: 0644]
none/tests/s390x/bfp-compare.vgtest [new file with mode: 0644]

index fb3c9cc43bd0fc724c1a157f8330f25da9cf2ce5..efdfea78aad18f543eac864d5bdfb400ffe49ee5 100644 (file)
 /none/tests/s390x/bfp-arith
 /none/tests/s390x/bfp-2
 /none/tests/s390x/bfp-3
-/none/tests/s390x/bfp-4
+/none/tests/s390x/bfp-compare
 /none/tests/s390x/srnm
 /none/tests/s390x/srnmb
 /none/tests/s390x/comp-1
index 234ed656ea06b539d20f7952b27226f76e5880ad..89bba9ec8aecc9b3b3bed846beab640bb84de82a 100644 (file)
@@ -10,7 +10,7 @@ INSN_TESTS = clc clcle cvb cvd icm lpr lam_stam xc mvst add sub mul \
              cs csg cds cdsg cu21 cu21_1 cu24 cu24_1 cu42 cu12 cu12_1 \
              ex_sig ex_clone cu14 cu14_1 cu41 fpconv ecag fpext_warn \
              bfp-tdc rounding-1 rounding-2 rounding-3 bfp-arith \
-             bfp-2 bfp-3 bfp-4 srnm srnmb comp-1 comp-2 exrl tmll tm stmg \
+             bfp-2 bfp-3 bfp-compare srnm srnmb comp-1 comp-2 exrl tmll tm stmg \
             ex clst mvc test_fork test_sig rounding-6 rxsbg popcnt \
             high-word traps \
             spechelper-alr spechelper-algr \
diff --git a/none/tests/s390x/bfp-4.stdout.exp b/none/tests/s390x/bfp-4.stdout.exp
deleted file mode 100644 (file)
index bc81ea6..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-cebr: 3.14 == 3.14
-ceb:  3.14 == 3.14
-kebr: 3.14 == 3.14
-keb:  3.14 == 3.14
-cdbr: 3.14 == 3.14
-cdb:  3.14 == 3.14
-kdbr: 3.14 == 3.14
-kdb:  3.14 == 3.14
-cxbr: 3.14 == 3.14
-kxbr: 3.14 == 3.14
-cebr: -2.78 < 2.78
-ceb:  -2.78 < 2.78
-kebr: -2.78 < 2.78
-keb:  -2.78 < 2.78
-cdbr: -2.78 < 2.78
-cdb:  -2.78 < 2.78
-kdbr: -2.78 < 2.78
-kdb:  -2.78 < 2.78
-cxbr: -2.78 < 2.78
-kxbr: -2.78 < 2.78
-cebr: inf == inf
-ceb:  inf == inf
-kebr: inf == inf
-keb:  inf == inf
-cdbr: inf == inf
-cdb:  inf == inf
-kdbr: inf == inf
-kdb:  inf == inf
-cxbr: inf == inf
-kxbr: inf == inf
-cebr: inf > -inf
-ceb:  inf > -inf
-kebr: inf > -inf
-keb:  inf > -inf
-cdbr: inf > -inf
-cdb:  inf > -inf
-kdbr: inf > -inf
-kdb:  inf > -inf
-cxbr: inf > -inf
-kxbr: inf > -inf
-cebr: -inf == -inf
-ceb:  -inf == -inf
-kebr: -inf == -inf
-keb:  -inf == -inf
-cdbr: -inf == -inf
-cdb:  -inf == -inf
-kdbr: -inf == -inf
-kdb:  -inf == -inf
-cxbr: -inf == -inf
-kxbr: -inf == -inf
-cebr: inf > 1
-ceb:  inf > 1
-kebr: inf > 1
-keb:  inf > 1
-cdbr: inf > 1
-cdb:  inf > 1
-kdbr: inf > 1
-kdb:  inf > 1
-cxbr: inf > 1
-kxbr: inf > 1
-cebr: -inf < -1
-ceb:  -inf < -1
-kebr: -inf < -1
-keb:  -inf < -1
-cdbr: -inf < -1
-cdb:  -inf < -1
-kdbr: -inf < -1
-kdb:  -inf < -1
-cxbr: -inf < -1
-kxbr: -inf < -1
-cebr: 0 == -0
-ceb:  0 == -0
-kebr: 0 == -0
-keb:  0 == -0
-cdbr: 0 == -0
-cdb:  0 == -0
-kdbr: 0 == -0
-kdb:  0 == -0
-cxbr: 0 == -0
-kxbr: 0 == -0
diff --git a/none/tests/s390x/bfp-4.vgtest b/none/tests/s390x/bfp-4.vgtest
deleted file mode 100644 (file)
index b800aa3..0000000
+++ /dev/null
@@ -1 +0,0 @@
-prog: bfp-4
similarity index 72%
rename from none/tests/s390x/bfp-4.c
rename to none/tests/s390x/bfp-compare.c
index 02315b6f9ddbbe5ad572b011763a44093202a19e..35d5018b6972f7163b53a77ab849f3be1e160ee6 100644 (file)
@@ -1,4 +1,8 @@
+// FIXME rename bfp-compare.c
+
 #include <stdio.h>
+#include <math.h>
+#include <assert.h>
 
 static const char *const cmp_result_str[] = {
    "==", "<", ">", "??"
@@ -86,16 +90,31 @@ static void do_compare(float a, float b)
 
 int main(void)
 {
-   float inf = 1.f / 0.;
-   float neg_inf = -1.f / 0.;
+   assert(sizeof(long double) == 16);
 
    do_compare(3.14f, 3.14f);
    do_compare(-2.78f, 2.78f);
-   do_compare(inf, inf);
-   do_compare(inf, neg_inf);
-   do_compare(neg_inf, neg_inf);
-   do_compare(inf, 1.f);
-   do_compare(neg_inf, -1.f);
-   do_compare(1.f / inf, -1.f / inf);
+   do_compare( INFINITY,  INFINITY);
+   do_compare( INFINITY, -INFINITY);
+   do_compare(-INFINITY, -INFINITY);
+   do_compare(-INFINITY,  INFINITY);
+   do_compare( INFINITY,  1.f);
+   do_compare(-INFINITY, -1.f);
+   do_compare( 1.f,  INFINITY);
+   do_compare(-1.f, -INFINITY);
+
+   do_compare( NAN,  NAN);
+   do_compare( NAN, -NAN);
+   do_compare(-NAN,  NAN);
+   do_compare(-NAN, -NAN);
+   do_compare( NAN,  INFINITY);
+   do_compare( NAN, -INFINITY);
+   do_compare(-NAN,  INFINITY);
+   do_compare(-NAN, -INFINITY);
+   do_compare( NAN,  1.5);
+   do_compare(-NAN, -1.5);
+   do_compare( 1.5,  NAN);
+   do_compare(-1.5, -NAN);
+   do_compare(1.f / INFINITY, -1.f / INFINITY);
    return 0;
 }
diff --git a/none/tests/s390x/bfp-compare.stdout.exp b/none/tests/s390x/bfp-compare.stdout.exp
new file mode 100644 (file)
index 0000000..b81f3f6
--- /dev/null
@@ -0,0 +1,230 @@
+cebr: 3.14 == 3.14
+ceb:  3.14 == 3.14
+kebr: 3.14 == 3.14
+keb:  3.14 == 3.14
+cdbr: 3.14 == 3.14
+cdb:  3.14 == 3.14
+kdbr: 3.14 == 3.14
+kdb:  3.14 == 3.14
+cxbr: 3.14 == 3.14
+kxbr: 3.14 == 3.14
+cebr: -2.78 < 2.78
+ceb:  -2.78 < 2.78
+kebr: -2.78 < 2.78
+keb:  -2.78 < 2.78
+cdbr: -2.78 < 2.78
+cdb:  -2.78 < 2.78
+kdbr: -2.78 < 2.78
+kdb:  -2.78 < 2.78
+cxbr: -2.78 < 2.78
+kxbr: -2.78 < 2.78
+cebr: inf == inf
+ceb:  inf == inf
+kebr: inf == inf
+keb:  inf == inf
+cdbr: inf == inf
+cdb:  inf == inf
+kdbr: inf == inf
+kdb:  inf == inf
+cxbr: inf == inf
+kxbr: inf == inf
+cebr: inf > -inf
+ceb:  inf > -inf
+kebr: inf > -inf
+keb:  inf > -inf
+cdbr: inf > -inf
+cdb:  inf > -inf
+kdbr: inf > -inf
+kdb:  inf > -inf
+cxbr: inf > -inf
+kxbr: inf > -inf
+cebr: -inf == -inf
+ceb:  -inf == -inf
+kebr: -inf == -inf
+keb:  -inf == -inf
+cdbr: -inf == -inf
+cdb:  -inf == -inf
+kdbr: -inf == -inf
+kdb:  -inf == -inf
+cxbr: -inf == -inf
+kxbr: -inf == -inf
+cebr: -inf < inf
+ceb:  -inf < inf
+kebr: -inf < inf
+keb:  -inf < inf
+cdbr: -inf < inf
+cdb:  -inf < inf
+kdbr: -inf < inf
+kdb:  -inf < inf
+cxbr: -inf < inf
+kxbr: -inf < inf
+cebr: inf > 1
+ceb:  inf > 1
+kebr: inf > 1
+keb:  inf > 1
+cdbr: inf > 1
+cdb:  inf > 1
+kdbr: inf > 1
+kdb:  inf > 1
+cxbr: inf > 1
+kxbr: inf > 1
+cebr: -inf < -1
+ceb:  -inf < -1
+kebr: -inf < -1
+keb:  -inf < -1
+cdbr: -inf < -1
+cdb:  -inf < -1
+kdbr: -inf < -1
+kdb:  -inf < -1
+cxbr: -inf < -1
+kxbr: -inf < -1
+cebr: 1 < inf
+ceb:  1 < inf
+kebr: 1 < inf
+keb:  1 < inf
+cdbr: 1 < inf
+cdb:  1 < inf
+kdbr: 1 < inf
+kdb:  1 < inf
+cxbr: 1 < inf
+kxbr: 1 < inf
+cebr: -1 > -inf
+ceb:  -1 > -inf
+kebr: -1 > -inf
+keb:  -1 > -inf
+cdbr: -1 > -inf
+cdb:  -1 > -inf
+kdbr: -1 > -inf
+kdb:  -1 > -inf
+cxbr: -1 > -inf
+kxbr: -1 > -inf
+cebr: nan ?? nan
+ceb:  nan ?? nan
+kebr: nan ?? nan
+keb:  nan ?? nan
+cdbr: nan ?? nan
+cdb:  nan ?? nan
+kdbr: nan ?? nan
+kdb:  nan ?? nan
+cxbr: nan ?? nan
+kxbr: nan ?? nan
+cebr: nan ?? -nan
+ceb:  nan ?? -nan
+kebr: nan ?? -nan
+keb:  nan ?? -nan
+cdbr: nan ?? -nan
+cdb:  nan ?? -nan
+kdbr: nan ?? -nan
+kdb:  nan ?? -nan
+cxbr: nan ?? -nan
+kxbr: nan ?? -nan
+cebr: -nan ?? nan
+ceb:  -nan ?? nan
+kebr: -nan ?? nan
+keb:  -nan ?? nan
+cdbr: -nan ?? nan
+cdb:  -nan ?? nan
+kdbr: -nan ?? nan
+kdb:  -nan ?? nan
+cxbr: -nan ?? nan
+kxbr: -nan ?? nan
+cebr: -nan ?? -nan
+ceb:  -nan ?? -nan
+kebr: -nan ?? -nan
+keb:  -nan ?? -nan
+cdbr: -nan ?? -nan
+cdb:  -nan ?? -nan
+kdbr: -nan ?? -nan
+kdb:  -nan ?? -nan
+cxbr: -nan ?? -nan
+kxbr: -nan ?? -nan
+cebr: nan ?? inf
+ceb:  nan ?? inf
+kebr: nan ?? inf
+keb:  nan ?? inf
+cdbr: nan ?? inf
+cdb:  nan ?? inf
+kdbr: nan ?? inf
+kdb:  nan ?? inf
+cxbr: nan ?? inf
+kxbr: nan ?? inf
+cebr: nan ?? -inf
+ceb:  nan ?? -inf
+kebr: nan ?? -inf
+keb:  nan ?? -inf
+cdbr: nan ?? -inf
+cdb:  nan ?? -inf
+kdbr: nan ?? -inf
+kdb:  nan ?? -inf
+cxbr: nan ?? -inf
+kxbr: nan ?? -inf
+cebr: -nan ?? inf
+ceb:  -nan ?? inf
+kebr: -nan ?? inf
+keb:  -nan ?? inf
+cdbr: -nan ?? inf
+cdb:  -nan ?? inf
+kdbr: -nan ?? inf
+kdb:  -nan ?? inf
+cxbr: -nan ?? inf
+kxbr: -nan ?? inf
+cebr: -nan ?? -inf
+ceb:  -nan ?? -inf
+kebr: -nan ?? -inf
+keb:  -nan ?? -inf
+cdbr: -nan ?? -inf
+cdb:  -nan ?? -inf
+kdbr: -nan ?? -inf
+kdb:  -nan ?? -inf
+cxbr: -nan ?? -inf
+kxbr: -nan ?? -inf
+cebr: nan ?? 1.5
+ceb:  nan ?? 1.5
+kebr: nan ?? 1.5
+keb:  nan ?? 1.5
+cdbr: nan ?? 1.5
+cdb:  nan ?? 1.5
+kdbr: nan ?? 1.5
+kdb:  nan ?? 1.5
+cxbr: nan ?? 1.5
+kxbr: nan ?? 1.5
+cebr: -nan ?? -1.5
+ceb:  -nan ?? -1.5
+kebr: -nan ?? -1.5
+keb:  -nan ?? -1.5
+cdbr: -nan ?? -1.5
+cdb:  -nan ?? -1.5
+kdbr: -nan ?? -1.5
+kdb:  -nan ?? -1.5
+cxbr: -nan ?? -1.5
+kxbr: -nan ?? -1.5
+cebr: 1.5 ?? nan
+ceb:  1.5 ?? nan
+kebr: 1.5 ?? nan
+keb:  1.5 ?? nan
+cdbr: 1.5 ?? nan
+cdb:  1.5 ?? nan
+kdbr: 1.5 ?? nan
+kdb:  1.5 ?? nan
+cxbr: 1.5 ?? nan
+kxbr: 1.5 ?? nan
+cebr: -1.5 ?? -nan
+ceb:  -1.5 ?? -nan
+kebr: -1.5 ?? -nan
+keb:  -1.5 ?? -nan
+cdbr: -1.5 ?? -nan
+cdb:  -1.5 ?? -nan
+kdbr: -1.5 ?? -nan
+kdb:  -1.5 ?? -nan
+cxbr: -1.5 ?? -nan
+kxbr: -1.5 ?? -nan
+cebr: 0 == -0
+ceb:  0 == -0
+kebr: 0 == -0
+keb:  0 == -0
+cdbr: 0 == -0
+cdb:  0 == -0
+kdbr: 0 == -0
+kdb:  0 == -0
+cxbr: 0 == -0
+kxbr: 0 == -0
diff --git a/none/tests/s390x/bfp-compare.vgtest b/none/tests/s390x/bfp-compare.vgtest
new file mode 100644 (file)
index 0000000..8bc9193
--- /dev/null
@@ -0,0 +1 @@
+prog: bfp-compare