r200707 - AArch64: use new non-polymorphic crypto intrinsics

Tim Northover tnorthover at apple.com
Mon Feb 3 09:28:00 PST 2014


Author: tnorthover
Date: Mon Feb  3 11:28:00 2014
New Revision: 200707

URL: http://llvm.org/viewvc/llvm-project?rev=200707&view=rev
Log:
AArch64: use new non-polymorphic crypto intrinsics

The LLVM backend now has invariant types on the various crypto-intrinsics,
because in all cases there's only really one interpretation.

Modified:
    cfe/trunk/lib/CodeGen/CGBuiltin.cpp

Modified: cfe/trunk/lib/CodeGen/CGBuiltin.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGBuiltin.cpp?rev=200707&r1=200706&r2=200707&view=diff
==============================================================================
--- cfe/trunk/lib/CodeGen/CGBuiltin.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGBuiltin.cpp Mon Feb  3 11:28:00 2014
@@ -2427,15 +2427,15 @@ static Value *EmitAArch64ScalarBuiltinEx
   // Crypto
   case NEON::BI__builtin_neon_vsha1h_u32:
     Int = Intrinsic::arm_neon_sha1h;
-    s = "sha1h"; IntTypes = VectorRet; break;
+    s = "sha1h"; break;
   case NEON::BI__builtin_neon_vsha1cq_u32:
-    Int = Intrinsic::aarch64_neon_sha1c;
+    Int = Intrinsic::arm_neon_sha1c;
     s = "sha1c"; break;
   case NEON::BI__builtin_neon_vsha1pq_u32:
-    Int = Intrinsic::aarch64_neon_sha1p;
+    Int = Intrinsic::arm_neon_sha1p;
     s = "sha1p"; break;
   case NEON::BI__builtin_neon_vsha1mq_u32:
-    Int = Intrinsic::aarch64_neon_sha1m;
+    Int = Intrinsic::arm_neon_sha1m;
     s = "sha1m"; break;
   // Scalar Add
   case NEON::BI__builtin_neon_vaddd_s64:
@@ -3849,34 +3849,34 @@ Value *CodeGenFunction::EmitAArch64Built
 
   // Crypto
   case NEON::BI__builtin_neon_vaeseq_v:
-    return EmitNeonCall(CGM.getIntrinsic(Intrinsic::arm_neon_aese, Ty),
+    return EmitNeonCall(CGM.getIntrinsic(Intrinsic::arm_neon_aese),
                         Ops, "aese");
   case NEON::BI__builtin_neon_vaesdq_v:
-    return EmitNeonCall(CGM.getIntrinsic(Intrinsic::arm_neon_aesd, Ty),
+    return EmitNeonCall(CGM.getIntrinsic(Intrinsic::arm_neon_aesd),
                         Ops, "aesd");
   case NEON::BI__builtin_neon_vaesmcq_v:
-    return EmitNeonCall(CGM.getIntrinsic(Intrinsic::arm_neon_aesmc, Ty),
+    return EmitNeonCall(CGM.getIntrinsic(Intrinsic::arm_neon_aesmc),
                         Ops, "aesmc");
   case NEON::BI__builtin_neon_vaesimcq_v:
-    return EmitNeonCall(CGM.getIntrinsic(Intrinsic::arm_neon_aesimc, Ty),
+    return EmitNeonCall(CGM.getIntrinsic(Intrinsic::arm_neon_aesimc),
                         Ops, "aesimc");
   case NEON::BI__builtin_neon_vsha1su1q_v:
-    return EmitNeonCall(CGM.getIntrinsic(Intrinsic::arm_neon_sha1su1, Ty),
+    return EmitNeonCall(CGM.getIntrinsic(Intrinsic::arm_neon_sha1su1),
                         Ops, "sha1su1");
   case NEON::BI__builtin_neon_vsha256su0q_v:
-    return EmitNeonCall(CGM.getIntrinsic(Intrinsic::arm_neon_sha256su0, Ty),
+    return EmitNeonCall(CGM.getIntrinsic(Intrinsic::arm_neon_sha256su0),
                         Ops, "sha256su0");
   case NEON::BI__builtin_neon_vsha1su0q_v:
-    return EmitNeonCall(CGM.getIntrinsic(Intrinsic::arm_neon_sha1su0, Ty),
+    return EmitNeonCall(CGM.getIntrinsic(Intrinsic::arm_neon_sha1su0),
                         Ops, "sha1su0");
   case NEON::BI__builtin_neon_vsha256hq_v:
-    return EmitNeonCall(CGM.getIntrinsic(Intrinsic::arm_neon_sha256h, Ty),
+    return EmitNeonCall(CGM.getIntrinsic(Intrinsic::arm_neon_sha256h),
                         Ops, "sha256h");
   case NEON::BI__builtin_neon_vsha256h2q_v:
-    return EmitNeonCall(CGM.getIntrinsic(Intrinsic::arm_neon_sha256h2, Ty),
+    return EmitNeonCall(CGM.getIntrinsic(Intrinsic::arm_neon_sha256h2),
                         Ops, "sha256h2");
   case NEON::BI__builtin_neon_vsha256su1q_v:
-    return EmitNeonCall(CGM.getIntrinsic(Intrinsic::arm_neon_sha256su1, Ty),
+    return EmitNeonCall(CGM.getIntrinsic(Intrinsic::arm_neon_sha256su1),
                         Ops, "sha256su1");
   case NEON::BI__builtin_neon_vmul_lane_v:
   case NEON::BI__builtin_neon_vmul_laneq_v: {





More information about the cfe-commits mailing list