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: PPC64 libmvec sincos/sincosf ABI


On 8/7/19 4:17 PM, Tulio Magno Quites Machado Filho wrote:
> GT <tnggil@protonmail.com> writes:
>
>> I believe PPC64 needs to implement functions analogous to x86_64 _ZGVbN4vvv_sincosf, _ZGVbN4vl4l4_sincosf, _ZGVbN2vvv_sincos, _ZGVbN2vl8l8_sincos.
> I can't follow you here.
> Why do you think both implementations for each type are necessary?
>
> AFAIU, both _ZGVbN4vvv_sincosf and _ZGVbN2vvv_sincos should not exist.
> Or are you implying they're required somewhere else?
>
>> The function signatures of scalar sincosf and sincos are:
>>
>> sincosf (float, float *, float *)
>> sincos (double, double *, double *)
>>
>> How do I determine the vector function signatures in C, of the 4 vector functions referenced at the top of this message?
> For _ZGVbN4vl4l4_sincosf and _ZGVbN2vl8l8_sincos I'd write them as:
>
> void sincosf (vector float, vector float *, vector float *);
> void sincos (vector double, vector double *, vector double *);
>
I'm trying to work my way into understanding the veclibabi support in
GCC, so please bear with me.

Why are we interested in sincos at all?  There is no handling of sincos
in the i386 SVML or ACML interfaces for libmvec.  They handle only sin
and cos separately, as does libmassv for Power.  I am coming late to the
discussion, but I don't understand how this fits into the libmvec ABI
requirements.

Because sincos has an oddball interface, it doesn't fit in well with the
-mveclibabi=* machinery, so far as I can tell.

Thanks,
Bill


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