This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug math/21941] powerpc: Wrong register constraint for xssqrtqp in sqrtf128
- From: "cvs-commit at gcc dot gnu.org" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Fri, 18 Aug 2017 14:17:53 +0000
- Subject: [Bug math/21941] powerpc: Wrong register constraint for xssqrtqp in sqrtf128
- Auto-submitted: auto-generated
- References: <bug-21941-131@http.sourceware.org/bugzilla/>
https://sourceware.org/bugzilla/show_bug.cgi?id=21941
--- Comment #3 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, release/2.26/master has been updated
via 645b7635ba8fd58062245419e8bb668ab90cd3ec (commit)
from 2aa1a7a8f8b9b7879bc6eb1c34d1580f992c406d (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=645b7635ba8fd58062245419e8bb668ab90cd3ec
commit 645b7635ba8fd58062245419e8bb668ab90cd3ec
Author: Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
Date: Mon Aug 7 09:14:14 2017 -0300
powerpc: Restrict xssqrtqp operands to Vector Registers (bug 21941)
POWER ISA 3.0 introduces the xssqrtqp instructions, which expects
operands to be in Vector Registers (Altivec/VMX), even though this
instruction belongs to the Vector-Scalar Instruction Set.
In GCC's Extended Assembly for POWER, the 'wq' register constraint is
provided for use with IEEE 754 128-bit floating-point values. However,
this constraint does not limit the register allocation to Vector
Registers (Altivec/VMX) and could assign a Vector-Scalar Register (VSX)
to the operands of the instruction.
This patch changes the register constraint used in sqrtf128 from 'wq' to
'v', in order to request a Vector Register (Altivec/VMX) for use with
the xssqrtqp instruction.
Tested for powerpc64le and --with-cpu=power9.
[BZ #21941]
* sysdeps/powerpc/fpu/math_private.h (__ieee754_sqrtf128): Since
xssqrtqp requires operands to be in Vector Registers
(Altivec/VMX), replace the register constraint 'wq' with 'v'.
* sysdeps/powerpc/powerpc64le/power9/fpu/e_sqrtf128.c
(__ieee754_sqrtf128): Likewise.
(cherry picked from commit 4d98ace9de3183309cb394cd0110eda5ad2d2531)
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 9 +++++++++
sysdeps/powerpc/fpu/math_private.h | 2 +-
.../powerpc/powerpc64le/power9/fpu/e_sqrtf128.c | 2 +-
3 files changed, 11 insertions(+), 2 deletions(-)
--
You are receiving this mail because:
You are on the CC list for the bug.