From 5adb5709d93c1a7ef2bdacd164e98a794f9ed09f Mon Sep 17 00:00:00 2001 From: Anders Carlsson Date: Sun, 9 Dec 2007 21:51:19 +0000 Subject: [PATCH] Implement __builtin_ia32_mulps. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44745 91177308-0d34-0410-b5e6-96231b3b80d8 --- CodeGen/CGBuiltin.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CodeGen/CGBuiltin.cpp b/CodeGen/CGBuiltin.cpp index 14e13e6ffc..7f3bd0ad31 100644 --- a/CodeGen/CGBuiltin.cpp +++ b/CodeGen/CGBuiltin.cpp @@ -80,6 +80,15 @@ RValue CodeGenFunction::EmitBuiltinExpr(unsigned BuiltinID, const CallExpr *E) { return RValue::get(V); } + if (strcmp(TargetPrefix, "x86") == 0) { + if (strcmp(BuiltinName, "__builtin_ia32_mulps") == 0) { + llvm::Value *V = Builder.CreateMul(EmitScalarExpr(E->getArg(0)), + EmitScalarExpr(E->getArg(1)), + "result"); + return RValue::get(V); + } + } + WarnUnsupported(E, "builtin function"); // Unknown builtin, for now just dump it out and return undef. @@ -179,6 +188,7 @@ RValue CodeGenFunction::EmitBuiltinExpr(unsigned BuiltinID, const CallExpr *E) { llvm::Value *V = llvm::ConstantFP::get(llvm::Type::DoubleTy, f); return RValue::get(V); } + } return RValue::get(0); -- 2.40.0