llvm 2.0 doesn't support llvm.isunordered.*

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32994 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2007-01-07 08:52:43 +00:00
parent f1d71b537c
commit f01da5939d
2 changed files with 0 additions and 21 deletions

View File

@ -161,10 +161,6 @@ let Properties = [IntrWriteArgMem] in {
}
let Properties = [IntrNoMem] in {
def int_isunordered_f32 : Intrinsic<[llvm_bool_ty,
llvm_float_ty, llvm_float_ty]>;
def int_isunordered_f64 : Intrinsic<[llvm_bool_ty,
llvm_double_ty, llvm_double_ty]>;
def int_sqrt_f32 : Intrinsic<[llvm_float_ty , llvm_float_ty]>;
def int_sqrt_f64 : Intrinsic<[llvm_double_ty, llvm_double_ty]>;

View File

@ -92,11 +92,6 @@ void IntrinsicLowering::AddPrototypes(Module &M) {
Type::Int32Ty, (--(--I->arg_end()))->getType(),
(Type *)0);
break;
case Intrinsic::isunordered_f32:
case Intrinsic::isunordered_f64:
EnsureFunctionExists(M, "isunordered", I->arg_begin(), I->arg_end(),
Type::BoolTy);
break;
case Intrinsic::sqrt_f32:
case Intrinsic::sqrt_f64:
if(I->arg_begin()->getType() == Type::FloatTy)
@ -392,18 +387,6 @@ void IntrinsicLowering::LowerIntrinsicCall(CallInst *CI) {
(*(CI->op_begin()+1))->getType(), MemsetFCache);
break;
}
case Intrinsic::isunordered_f32:
case Intrinsic::isunordered_f64: {
Value *L = CI->getOperand(1);
Value *R = CI->getOperand(2);
Value *LIsNan = new FCmpInst(FCmpInst::FCMP_ONE, L, L, "LIsNan", CI);
Value *RIsNan = new FCmpInst(FCmpInst::FCMP_ONE, R, R, "RIsNan", CI);
CI->replaceAllUsesWith(
BinaryOperator::create(Instruction::Or, LIsNan, RIsNan,
"isunordered", CI));
break;
}
case Intrinsic::sqrt_f32: {
static Constant *sqrtfFCache = 0;
ReplaceCallWith("sqrtf", CI, CI->op_begin()+1, CI->op_end(),