[AArch64] Refactor LSE support as feature separate from V8.1a support.
authorJoel Jones <joelkevinjones@gmail.com>
Wed, 30 Nov 2016 22:25:24 +0000 (22:25 +0000)
committerJoel Jones <joelkevinjones@gmail.com>
Wed, 30 Nov 2016 22:25:24 +0000 (22:25 +0000)
commit75818bc8f76b317ae79fdf69428ee6a2e1630fb2
tree64ae800d7fe3680e889c2ca424eb3b305532ea3b
parent0c4300fac7e011c5b3072a005a68c4f8ce2e639f
[AArch64] Refactor LSE support as feature separate from V8.1a support.

Summary:
This is preparation for ThunderX processors that have Large
System Extension (LSE) atomic instructions, but not the
other instructions introduced by V8.1a.
This will mimic changes to GCC as described here:
https://gcc.gnu.org/ml/gcc-patches/2015-06/msg00388.html

LSE instructions are: LD/ST<op>, CAS*, SWP

Reviewers: t.p.northover, echristo, jmolloy, rengolin

Subscribers: aemerson, mehdi_amini

Differential Revision: https://reviews.llvm.org/D26621

llvm-svn: 288279
llvm/include/llvm/Support/AArch64TargetParser.def
llvm/include/llvm/Support/TargetParser.h
llvm/lib/Target/AArch64/AArch64.td
llvm/lib/Target/AArch64/AArch64InstrFormats.td
llvm/lib/Target/AArch64/AArch64InstrInfo.td
llvm/lib/Target/AArch64/AArch64Subtarget.h
llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
llvm/test/MC/AArch64/arm64v8.1-diagno-predicate.s [new file with mode: 0644]
llvm/test/MC/AArch64/directive-arch-negative.s
llvm/test/MC/AArch64/directive-cpu.s