[Power9] Implement new altivec instructions: bcd* series
authorChuang-Yu Cheng <cycheng@multicorewareinc.com>
Mon, 28 Mar 2016 09:04:23 +0000 (09:04 +0000)
committerChuang-Yu Cheng <cycheng@multicorewareinc.com>
Mon, 28 Mar 2016 09:04:23 +0000 (09:04 +0000)
commitd5eb774eb6546388d9e96d7b112d9ea3d794854e
treecc55c80852a6d0750a9d5ec4061ac6b3c6b3bab8
parent80722719eb42cb2d4d374abd507d05a49862049d
[Power9] Implement new altivec instructions: bcd* series

This patch implements the following altivec instructions:

- Decimal Convert From/to National/Zoned/Signed-QWord:
    bcdcfn. bcdcfz. bcdctn. bcdctz. bcdcfsq. bcdctsq.

- Decimal Copy-Sign/Set-Sign:
    bcdcpsgn. bcdsetsgn.

- Decimal Shift/Unsigned-Shift/Shift-and-Round:
    bcds. bcdus. bcdsr.

- Decimal (Unsigned) Truncate:
    bcdtrunc. bcdutrunc.

Total 13 instructions

Thanks Amehsan's advice! Thanks Kit's great help!
Reviewers: hal, nemanja, kbarton, tjablin, amehsan

http://reviews.llvm.org/D17838

llvm-svn: 264568
llvm/lib/Target/PowerPC/PPCInstrAltivec.td
llvm/lib/Target/PowerPC/PPCInstrFormats.td
llvm/lib/Target/PowerPC/README_P9.txt
llvm/test/MC/Disassembler/PowerPC/ppc64-encoding-vmx.txt
llvm/test/MC/PowerPC/ppc64-encoding-vmx.s