Message ID | 1482156263-22267-2-git-send-email-adhemerval.zanella@linaro.org |
---|---|
State | New |
Headers | show |
On Monday 19 December 2016 07:34 PM, Adhemerval Zanella wrote: > This patch adds fmax and fmin benchtests. It is based 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 fmin and fmax. > * benchtests/fmax-inputs: New file. > * benchtests/fmin-inputs: Likewise. Looks good to me. Siddhesh
I'd advise using -fno-builtin for these benchmarks to make sure they really do test the libm functions not compiler built-in functions (really, all benchmarks more generally should use -fno-builtin). -- Joseph S. Myers joseph@codesourcery.com
On 19/12/2016 14:24, Joseph Myers wrote: > I'd advise using -fno-builtin for these benchmarks to make sure they > really do test the libm functions not compiler built-in functions (really, > all benchmarks more generally should use -fno-builtin). > I will add -fno-builtin on f{max,min}{f} benchtests.
diff --git a/benchtests/Makefile b/benchtests/Makefile index ba4d068..a3b53e1 100644 --- a/benchtests/Makefile +++ b/benchtests/Makefile @@ -24,7 +24,7 @@ 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 + modf pow rint sin sincos sinh sqrt tan tanh fmin fmax bench-pthread := pthread_once diff --git a/benchtests/fmax-inputs b/benchtests/fmax-inputs new file mode 100644 index 0000000..18eb8fe --- /dev/null +++ b/benchtests/fmax-inputs @@ -0,0 +1,23 @@ +## includes: math.h +## args: double:double +## ret: double +78.5, -78.5 +-78.5, 78.5 +0, 78.5 +78.5, 0 +0, -78.5 +-78.5, 0 +__builtin_inf (), 78.5 +__builtin_inf (), -78.5 +78.5, __builtin_inf () +-78.5, __builtin_inf () +## name: qNaN +__builtin_nan (""), 78.5 +__builtin_nan (""), -78.5 +78.5, __builtin_nan ("") +-78.5, __builtin_nan ("") +## name: sNaN +__builtin_nans (""), 78.5 +__builtin_nans (""), -78.5 +78.5, __builtin_nans ("") +-78.5, __builtin_nans ("") diff --git a/benchtests/fmin-inputs b/benchtests/fmin-inputs new file mode 100644 index 0000000..18eb8fe --- /dev/null +++ b/benchtests/fmin-inputs @@ -0,0 +1,23 @@ +## includes: math.h +## args: double:double +## ret: double +78.5, -78.5 +-78.5, 78.5 +0, 78.5 +78.5, 0 +0, -78.5 +-78.5, 0 +__builtin_inf (), 78.5 +__builtin_inf (), -78.5 +78.5, __builtin_inf () +-78.5, __builtin_inf () +## name: qNaN +__builtin_nan (""), 78.5 +__builtin_nan (""), -78.5 +78.5, __builtin_nan ("") +-78.5, __builtin_nan ("") +## name: sNaN +__builtin_nans (""), 78.5 +__builtin_nans (""), -78.5 +78.5, __builtin_nans ("") +-78.5, __builtin_nans ("")