Message ID | 9146983bcb2dc77fea7ab361f96005b1ce6dc698.camel@xry111.site |
---|---|
State | New |
Headers | show |
Series | LoongArch: Use __builtin_{fmax,fmaxf,fmin,fminf} with GCC >= 13 | expand |
Gentle ping :) On Sat, 2022-08-20 at 16:43 +0800, Xi Ruoyao wrote: > GCC 13 compiles these built-ins to {fmax,fmin}.{s/d} instruction, use > them instead of the generic implementation. > > Link: https://gcc.gnu.org/r13-2085 > Signed-off-by: Xi Ruoyao <xry111@xry111.site> > --- > sysdeps/loongarch/fpu/math-use-builtins-fmax.h | 10 ++++++++++ > sysdeps/loongarch/fpu/math-use-builtins-fmin.h | 10 ++++++++++ > 2 files changed, 20 insertions(+) > create mode 100644 sysdeps/loongarch/fpu/math-use-builtins-fmax.h > create mode 100644 sysdeps/loongarch/fpu/math-use-builtins-fmin.h > > diff --git a/sysdeps/loongarch/fpu/math-use-builtins-fmax.h > b/sysdeps/loongarch/fpu/math-use-builtins-fmax.h > new file mode 100644 > index 0000000000..5d22567bd3 > --- /dev/null > +++ b/sysdeps/loongarch/fpu/math-use-builtins-fmax.h > @@ -0,0 +1,10 @@ > +#if __GNUC_PREREQ (13, 0) > +# define USE_FMAX_BUILTIN 1 > +# define USE_FMAXF_BUILTIN 1 > +#else > +# define USE_FMAX_BUILTIN 0 > +# define USE_FMAXF_BUILTIN 0 > +#endif > + > +#define USE_FMAXL_BUILTIN 0 > +#define USE_FMAXF128_BUILTIN 0 > diff --git a/sysdeps/loongarch/fpu/math-use-builtins-fmin.h > b/sysdeps/loongarch/fpu/math-use-builtins-fmin.h > new file mode 100644 > index 0000000000..4d28b41c0d > --- /dev/null > +++ b/sysdeps/loongarch/fpu/math-use-builtins-fmin.h > @@ -0,0 +1,10 @@ > +#if __GNUC_PREREQ (13, 0) > +# define USE_FMIN_BUILTIN 1 > +# define USE_FMINF_BUILTIN 1 > +#else > +# define USE_FMIN_BUILTIN 0 > +# define USE_FMINF_BUILTIN 0 > +#endif > + > +#define USE_FMINL_BUILTIN 0 > +#define USE_FMINF128_BUILTIN 0
On 20/08/22 05:43, Xi Ruoyao wrote: > GCC 13 compiles these built-ins to {fmax,fmin}.{s/d} instruction, use > them instead of the generic implementation. > > Link: https://gcc.gnu.org/r13-2085 > Signed-off-by: Xi Ruoyao <xry111@xry111.site> LGTM, thanks. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org> > --- > sysdeps/loongarch/fpu/math-use-builtins-fmax.h | 10 ++++++++++ > sysdeps/loongarch/fpu/math-use-builtins-fmin.h | 10 ++++++++++ > 2 files changed, 20 insertions(+) > create mode 100644 sysdeps/loongarch/fpu/math-use-builtins-fmax.h > create mode 100644 sysdeps/loongarch/fpu/math-use-builtins-fmin.h > > diff --git a/sysdeps/loongarch/fpu/math-use-builtins-fmax.h b/sysdeps/loongarch/fpu/math-use-builtins-fmax.h > new file mode 100644 > index 0000000000..5d22567bd3 > --- /dev/null > +++ b/sysdeps/loongarch/fpu/math-use-builtins-fmax.h > @@ -0,0 +1,10 @@ > +#if __GNUC_PREREQ (13, 0) > +# define USE_FMAX_BUILTIN 1 > +# define USE_FMAXF_BUILTIN 1 > +#else > +# define USE_FMAX_BUILTIN 0 > +# define USE_FMAXF_BUILTIN 0 > +#endif > + > +#define USE_FMAXL_BUILTIN 0 > +#define USE_FMAXF128_BUILTIN 0 > diff --git a/sysdeps/loongarch/fpu/math-use-builtins-fmin.h b/sysdeps/loongarch/fpu/math-use-builtins-fmin.h > new file mode 100644 > index 0000000000..4d28b41c0d > --- /dev/null > +++ b/sysdeps/loongarch/fpu/math-use-builtins-fmin.h > @@ -0,0 +1,10 @@ > +#if __GNUC_PREREQ (13, 0) > +# define USE_FMIN_BUILTIN 1 > +# define USE_FMINF_BUILTIN 1 > +#else > +# define USE_FMIN_BUILTIN 0 > +# define USE_FMINF_BUILTIN 0 > +#endif > + > +#define USE_FMINL_BUILTIN 0 > +#define USE_FMINF128_BUILTIN 0
On Mon, 2022-08-29 at 09:44 -0300, Adhemerval Zanella Netto wrote: > > > On 20/08/22 05:43, Xi Ruoyao wrote: > > GCC 13 compiles these built-ins to {fmax,fmin}.{s/d} instruction, use > > them instead of the generic implementation. > > > > Link: https://gcc.gnu.org/r13-2085 > > Signed-off-by: Xi Ruoyao <xry111@xry111.site> > > LGTM, thanks. > > Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org> Thanks, I don't have a write access to glibc.git and need others' help to push the patch :).
I have tested it and pushed. 在 2022/8/30 下午1:31, Xi Ruoyao 写道: > On Mon, 2022-08-29 at 09:44 -0300, Adhemerval Zanella Netto wrote: >> >> On 20/08/22 05:43, Xi Ruoyao wrote: >>> GCC 13 compiles these built-ins to {fmax,fmin}.{s/d} instruction, use >>> them instead of the generic implementation. >>> >>> Link: https://gcc.gnu.org/r13-2085 >>> Signed-off-by: Xi Ruoyao <xry111@xry111.site> >> LGTM, thanks. >> >> Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org> > Thanks, I don't have a write access to glibc.git and need others' help > to push the patch :). >
diff --git a/sysdeps/loongarch/fpu/math-use-builtins-fmax.h b/sysdeps/loongarch/fpu/math-use-builtins-fmax.h new file mode 100644 index 0000000000..5d22567bd3 --- /dev/null +++ b/sysdeps/loongarch/fpu/math-use-builtins-fmax.h @@ -0,0 +1,10 @@ +#if __GNUC_PREREQ (13, 0) +# define USE_FMAX_BUILTIN 1 +# define USE_FMAXF_BUILTIN 1 +#else +# define USE_FMAX_BUILTIN 0 +# define USE_FMAXF_BUILTIN 0 +#endif + +#define USE_FMAXL_BUILTIN 0 +#define USE_FMAXF128_BUILTIN 0 diff --git a/sysdeps/loongarch/fpu/math-use-builtins-fmin.h b/sysdeps/loongarch/fpu/math-use-builtins-fmin.h new file mode 100644 index 0000000000..4d28b41c0d --- /dev/null +++ b/sysdeps/loongarch/fpu/math-use-builtins-fmin.h @@ -0,0 +1,10 @@ +#if __GNUC_PREREQ (13, 0) +# define USE_FMIN_BUILTIN 1 +# define USE_FMINF_BUILTIN 1 +#else +# define USE_FMIN_BUILTIN 0 +# define USE_FMINF_BUILTIN 0 +#endif + +#define USE_FMINL_BUILTIN 0 +#define USE_FMINF128_BUILTIN 0
GCC 13 compiles these built-ins to {fmax,fmin}.{s/d} instruction, use them instead of the generic implementation. Link: https://gcc.gnu.org/r13-2085 Signed-off-by: Xi Ruoyao <xry111@xry111.site> --- sysdeps/loongarch/fpu/math-use-builtins-fmax.h | 10 ++++++++++ sysdeps/loongarch/fpu/math-use-builtins-fmin.h | 10 ++++++++++ 2 files changed, 20 insertions(+) create mode 100644 sysdeps/loongarch/fpu/math-use-builtins-fmax.h create mode 100644 sysdeps/loongarch/fpu/math-use-builtins-fmin.h