This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 3/8] Move i486/htonl.S to htonl.S


Do we really need this assembly routines? GCC 4.8 on my environment generates for the
default inet/htonl.c:

$ gcc -m32 -Wall -march=i486 htonl.c -O2 -S -o -
	.file	"htonl.c"
	.text
	.p2align 4,,15
	.globl	htonl
	.type	htonl, @function
htonl:
.LFB8:
	.cfi_startproc
	movl	4(%esp), %eax
	bswap	%eax
	ret
	.cfi_endproc
.LFE8:
	.size	htonl, .-htonl
	.ident	"GCC: (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4"
	.section	.note.GNU-stack,"",@progbits


On 26-08-2015 14:36, H.J. Lu wrote:
> Since glibc doesn't support i386 any more, we can move i486/htonl.S to
> htonl.S.
> 
> OK for master?
> 
> H.J.
> --
> 	* sysdeps/i386/i486/htonl.S: Moved ...
> 	* sysdeps/i386/htonl.S: here.
> ---
>  sysdeps/i386/htonl.S      |  6 ++----
>  sysdeps/i386/i486/htonl.S | 34 ----------------------------------
>  2 files changed, 2 insertions(+), 38 deletions(-)
>  delete mode 100644 sysdeps/i386/i486/htonl.S
> 
> diff --git a/sysdeps/i386/htonl.S b/sysdeps/i386/htonl.S
> index 698e976..d39bca5 100644
> --- a/sysdeps/i386/htonl.S
> +++ b/sysdeps/i386/htonl.S
> @@ -1,4 +1,4 @@
> -/* Change byte order in word.  For Intel 80386.
> +/* Change byte order in word.  For Intel 80x86, x >= 4.
>     Copyright (C) 1997-2015 Free Software Foundation, Inc.
>     This file is part of the GNU C Library.
>  
> @@ -27,9 +27,7 @@
>  	.text
>  ENTRY (htonl)
>  	movl	4(%esp), %eax
> -	rorw	$8, %ax
> -	rorl	$16, %eax
> -	rorw	$8, %ax
> +	bswap	%eax
>  	ret
>  END (htonl)
>  
> diff --git a/sysdeps/i386/i486/htonl.S b/sysdeps/i386/i486/htonl.S
> deleted file mode 100644
> index d39bca5..0000000
> --- a/sysdeps/i386/i486/htonl.S
> +++ /dev/null
> @@ -1,34 +0,0 @@
> -/* Change byte order in word.  For Intel 80x86, x >= 4.
> -   Copyright (C) 1997-2015 Free Software Foundation, Inc.
> -   This file is part of the GNU C Library.
> -
> -   The GNU C Library is free software; you can redistribute it and/or
> -   modify it under the terms of the GNU Lesser General Public
> -   License as published by the Free Software Foundation; either
> -   version 2.1 of the License, or (at your option) any later version.
> -
> -   The GNU C Library is distributed in the hope that it will be useful,
> -   but WITHOUT ANY WARRANTY; without even the implied warranty of
> -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> -   Lesser General Public License for more details.
> -
> -   You should have received a copy of the GNU Lesser General Public
> -   License along with the GNU C Library; if not, see
> -   <http://www.gnu.org/licenses/>.  */
> -
> -#include <sysdep.h>
> -#include "asm-syntax.h"
> -
> -/*
> -   INPUT PARAMETERS:
> -   word		(sp + 4)
> -*/
> -
> -	.text
> -ENTRY (htonl)
> -	movl	4(%esp), %eax
> -	bswap	%eax
> -	ret
> -END (htonl)
> -
> -weak_alias (htonl, ntohl)
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]