[NFC][AArch64] Split out backend features
authorDiogo N. Sampaio <diogo.sampaio@arm.com>
Thu, 6 Dec 2018 15:39:17 +0000 (15:39 +0000)
committerDiogo N. Sampaio <diogo.sampaio@arm.com>
Thu, 6 Dec 2018 15:39:17 +0000 (15:39 +0000)
commit9c9067316be2b802a3af689b94aadc2740a47bcc
tree30ade7bec873dde9db4bb9cf7510b57478d31330
parent6393eb7ec65de8a53d50a59491ca2a20eb235870
[NFC][AArch64] Split out backend features

This patch splits backend features currently
hidden behind architecture versions.

For example, currently the only way to activate
complex numbers extension is targeting an v8.3
architecture, where after the patch this extension
can be added separately.

This refactoring is required by the new command lines proposal:
http://lists.llvm.org/pipermail/llvm-dev/2018-September/126346.html

Reviewers: DavidSpickett, olista01, t.p.northover

Subscribers: kristof.beyls, bryanpkc, javed.absar, pbarrio

Differential revision: https://reviews.llvm.org/D54633

--

It was reverted in rL348249 due a build bot failure in one of the
regression tests:
http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-win/builds/14386

The problem seems to be that FileCheck behaves
different in windows and linux. This new patch
splits the test file in multiple,
and does more exact pattern matching attempting
to circumvent the issue.

llvm-svn: 348493
20 files changed:
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/AArch64SystemOperands.td
llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
llvm/test/MC/AArch64/armv8.2a-at.s
llvm/test/MC/AArch64/armv8.2a-mmfr2.s [deleted file]
llvm/test/MC/AArch64/armv8.2a-persistent-memory.s
llvm/test/MC/AArch64/armv8.3a-complex.s
llvm/test/MC/AArch64/armv8.3a-complex_bad.s [new file with mode: 0644]
llvm/test/MC/AArch64/armv8.3a-complex_missing.s [new file with mode: 0644]
llvm/test/MC/AArch64/armv8.3a-complex_nofp16.s [new file with mode: 0644]
llvm/test/MC/AArch64/armv8.3a-complex_nofp16_bad.s [new file with mode: 0644]
llvm/test/MC/AArch64/armv8.3a-js.s
llvm/test/MC/AArch64/armv8.3a-signed-pointer.s
llvm/test/MC/AArch64/armv8.4a-flag.s
llvm/test/MC/AArch64/armv8.4a-ldst.s
llvm/test/MC/AArch64/armv8.4a-tlb.s
llvm/test/MC/AArch64/armv8.4a-trace.s