aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/VMCore/Function.cpp6
-rw-r--r--lib/VMCore/Verifier.cpp6
2 files changed, 12 insertions, 0 deletions
diff --git a/lib/VMCore/Function.cpp b/lib/VMCore/Function.cpp
index 89195a34a4..6d78711411 100644
--- a/lib/VMCore/Function.cpp
+++ b/lib/VMCore/Function.cpp
@@ -164,6 +164,12 @@ unsigned Function::getIntrinsicID() const {
return 0; // All intrinsics start with 'llvm.'
switch (getName()[5]) {
+ case 'a':
+ if (getName() == "llvm.alpha.ctlz") return LLVMIntrinsic::alpha_ctlz;
+ if (getName() == "llvm.alpha.cttz") return LLVMIntrinsic::alpha_cttz;
+ if (getName() == "llvm.alpha.ctpop") return LLVMIntrinsic::alpha_ctpop;
+ if (getName() == "llvm.alpha.umulh") return LLVMIntrinsic::alpha_umulh;
+ break;
case 'l':
if (getName() == "llvm.longjmp") return LLVMIntrinsic::longjmp;
break;
diff --git a/lib/VMCore/Verifier.cpp b/lib/VMCore/Verifier.cpp
index be839ab168..84556cddc1 100644
--- a/lib/VMCore/Verifier.cpp
+++ b/lib/VMCore/Verifier.cpp
@@ -521,6 +521,12 @@ void Verifier::visitIntrinsicFunctionCall(LLVMIntrinsic::ID ID, CallInst &CI) {
case LLVMIntrinsic::va_copy: NumArgs = 2; break;
case LLVMIntrinsic::setjmp: NumArgs = 1; break;
case LLVMIntrinsic::longjmp: NumArgs = 2; break;
+
+ case LLVMIntrinsic::alpha_ctlz: NumArgs = 1; break;
+ case LLVMIntrinsic::alpha_cttz: NumArgs = 1; break;
+ case LLVMIntrinsic::alpha_ctpop: NumArgs = 1; break;
+ case LLVMIntrinsic::alpha_umulh: NumArgs = 2; break;
+
case LLVMIntrinsic::not_intrinsic:
assert(0 && "Invalid intrinsic!"); NumArgs = 0; break;
}