]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
benchtests: Add fmaxf/fminf benchmarks
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Mon, 19 Dec 2016 13:00:45 +0000 (11:00 -0200)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Mon, 19 Dec 2016 18:04:16 +0000 (16:04 -0200)
This patch adds fmaxf and fminf benchtests.  It is based on
math/s_fmax_template.c implementation which checks for basically four
different classes:

  1. if x is greater or equal than y.
  2. if x is less than y.
  3. if x or y is signaling.
  4. if y is nan.

Cases 1 and 2 are used for default input number (by mixing normal double
numbers and infinity), while case 3 and 4 are used each for on for a
benchmark class.

Checked on x86_64-linux-gnu and powerpc64-linux-gnu.

* benchtests/Makefile (bench-math): Add fminf and fmaxf.
(CFLAGS-bench-fmaxf.c): New rule.
(CFLAGS-bench-fminf.c): Likewise.
        * benchtests/fmaxf-inputs: New file.
        * benchtests/fminf-inputs: Likewise.

ChangeLog
benchtests/Makefile
benchtests/fmaxf-inputs [new file with mode: 0644]
benchtests/fminf-inputs [new file with mode: 0644]

index 819c09b1640327617e4f9cc94e6a3e7e798a3e2b..c2bb608c0bf67f34e58e3bfcc3cd036dd532d468 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2016-12-19  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
 
+       * benchtests/Makefile (bench-math): Add fminf and fmaxf.
+       (CFLAGS-bench-fmaxf.c): New rule.
+       (CFLAGS-bench-fminf.c): Likewise.
+       * benchtests/fmaxf-inputs: New file.
+       * benchtests/fminf-inputs: Likewise.
+
        * benchtests/Makefile (bench-math): Add fmin and fmax.
        (CFLAGS-bench-fmax.c): New rule.
        (CFLAGS-bench-fmin.c): Likewise.
index 2aad3c2703903bea727f900771db2e561734a562..f5d6dac6c79ccbdfa1bb9e4b73bf62a474c95bc1 100644 (file)
@@ -24,7 +24,8 @@ subdir := benchtests
 
 include ../Makeconfig
 bench-math := acos acosh asin asinh atan atanh cos cosh exp exp2 log log2 \
-             modf pow rint sin sincos sinh sqrt tan tanh fmin fmax
+             modf pow rint sin sincos sinh sqrt tan tanh fmin fmax fminf \
+             fmaxf
 
 bench-pthread := pthread_once
 
@@ -74,7 +75,9 @@ CFLAGS-bench-ffs.c += -fno-builtin
 CFLAGS-bench-ffsll.c += -fno-builtin
 CFLAGS-bench-sqrt.c += -fno-builtin
 CFLAGS-bench-fmin.c += -fno-builtin
+CFLAGS-bench-fminf.c += -fno-builtin
 CFLAGS-bench-fmax.c += -fno-builtin
+CFLAGS-bench-fmaxf.c += -fno-builtin
 
 bench-malloc := malloc-thread
 
diff --git a/benchtests/fmaxf-inputs b/benchtests/fmaxf-inputs
new file mode 100644 (file)
index 0000000..7eb7bda
--- /dev/null
@@ -0,0 +1,23 @@
+## includes: math.h
+## args: float:float
+## ret: float
+78.5f, -78.5f
+-78.5f, 78.5f
+0.0f,   78.5f
+78.5f,  0.0f
+0.0f,   -78.5f
+-78.5, 0.0f
+__builtin_inff (), 78.5f
+__builtin_inff (), -78.5f
+78.5f, __builtin_inff ()
+-78.5f, __builtin_inff ()
+## name: qNaN
+__builtin_nanf (""), 78.5f
+__builtin_nanf (""), -78.5f
+78.5f, __builtin_nanf ("")
+-78.5f, __builtin_nanf ("")
+## name: sNaN
+__builtin_nansf (""), 78.5f
+__builtin_nansf (""), -78.5f
+78.5f, __builtin_nansf ("")
+-78.5f, __builtin_nansf ("")
diff --git a/benchtests/fminf-inputs b/benchtests/fminf-inputs
new file mode 100644 (file)
index 0000000..7eb7bda
--- /dev/null
@@ -0,0 +1,23 @@
+## includes: math.h
+## args: float:float
+## ret: float
+78.5f, -78.5f
+-78.5f, 78.5f
+0.0f,   78.5f
+78.5f,  0.0f
+0.0f,   -78.5f
+-78.5, 0.0f
+__builtin_inff (), 78.5f
+__builtin_inff (), -78.5f
+78.5f, __builtin_inff ()
+-78.5f, __builtin_inff ()
+## name: qNaN
+__builtin_nanf (""), 78.5f
+__builtin_nanf (""), -78.5f
+78.5f, __builtin_nanf ("")
+-78.5f, __builtin_nanf ("")
+## name: sNaN
+__builtin_nansf (""), 78.5f
+__builtin_nansf (""), -78.5f
+78.5f, __builtin_nansf ("")
+-78.5f, __builtin_nansf ("")