diff options
author | Jiangning Liu <jiangning.liu@arm.com> | 2013-11-19 01:38:19 +0000 |
---|---|---|
committer | Jiangning Liu <jiangning.liu@arm.com> | 2013-11-19 01:38:19 +0000 |
commit | 3311f374a889b36b47c2994aa77a27f53cdbe578 (patch) | |
tree | 5a1dcf6f23bc7c586d8240abdbfcdd09b508718b /clang/utils/TableGen/NeonEmitter.cpp | |
parent | c8b0a1ad951bf8d52213f7ce7699b26305f898ec (diff) | |
download | bcm5719-llvm-3311f374a889b36b47c2994aa77a27f53cdbe578.tar.gz bcm5719-llvm-3311f374a889b36b47c2994aa77a27f53cdbe578.zip |
Add predicate for AArch64 crypto instructions.
llvm-svn: 195069
Diffstat (limited to 'clang/utils/TableGen/NeonEmitter.cpp')
-rw-r--r-- | clang/utils/TableGen/NeonEmitter.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/clang/utils/TableGen/NeonEmitter.cpp b/clang/utils/TableGen/NeonEmitter.cpp index 86cd429b173..23c3b17666c 100644 --- a/clang/utils/TableGen/NeonEmitter.cpp +++ b/clang/utils/TableGen/NeonEmitter.cpp @@ -2560,8 +2560,28 @@ void NeonEmitter::run(raw_ostream &OS) { if (!isA64) continue; + // Skip crypto temporarily, and will emit them all together at the end. + bool isCrypto = R->getValueAsBit("isCrypto"); + if (isCrypto) + continue; + + emitIntrinsic(OS, R, EmittedMap); + } + + OS << "#ifdef __ARM_FEATURE_CRYPTO\n"; + + for (unsigned i = 0, e = RV.size(); i != e; ++i) { + Record *R = RV[i]; + + // Skip crypto temporarily, and will emit them all together at the end. + bool isCrypto = R->getValueAsBit("isCrypto"); + if (!isCrypto) + continue; + emitIntrinsic(OS, R, EmittedMap); } + + OS << "#endif\n\n"; OS << "#endif\n\n"; |