This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] [AArch64] ILP32 math changes
- From: Szabolcs Nagy <szabolcs dot nagy at arm dot com>
- To: sellcey at cavium dot com, libc-alpha <libc-alpha at sourceware dot org>
- Cc: nd at arm dot com, rth at twiddle dot net, Joseph Myers <joseph at codesourcery dot com>, Wilco Dijkstra <Wilco dot Dijkstra at arm dot com>
- Date: Thu, 31 Aug 2017 17:22:42 +0100
- Subject: Re: [PATCH] [AArch64] ILP32 math changes
- Authentication-results: sourceware.org; auth=none
- Authentication-results: spf=none (sender IP is ) smtp.mailfrom=Szabolcs dot Nagy at arm dot com;
- Nodisclaimer: True
- References: <1504041387.5204.20.camel@cavium.com>
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:99
On 29/08/17 22:16, Steve Ellcey wrote:
> Since Szabolcs has expressed interest in getting some aarch64 ILP32
> changes into glibc mainline (if they don't affect the kernel or glibc
> ABI) I am resubmitting this patch for approval in advance of the main
> ILP32 support patches. I updated it with Richard Henderson's code (but
> only doing it when the incoming argument is large). I tested it on
> aarch64 ILP32 and LP64 with no regressions.
>
> Is this something that can be checked in now withnout waiting for the
> kernel ILP32 support?
>
OK.
(we plan to change the math functions to use gcc builtins
in some places instead of asm which will simplify things,
but that can go in later on top of this.)
> Steve Ellcey
> sellcey@cavium.com
>
>
> 2017-08-29 Steve Ellcey <sellcey@cavium.com>
> Richard Henderson <rth@twiddle.net>
>
> * sysdeps/aarch64/fpu/s_llrint.c (OREG_SIZE): New macro.
> * sysdeps/aarch64/fpu/s_llround.c (OREG_SIZE): Likewise.
> * sysdeps/aarch64/fpu/s_llrintf.c (OREGS, IREGS): Remove.
> (IREG_SIZE, OREG_SIZE): New macros.
> * sysdeps/aarch64/fpu/s_llroundf.c: (OREGS, IREGS): Remove.
> (IREG_SIZE, OREG_SIZE): New macros.
> * sysdeps/aarch64/fpu/s_lrintf.c (IREGS): Remove.
> (IREG_SIZE): New macro.
> * sysdeps/aarch64/fpu/s_lroundf.c (IREGS): Remove.
> (IREG_SIZE): New macro.
> * sysdeps/aarch64/fpu/s_lrint.c (get-rounding-mode.h, stdint.h):
> New includes.
> (IREG_SIZE, OREG_SIZE): Initialize if not already set.
> (OREGS, IREGS): Set based on IREG_SIZE and OREG_SIZE.
> (__CONCATX): Handle exceptions correctly on large values that may
> set FE_INVALID.
> * sysdeps/aarch64/fpu/s_lround.c (IREG_SIZE, OREG_SIZE):
> Initialize if not already set.
> (OREGS, IREGS): Set based on IREG_SIZE and OREG_SIZE.
>