verify-di: Implement DebugInfoVerifier
[oota-llvm.git] / include / llvm / IR / IntrinsicsARM64.td
index b280d005d0c81cf1ced297ed1af681e875d260a6..d7f307e9ff6d0bd37b6695d70e5898eeff3933f7 100644 (file)
@@ -74,8 +74,7 @@ let TargetPrefix = "arm64" in {  // All intrinsics start with "llvm.arm64.".
                 [IntrNoMem]>;
   class AdvSIMD_2VectorArg_Long_Intrinsic
     : Intrinsic<[llvm_anyvector_ty],
-                [LLVMTruncatedType<0>,
-                 LLVMTruncatedType<0>],
+                [LLVMTruncatedType<0>, LLVMTruncatedType<0>],
                 [IntrNoMem]>;
   class AdvSIMD_2VectorArg_Wide_Intrinsic
     : Intrinsic<[llvm_anyvector_ty],
@@ -178,6 +177,11 @@ let Properties = [IntrNoMem] in {
   def int_arm64_neon_umull : AdvSIMD_2VectorArg_Long_Intrinsic;
   def int_arm64_neon_pmull : AdvSIMD_2VectorArg_Long_Intrinsic;
 
+  // 64-bit polynomial multiply really returns an i128, which is not legal. Fake
+  // it with a v16i8.
+  def int_arm64_neon_pmull64 :
+        Intrinsic<[llvm_v16i8_ty], [llvm_i64_ty, llvm_i64_ty], [IntrNoMem]>;
+
   // Vector Extending Multiply
   def int_arm64_neon_fmulx : AdvSIMD_2FloatArg_Intrinsic;