diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2016-12-19 11:00:45 -0200 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2016-12-19 16:04:16 -0200 |
commit | da16c9b524908fe0353efc4af8eab6a5ad5ea50b (patch) | |
tree | 880d9f65a8cc14dd76bca5d0a1e613f9a16f6db9 /benchtests | |
parent | 5d1f604a87214e133d0adf9dbd53891138b5276c (diff) | |
download | glibc-da16c9b524908fe0353efc4af8eab6a5ad5ea50b.zip glibc-da16c9b524908fe0353efc4af8eab6a5ad5ea50b.tar.gz glibc-da16c9b524908fe0353efc4af8eab6a5ad5ea50b.tar.bz2 |
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')
-rw-r--r-- | benchtests/Makefile | 5 | ||||
-rw-r--r-- | benchtests/fmaxf-inputs | 23 | ||||
-rw-r--r-- | benchtests/fminf-inputs | 23 |
3 files changed, 50 insertions, 1 deletions
diff --git a/benchtests/Makefile b/benchtests/Makefile index 2aad3c2..f5d6dac 100644 --- a/benchtests/Makefile +++ b/benchtests/Makefile @@ -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 index 0000000..7eb7bda --- /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 ("") diff --git a/benchtests/fminf-inputs b/benchtests/fminf-inputs new file mode 100644 index 0000000..7eb7bda --- /dev/null +++ b/benchtests/fminf-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 ("") |