This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH x86-64][BZ #20024] Fixed vector sincos/sincosf ABI
- From: Joseph Myers <joseph at codesourcery dot com>
- To: Andrew Senkevich <andrew dot n dot senkevich at gmail dot com>
- Cc: libc-alpha <libc-alpha at sourceware dot org>
- Date: Mon, 6 Jun 2016 14:08:42 +0000
- Subject: Re: [PATCH x86-64][BZ #20024] Fixed vector sincos/sincosf ABI
- Authentication-results: sourceware.org; auth=none
- References: <CAMXFM3tO0RGFjbrQaEV80rTCWmUy8LQjkZ7gRd9j+Q3YQ2+nAQ at mail dot gmail dot com> <alpine dot DEB dot 2 dot 20 dot 1606022247540 dot 9542 at digraph dot polyomino dot org dot uk> <CAMXFM3vREvMPjBU23ZGV6eyNs-exwHGG6C2WE6N1MHf=CqbkvA at mail dot gmail dot com>
On Mon, 6 Jun 2016, Andrew Senkevich wrote:
> 2016-06-03 1:50 GMT+03:00 Joseph Myers <joseph@codesourcery.com>:
> > On Tue, 31 May 2016, Andrew Senkevich wrote:
> >
> >> Hi,
> >>
> >> this patch fixes wrong vector sincos/sincosf ABI to have it compatible with
> >> current vector function declaration. According to current vector function
> >> declaration vectorized sincos should have vector of pointers for second and
> >> third parameters, so it is fixed with implementation as wrapper to version
> >> having second and third parameters as pointers.
> >> Is it Ok for trunk, 2.22 and 2.23 releases branches?
> >
> > Do you intend a followup for trunk only that exports the new functions
> > with the intended ABI and makes the old ones into compat symbols?
>
> Is it suitable way to have both simd declarations for sincos in headers?
(a) Would that work usefully, and cause both functions to be used
depending on the code to be vectorized?
(b) How useful are the existing functions, i.e. would real code be likely
to use both functions?
> Do we need tests and is it Ok to have them in assembly?
All public interfaces should have tests. Compat interfaces may be
trickier to test, but it's still a good idea to do so if possible.
C tests seem safer where possible. For example: the existing functions
are said to take vectors of pointers. Does that mean vectors of 8-byte
pointers for the 64-bit ABI and vectors of 4-byte pointers for x32? If
so, a C test is more likely to get right that the ABI to test is different
in those cases. Did you test your patch for x32?
--
Joseph S. Myers
joseph@codesourcery.com