Add support for Alpha intrinsics, contributed by Rahul Joshi
authorChris Lattner <sabre@nondot.org>
Mon, 28 Jul 2003 21:20:57 +0000 (21:20 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 28 Jul 2003 21:20:57 +0000 (21:20 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7373 91177308-0d34-0410-b5e6-96231b3b80d8

lib/VMCore/Function.cpp
lib/VMCore/Verifier.cpp

index 89195a34a42cd294d559e72ecb6fd68ca6993aeb..6d78711411bef9a83623b3df3ad46b15e251281c 100644 (file)
@@ -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;
index be839ab1687930dee4080c4f5692d376c60379e5..84556cddc1b453353ebd436d929cdf9a49314ca5 100644 (file)
@@ -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;
   }