Condition codes AL and NV are invalid in the aliases that use
authorArtyom Skrobov <Artyom.Skrobov@arm.com>
Tue, 10 Jun 2014 13:11:35 +0000 (13:11 +0000)
committerArtyom Skrobov <Artyom.Skrobov@arm.com>
Tue, 10 Jun 2014 13:11:35 +0000 (13:11 +0000)
commit6c8682e2e99cde2c1511d804e29a0816991f00ba
tree58bba4c120e37f421c339b3826c73248653b87f7
parentaf3c20f83ab207ce2b4bbb5bb560d4f5a59b41cc
Condition codes AL and NV are invalid in the aliases that use
inverted condition codes (CINC, CINV, CNEG, CSET, and CSETM).

Matching aliases based on "immediate classes", when disassembling,
wasn't previously supported, hence adding MCOperandPredicate
into class Operand, and implementing the support for it
in AsmWriterEmitter.

The parsing for those aliases was already custom, so just adding
the missing condition into AArch64AsmParser::parseCondCode.

llvm-svn: 210528
llvm/include/llvm/Target/Target.td
llvm/lib/Target/AArch64/AArch64InstrFormats.td
llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
llvm/test/MC/AArch64/basic-a64-diagnostics.s
llvm/test/MC/Disassembler/AArch64/basic-a64-instructions.txt
llvm/utils/TableGen/AsmWriterEmitter.cpp