Some extra tests for XOP intrinsics

Sean Silva chisophugis at gmail.com
Mon Jan 26 09:11:43 PST 2015


Hi Craig,

In our internal codebase, we had a file xop-instrinsics-x86.ll (not the one
upstream, xop-intrinsics-x86_64.ll), a remnant of an internal
implementation while PS4's architecture was still confidential. ToT passes
the tests in our xop-instrinsics-x86.ll, so really it's just a matter of
getting all the goodness out of it and sent upstream, and then throw it
away and rely on just xop-intrinsics-x86_64.ll.

There is some overlap with the upstream xop-intrinsics-x86_64.ll, the
rundown is as follows for the intrinsics tested:
Intrinsics where both have test: 53
Intrinsics where xop-instrinsics-x86.ll has test, but
not xop-intrinsics-x86_64.ll: 20
Intrinsics where xop-intrinsics-x86_64.ll has test, but
not xop-instrinsics-x86.ll: 71

The ones that xop-instrinsics-x86.ll has a test for, but not ToT
xop-intrinsics-x86_64.ll, are the following:

llvm.x86.xop.vfrczpd
llvm.x86.xop.vfrczpd256
llvm.x86.xop.vfrczps
llvm.x86.xop.vfrczps256
llvm.x86.xop.vfrczsd
llvm.x86.xop.vfrczss
llvm.x86.xop.vpcmov.v16qi
llvm.x86.xop.vpcmov.v2df
llvm.x86.xop.vpcmov.v2di
llvm.x86.xop.vpcmov.v4df256
llvm.x86.xop.vpcmov.v4di256
llvm.x86.xop.vpcmov.v4sf
llvm.x86.xop.vpcmov.v4si
llvm.x86.xop.vpcmov.v8hi
llvm.x86.xop.vpcmov.v8sf256
llvm.x86.xop.vpcmov.v8si256
llvm.x86.xop.vprotbi
llvm.x86.xop.vprotdi
llvm.x86.xop.vprotqi
llvm.x86.xop.vprotwi

I assume that we would probably want to just add tests for the missing
intrinsics to the ToT xop-intrinsics-x86_64.ll? Anyway, I've attached the
whole file xop-instrinsics-x86.ll so you can take a look.

-- Sean Silva
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150126/bd3c4eb9/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: xop-intrinsics-x86.ll
Type: application/octet-stream
Size: 50388 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150126/bd3c4eb9/attachment.obj>


More information about the llvm-commits mailing list