diff mbox

[3/8] Move i486/htonl.S to htonl.S

Message ID 20150826173620.GD21261@intel.com
State New
Headers show

Commit Message

H.J. Lu Aug. 26, 2015, 5:36 p.m. UTC
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

Comments

Adhemerval Zanella Netto Aug. 26, 2015, 6:44 p.m. UTC | #1
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)
>
Ondřej Bílka Aug. 26, 2015, 7:09 p.m. UTC | #2
On Wed, Aug 26, 2015 at 03:44:45PM -0300, Adhemerval Zanella wrote:
> Do we really need this assembly routines? GCC 4.8 on my environment generates for the
> default inet/htonl.c:
>
Shouldn't we just do inlining to __builtin_bswap in header or do we
already do that?
Adhemerval Zanella Netto Aug. 26, 2015, 8:05 p.m. UTC | #3
On 26-08-2015 16:09, Ondřej Bílka wrote:
> On Wed, Aug 26, 2015 at 03:44:45PM -0300, Adhemerval Zanella wrote:
>> Do we really need this assembly routines? GCC 4.8 on my environment generates for the
>> default inet/htonl.c:
>>
> Shouldn't we just do inlining to __builtin_bswap in header or do we
> already do that?
> 
> 

inet/netinet/in.h already does that.
Roland McGrath Aug. 26, 2015, 8:57 p.m. UTC | #4
We probably don't, but removing them should be a separate change from the
mechanical directory restructuring HJ is doing now.  Of course, doing
removals first reduces the number of renamings required.
diff mbox

Patch

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)