OSDN Git Service

[Power9] Implement new vsx instructions: insert, extract, test data class, min/max...
authorChuang-Yu Cheng <cycheng@multicorewareinc.com>
Mon, 28 Mar 2016 08:34:28 +0000 (08:34 +0000)
committerChuang-Yu Cheng <cycheng@multicorewareinc.com>
Mon, 28 Mar 2016 08:34:28 +0000 (08:34 +0000)
commit818745717638c633745ba3d4a03d4b2979a673cb
treef2fd482cdba7fc89af7316610f071602605adcef
parentebc3cb93f01e51e6892a83a5540071aaef302b4d
[Power9] Implement new vsx instructions: insert, extract, test data class, min/max, reverse, permute, splat

This change implements the following vsx instructions:

- Scalar Insert/Extract
    xsiexpdp xsiexpqp xsxexpdp xsxsigdp xsxexpqp xsxsigqp

- Vector Insert/Extract
    xviexpdp xviexpsp xvxexpdp xvxexpsp xvxsigdp xvxsigsp
    xxextractuw xxinsertw

- Scalar/Vector Test Data Class
    xststdcdp xststdcsp xststdcqp
    xvtstdcdp xvtstdcsp

- Maximum/Minimum
    xsmaxcdp xsmaxjdp
    xsmincdp xsminjdp

- Vector Byte-Reverse/Permute/Splat
    xxbrd xxbrh xxbrq xxbrw
    xxperm xxpermr
    xxspltib

30 instructions

Thanks Nemanja for invaluable discussion! Thanks Kit's great help!
Reviewers: hal, nemanja, kbarton, tjablin, amehsan

http://reviews.llvm.org/D16842

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@264567 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
lib/Target/PowerPC/InstPrinter/PPCInstPrinter.cpp
lib/Target/PowerPC/InstPrinter/PPCInstPrinter.h
lib/Target/PowerPC/PPCInstrFormats.td
lib/Target/PowerPC/PPCInstrInfo.td
lib/Target/PowerPC/PPCInstrVSX.td
lib/Target/PowerPC/README_P9.txt
test/MC/Disassembler/PowerPC/vsx.txt
test/MC/PowerPC/vsx.s