[ARM] add target arch definitions for 8.1-M and MVE
authorSjoerd Meijer <sjoerd.meijer@arm.com>
Thu, 30 May 2019 12:57:04 +0000 (12:57 +0000)
committerSjoerd Meijer <sjoerd.meijer@arm.com>
Thu, 30 May 2019 12:57:04 +0000 (12:57 +0000)
commit930dee2c0b8a1128bd0ba23995d666899ef76c89
treea16cda6f635fcd880f21e91d38f0829c4b7740f1
parent31e6d8feea1ac18d568cbd5299c54bdae9da5f44
[ARM] add target arch definitions for 8.1-M and MVE

This adds:
- LLVM subtarget features to make all the new instructions conditional on,
- CPU and FPU names for use on clang's command line, with default FPUs set
  so that "armv8.1-m.main+fp" and "armv8.1-m.main+fp.dp" will select the right
  FPU features,
- architecture extension names "mve" and "mve.fp",
- ABI build attribute support for v8.1-M (a new value for Tag_CPU_arch) and MVE
  (a new actual tag).

Patch mostly by Simon Tatham.

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

llvm-svn: 362090
17 files changed:
llvm/include/llvm/ADT/Triple.h
llvm/include/llvm/Support/ARMAttributeParser.h
llvm/include/llvm/Support/ARMBuildAttributes.h
llvm/include/llvm/Support/ARMTargetParser.def
llvm/include/llvm/Support/ARMTargetParser.h
llvm/lib/Object/ELFObjectFile.cpp
llvm/lib/Support/ARMAttributeParser.cpp
llvm/lib/Support/ARMBuildAttrs.cpp
llvm/lib/Support/ARMTargetParser.cpp
llvm/lib/Support/Triple.cpp
llvm/lib/Target/ARM/ARM.td
llvm/lib/Target/ARM/ARMPredicates.td
llvm/lib/Target/ARM/ARMSubtarget.h
llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp
llvm/test/CodeGen/ARM/build-attributes.ll
llvm/unittests/Support/ARMAttributeParser.cpp
llvm/unittests/Support/TargetParserTest.cpp