about summary refs log tree commit diff
path: root/benchtests/fmaxf-inputs
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2016-12-19 11:00:45 -0200
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2016-12-19 16:04:16 -0200
commitda16c9b524908fe0353efc4af8eab6a5ad5ea50b (patch)
tree880d9f65a8cc14dd76bca5d0a1e613f9a16f6db9 /benchtests/fmaxf-inputs
parent5d1f604a87214e133d0adf9dbd53891138b5276c (diff)
downloadglibc-da16c9b524908fe0353efc4af8eab6a5ad5ea50b.tar.gz
glibc-da16c9b524908fe0353efc4af8eab6a5ad5ea50b.tar.xz
glibc-da16c9b524908fe0353efc4af8eab6a5ad5ea50b.zip
benchtests: Add fmaxf/fminf benchmarks
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.
Diffstat (limited to 'benchtests/fmaxf-inputs')
-rw-r--r--benchtests/fmaxf-inputs23
1 files changed, 23 insertions, 0 deletions
diff --git a/benchtests/fmaxf-inputs b/benchtests/fmaxf-inputs
new file mode 100644
index 0000000000..7eb7bda5e4
--- /dev/null
+++ b/benchtests/fmaxf-inputs
@@ -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 ("")