diff options
author | Jiangning Liu <jiangning.liu@arm.com> | 2013-11-19 01:38:31 +0000 |
---|---|---|
committer | Jiangning Liu <jiangning.liu@arm.com> | 2013-11-19 01:38:31 +0000 |
commit | 01dd5728cc897777da95a7f4672b5a2540d52564 (patch) | |
tree | 26ecc6b579dbd7ef15fccfd61bb52873e3d803b0 /test | |
parent | e53969b4758274ee833ce3acef37134bcf6554ea (diff) | |
download | external_llvm-01dd5728cc897777da95a7f4672b5a2540d52564.zip external_llvm-01dd5728cc897777da95a7f4672b5a2540d52564.tar.gz external_llvm-01dd5728cc897777da95a7f4672b5a2540d52564.tar.bz2 |
Add predicate for AArch64 crypto instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195071 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/CodeGen/AArch64/neon-crypto.ll | 4 | ||||
-rw-r--r-- | test/MC/AArch64/neon-crypto.s | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/test/CodeGen/AArch64/neon-crypto.ll b/test/CodeGen/AArch64/neon-crypto.ll index e4ae227..0283e0e 100644 --- a/test/CodeGen/AArch64/neon-crypto.ll +++ b/test/CodeGen/AArch64/neon-crypto.ll @@ -1,4 +1,5 @@ -; RUN: llc < %s -verify-machineinstrs -mtriple=aarch64-none-linux-gnu -mattr=+neon | FileCheck %s +; RUN: llc < %s -verify-machineinstrs -mtriple=aarch64-none-linux-gnu -mattr=+neon -mattr=+crypto | FileCheck %s +; RUN: not llc < %s -verify-machineinstrs -mtriple=aarch64-none-linux-gnu -mattr=+neon 2>&1 | FileCheck --check-prefix=CHECK-NO-CRYPTO %s declare <4 x i32> @llvm.arm.neon.sha256su1.v4i32(<4 x i32>, <4 x i32>, <4 x i32>) #1 @@ -31,6 +32,7 @@ declare <16 x i8> @llvm.arm.neon.aese.v16i8(<16 x i8>, <16 x i8>) #1 define <16 x i8> @test_vaeseq_u8(<16 x i8> %data, <16 x i8> %key) { ; CHECK: test_vaeseq_u8: ; CHECK: aese {{v[0-9]+}}.16b, {{v[0-9]+}}.16b +; CHECK-NO-CRYPTO: Cannot select: intrinsic %llvm.arm.neon.aese entry: %aese.i = tail call <16 x i8> @llvm.arm.neon.aese.v16i8(<16 x i8> %data, <16 x i8> %key) ret <16 x i8> %aese.i diff --git a/test/MC/AArch64/neon-crypto.s b/test/MC/AArch64/neon-crypto.s index df6eee8..2952dd5 100644 --- a/test/MC/AArch64/neon-crypto.s +++ b/test/MC/AArch64/neon-crypto.s @@ -1,4 +1,5 @@ -// RUN: llvm-mc -triple=aarch64 -mattr=+neon -show-encoding < %s | FileCheck %s +// RUN: llvm-mc -triple=aarch64 -mattr=+neon -mattr=+crypto -show-encoding < %s | FileCheck %s +// RUN: not llvm-mc -triple=aarch64 -mattr=+neon -show-encoding < %s 2>&1 | FileCheck -check-prefix=CHECK-NO-CRYPTO %s // Check that the assembler can handle the documented syntax for AArch64 @@ -11,6 +12,7 @@ aesmc v0.16b, v1.16b aesimc v0.16b, v1.16b +// CHECK-NO-CRYPTO: error: instruction requires a CPU feature not currently enabled // CHECK: aese v0.16b, v1.16b // encoding: [0x20,0x48,0x28,0x4e] // CHECK: aesd v0.16b, v1.16b // encoding: [0x20,0x58,0x28,0x4e] // CHECK: aesmc v0.16b, v1.16b // encoding: [0x20,0x68,0x28,0x4e] |