Prepare yourselfTo port Intel intrinsics to POWER you will need to prepare yourself
with knowledge of PowerISA vector facilities and how to access the associated
documentation.GCC vector extension
syntax and usage. This is one of a set of GCC
"Extensions to the C language Family”
that the intrinsic header implementation depends
on. As many of the GCC intrinsics for x86 are implemented via C vector
extensions, reading and understanding of this code is an important part of the
porting process. Intel (x86) intrinsic and type naming conventions and how to find
more information. The intrinsic name encodes some information about the
vector size and type of the data, but the pattern is not always obvious.
Using the online
Intel
Intrinsic Guide to look up the intrinsic by name is a good first
step.PowerISA Vector facilities. The Vector facilities of POWER8 are
extensive and cover the usual types and usual operations. However it has a
different history and organization from Intel. Both (Intel and PowerISA) have
their quirks and in some cases the mapping may not be obvious. So familiarizing
yourself with the PowerISA Vector (VMX) and Vector Scalar Extensions (VSX) is
important.