[PowerPC] Add asm parser support for bitmask forms of rotate-and-mask instructions
authorHal Finkel <hfinkel@anl.gov>
Sat, 28 Mar 2015 19:42:41 +0000 (19:42 +0000)
committerHal Finkel <hfinkel@anl.gov>
Sat, 28 Mar 2015 19:42:41 +0000 (19:42 +0000)
commit2eaf50f5fbabe76fccb254c4bf19839875145ab7
tree7d744f0b3afa5ac953163b704a641fed1205f54e
parentf702ac373f6958796e262b59c0a571cb9d94bf2b
[PowerPC] Add asm parser support for bitmask forms of rotate-and-mask instructions

The asm syntax for the 32-bit rotate-and-mask instructions can take a 32-bit
bitmask instead of an (mb, me) pair. This syntax is not specified in the Power
ISA manual, but is accepted by GNU as, and is documented in IBM's Assembler
Language Reference. The GNU Multiple Precision Arithmetic Library (gmp)
contains assembly that uses this syntax.

To implement this, I moved the isRunOfOnes utility function from
PPCISelDAGToDAG.cpp to PPCMCTargetDesc.h.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@233483 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.h
lib/Target/PowerPC/PPCISelDAGToDAG.cpp
lib/Target/PowerPC/PPCInstrInfo.td
test/MC/PowerPC/ppc64-encoding.s