[PATCH v9 1/1] PPC64: Add libmvec SIMD double-precision cosine function.

GT tnggil@protonmail.com
Tue Apr 2 20:53:00 GMT 2019


Changes from prior version:

1. PPC64 libmvec vector math patches will, for now, be uploaded to branch
https://sourceware.org/git/?p=glibc.git;a=shortlog;h=refs/heads/tuliom/libmvec
That repository is managed by Tulio.
The plan is for libmvec patches to remain there until GCC implements sufficient
PPC64 libmvec support that allows testing GLIBC libmvec functionality in these
patches. Once that is done, the patches will be migrated to glibc master.

2. In response to https://sourceware.org/ml/libc-alpha/2019-03/msg00153.html,
we use the "-v <n>" option in patch generating command "git format-patch". As
previous versions were not similarly annotated, below is a list of all earlier
versions of this patch.

v1: https://sourceware.org/ml/libc-alpha/2019-02/msg00382.html
v2: https://sourceware.org/ml/libc-alpha/2019-02/msg00473.html
v3: https://sourceware.org/ml/libc-alpha/2019-02/msg00474.html
v4: https://sourceware.org/ml/libc-alpha/2019-02/msg00621.html
v5: https://sourceware.org/ml/libc-alpha/2019-02/msg00634.html
v6: https://sourceware.org/ml/libc-alpha/2019-03/msg00052.html
v7: https://sourceware.org/ml/libc-alpha/2019-03/msg00122.html
v8: https://sourceware.org/ml/libc-alpha/2019-03/msg00127.html

3. Also in response to https://sourceware.org/ml/libc-alpha/2019-03/msg00153.html,
and since the libmvec patches are not currently on glibc master, file
bits/math-vector.h is restored in the implementation. It was removed from the
previous patch with the goal being to prevent applications using the incomplete
libmvec implementation. That is now unnecessary as any user obtaining PPC64
libmvec from the branch given in (1) above is forewarned that the ABI is in flux.

4. Flags -mabi=altivec and -maltivec are added in the Makefile to account for
installed GCC having been configured without flags specifying the cpu as power8.
In that circumstance, building libmvec with the existing Makefile fails but GCC
helpfully suggests adding these flags. Doing so results in a successful libmvec
build. The behavior was observed on both Little-Endian and Big-Endian POWER8
VMs.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: v9-0001-PPC64-Add-libmvec-SIMD-double-precision-cosine-fu.patch
Type: text/x-patch
Size: 20360 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20190402/89083b0c/attachment.bin>


More information about the Libc-alpha mailing list