[PATCH] [AArch64] ILP32 math changes

Steve Ellcey sellcey@cavium.com
Tue Aug 29 21:16:00 GMT 2017


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?

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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: aarch64-ilp32-math.patch
Type: text/x-patch
Size: 4878 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20170829/17b3f1d4/attachment.bin>


More information about the Libc-alpha mailing list