Implement AArch64 Neon Crypto instruction classes AES, SHA, and 3 SHA.
[oota-llvm.git] / include / llvm / IR / IntrinsicsAArch64.td
index 8083b867d197f230d364cab87bfd961768a66eb7..b66bdcc01c333b20fcec24a218f6c9cfc7d039c4 100644 (file)
@@ -271,4 +271,12 @@ def int_aarch64_neon_vcvtf32_n_u32 :
   Intrinsic<[llvm_v1f32_ty], [llvm_v1i32_ty, llvm_i32_ty], [IntrNoMem]>;
 def int_aarch64_neon_vcvtf64_n_u64 :
   Intrinsic<[llvm_v1f64_ty], [llvm_v1i64_ty, llvm_i32_ty], [IntrNoMem]>;
+
+class Neon_SHA_Intrinsic
+  : Intrinsic<[llvm_v4i32_ty], [llvm_v4i32_ty, llvm_v1i32_ty, llvm_v4i32_ty],
+              [IntrNoMem]>;
+
+def int_aarch64_neon_sha1c : Neon_SHA_Intrinsic;
+def int_aarch64_neon_sha1m : Neon_SHA_Intrinsic;
+def int_aarch64_neon_sha1p : Neon_SHA_Intrinsic;
 }