1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00
llvm-mirror/include/llvm
Sjoerd Meijer e768b5aa55 [ARM][AArch64] Armv8.4-A Enablement
Initial patch adding assembly support for Armv8.4-A.

Besides adding v8.4 as a supported architecture to the usual places, this also
adds target features for the different crypto algorithms. Armv8.4-A introduced
new crypto algorithms, made them optional, and allows different combinations:

- none of the v8.4 crypto functions are supported, which is independent of the
  implementation of the Armv8.0 SHA1 and SHA2 instructions.
- the v8.4 SHA512 and SHA3 support is implemented, in this case the Armv8.0
  SHA1 and SHA2 instructions must also be implemented.
- the v8.4 SM3 and SM4 support is implemented, which is independent of the
  implementation of the Armv8.0 SHA1 and SHA2 instructions.
- all of the v8.4 crypto functions are supported, in this case the Armv8.0 SHA1
  and SHA2 instructions must also be implemented.

The v8.4 crypto instructions are added to AArch64 only, and not AArch32,
and are made optional extensions to Armv8.2-A.

The user-facing Clang options will map on these new target features, their
naming will be compatible with GCC and added in follow-up patches.

The Armv8.4-A instruction sets can be downloaded here:
https://developer.arm.com/products/architecture/a-profile/exploration-tools

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

llvm-svn: 335953
2018-06-29 08:43:19 +00:00
..
ADT [ARM][AArch64] Armv8.4-A Enablement 2018-06-29 08:43:19 +00:00
Analysis Add a PhiValuesAnalysis pass to calculate the underlying values of phis 2018-06-28 14:13:06 +00:00
AsmParser [ThinLTO] Parse module summary index from assembly 2018-06-26 13:56:49 +00:00
BinaryFormat [llvm-readobj] Add experimental support for SHT_RELR sections 2018-06-28 21:07:34 +00:00
Bitcode Fix for llvm-dis/llvm-bcanalyzer overflows 2018-06-04 19:20:02 +00:00
CodeGen [MachineOutliner] Define MachineOutliner support in TargetOptions 2018-06-28 17:45:43 +00:00
Config
DebugInfo Move some code from PDBFileBuilder to MSFBuilder. 2018-06-27 21:18:15 +00:00
Demangle Move Compiler.h from Demangle back to Support 2018-06-04 22:53:38 +00:00
ExecutionEngine [ORC] Add LLJIT and LLLazyJIT, and replace OrcLazyJIT in LLI with LLLazyJIT. 2018-06-26 21:35:48 +00:00
FuzzMutate
IR [X86] Remove masking from the avx512 packed sqrt intrinsics. Use select in IR instead. 2018-06-29 05:43:26 +00:00
IRReader
LineEditor
Linker
LTO IRGen: Write .dwo files when -split-dwarf-file is used together with -fthinlto-index. 2018-05-31 18:25:59 +00:00
MC [DWARFv5] Allow ".loc 0" to refer to the root file. 2018-06-22 14:16:11 +00:00
Object [llvm-readobj] Add experimental support for SHT_RELR sections 2018-06-28 21:07:34 +00:00
ObjectYAML
Option
Passes
ProfileData [NFC] Change sample profile format enum name SPF_Raw_Binary to SPF_Binary. 2018-06-12 05:53:49 +00:00
Support [ARM][AArch64] Armv8.4-A Enablement 2018-06-29 08:43:19 +00:00
TableGen TableGen/SearchableTables: Support more generic enums and tables 2018-06-21 13:36:22 +00:00
Target [MachineOutliner] Define MachineOutliner support in TargetOptions 2018-06-28 17:45:43 +00:00
Testing/Support
ToolDrivers
Transforms [ThinLTO] Port InlinerFunctionImportStats handling to new PM 2018-06-28 20:07:47 +00:00
WindowsManifest
WindowsResource
XRay
CMakeLists.txt
InitializePasses.h Add a PhiValuesAnalysis pass to calculate the underlying values of phis 2018-06-28 14:13:06 +00:00
LinkAllIR.h
LinkAllPasses.h Revert r335306 (and r335314) - the Call Graph Profile pass. 2018-06-22 05:33:57 +00:00
module.modulemap
module.modulemap.build
Pass.h
PassAnalysisSupport.h
PassInfo.h
PassRegistry.h
PassSupport.h