diff options
author | Chris Lattner <sabre@nondot.org> | 2003-07-28 21:20:57 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2003-07-28 21:20:57 +0000 |
commit | 2418b117babb081526784e12abfcbc8b6df0bd39 (patch) | |
tree | 29a805c390a9a3f71848a0f06e83b74020306970 /lib/VMCore | |
parent | f4836c754a5b37064d49220e1be97d46a28b9d8b (diff) | |
download | llvm-2418b117babb081526784e12abfcbc8b6df0bd39.tar.gz llvm-2418b117babb081526784e12abfcbc8b6df0bd39.tar.bz2 llvm-2418b117babb081526784e12abfcbc8b6df0bd39.tar.xz |
Add support for Alpha intrinsics, contributed by Rahul Joshi
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7373 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/VMCore')
-rw-r--r-- | lib/VMCore/Function.cpp | 6 | ||||
-rw-r--r-- | lib/VMCore/Verifier.cpp | 6 |
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; } |