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 x86-64][BZ #20024] Fixed vector sincos/sincosf ABI


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


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