This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug math/21955] New: Wrong .section .rodata.cst8 in sysdeps/x86_64/fpu/e_expf.S
- From: "cvs-commit at gcc dot gnu.org" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Tue, 15 Aug 2017 17:44:41 +0000
- Subject: [Bug math/21955] New: Wrong .section .rodata.cst8 in sysdeps/x86_64/fpu/e_expf.S
- Auto-submitted: auto-generated
https://sourceware.org/bugzilla/show_bug.cgi?id=21955
Bug ID: 21955
Summary: Wrong .section .rodata.cst8 in
sysdeps/x86_64/fpu/e_expf.S
Product: glibc
Version: 2.26
Status: NEW
Severity: normal
Priority: P2
Component: math
Assignee: unassigned at sourceware dot org
Reporter: hjl.tools at gmail dot com
Target Milestone: ---
Target: x86-64
sysdeps/x86_64/fpu/e_expf.S has
/* Here if |x| is Inf */
lea L(SP_INF_0)(%rip), %rdx /* depending on sign of x: */
movss (%rdx,%rax,4), %xmm0 /* return zero or Inf */
ret
...
.section .rodata.cst8,"aM",@progbits,8
...
.p2align 2
L(SP_INF_0):
.long 0x7f800000 /* single precision Inf */
.long 0 /* single precision zero */
.type L(SP_INF_0), @object
ASM_SIZE_DIRECTIVE(L(SP_INF_0))
Since L(SP_INF_0) is accessed as an array of 4-byte elements, it can't be
put in
.section .rodata.cst8,"aM",@progbits,8
--- Comment #1 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, hjl/expf/master has been created
at a13f5e6e34a6160607c8ce9448c618b9ae024364 (commit)
- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=a13f5e6e34a6160607c8ce9448c618b9ae024364
commit a13f5e6e34a6160607c8ce9448c618b9ae024364
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Tue Aug 15 08:45:34 2017 -0700
x86-64: Optimize e_expf with FMA [BZ #21912]
[BZ #21912]
* sysdeps/x86_64/fpu/multiarch/e_expf-fma.S: New file.
* sysdeps/x86_64/fpu/multiarch/e_expf-sse2.S: Likewise.
* sysdeps/x86_64/fpu/multiarch/e_expf.c: Likewise.
* sysdeps/x86_64/fpu/multiarch/ifunc-fma.h: Likewise.
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=5c18dfae535d8dd308a034280176c771b4065664
commit 5c18dfae535d8dd308a034280176c771b4065664
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Tue Aug 15 10:34:22 2017 -0700
x86-64: Put L(SP_INF_0) in .rodata.cst4 section [BZ #21955]
sysdeps/x86_64/fpu/e_expf.S has
/* Here if |x| is Inf */
lea L(SP_INF_0)(%rip), %rdx /* depending on sign of x: */
movss (%rdx,%rax,4), %xmm0 /* return zero or Inf */
ret
...
.section .rodata.cst8,"aM",@progbits,8
...
.p2align 2
L(SP_INF_0):
.long 0x7f800000 /* single precision Inf */
.long 0 /* single precision zero */
.type L(SP_INF_0), @object
ASM_SIZE_DIRECTIVE(L(SP_INF_0))
Since L(SP_INF_0) is accessed as an array of 4-byte elements, it should
be placed in
.section .rodata.cst4,"aM",@progbits,4
[BZ #21955]
* sysdeps/x86_64/fpu/e_expf.S (L(SP_INF_0)): Place it in
.rodata.cst4 section.
-----------------------------------------------------------------------
--
You are receiving this mail because:
You are on the CC list for the bug.