]> granicus.if.org Git - clang/commitdiff
Add __builtin_labs and __builtin_llabs, to complete the set of __builtin_*abs. Patch...
authorEli Friedman <eli.friedman@gmail.com>
Tue, 17 Jan 2012 22:11:30 +0000 (22:11 +0000)
committerEli Friedman <eli.friedman@gmail.com>
Tue, 17 Jan 2012 22:11:30 +0000 (22:11 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148340 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Basic/Builtins.def
lib/CodeGen/CGBuiltin.cpp

index e3e2d7c26b70e02f54ffa55199925c6d12d525ba..0a16f9eb02ed2ee493f466d6941dc1fd41a8687a 100644 (file)
@@ -108,6 +108,8 @@ BUILTIN(__builtin_huge_vall, "Ld", "nc")
 BUILTIN(__builtin_inf  , "d"   , "nc")
 BUILTIN(__builtin_inff , "f"   , "nc")
 BUILTIN(__builtin_infl , "Ld"  , "nc")
+BUILTIN(__builtin_labs , "LiLi"  , "Fnc")
+BUILTIN(__builtin_llabs, "LLiLLi", "Fnc")
 BUILTIN(__builtin_ldexp , "ddi"  , "Fnc")
 BUILTIN(__builtin_ldexpf, "ffi"  , "Fnc")
 BUILTIN(__builtin_ldexpl, "LdLdi", "Fnc")
index 61fce424a8dd8b4a7bb9f773a201005e1add34d4..c2abae8a6aee6fc25fe9ddcf7fcb7fb25b9141d6 100644 (file)
@@ -214,7 +214,9 @@ RValue CodeGenFunction::EmitBuiltinExpr(const FunctionDecl *FD,
     return RValue::get(Builder.CreateCall2(CGM.getIntrinsic(Intrinsic::vacopy),
                                            DstPtr, SrcPtr));
   }
-  case Builtin::BI__builtin_abs: {
+  case Builtin::BI__builtin_abs: 
+  case Builtin::BI__builtin_labs:
+  case Builtin::BI__builtin_llabs: {
     Value *ArgValue = EmitScalarExpr(E->getArg(0));
 
     Value *NegOp = Builder.CreateNeg(ArgValue, "neg");