[cfe-dev] C++ problem? (__builtin_fabsf not found) (SOLVED)

Graham Wakefield wakefield at mat.ucsb.edu
Sun Jun 13 18:21:18 PDT 2010


Wonderful, it works! Thank you very much!

On Jun 13, 2010, at 5:48 PM, Eli Friedman wrote:

> On Sun, Jun 13, 2010 at 5:24 PM, Graham Wakefield
> <wakefield at mat.ucsb.edu> wrote:
>> Hi again,
>> 
>> I've narrowed the problem down to almost the simplest possible; this is using CompilerInstance/CompilerInvocation, in a standard tool (rather than a dynamic library). The 'undeclared identifier __builtin_fabsf' problem only occurs when compiling C++ code, not C code.
>> 
>> Any suggestions would be most appreciated!
> 
> Comparing your code to FrontendAction::BeginSourceFile, it appears
> you're missing a line something like the following:
> 
>    PP.getBuiltinInfo().InitializeBuiltins(PP.getIdentifierTable(),
>                                           PP.getLangOptions().NoBuiltin);
> 
> -Eli
> 
>> 
>> 
>> The tool is used to compile the following code:
>> 
>> #include <math.h>
>> #include <stdio.h>
>> 
>> #ifdef __cplusplus
>> extern "C" {
>> #endif
>> 
>> void test() {
>>        printf("%d\n", fabs(3.14));
>> }
>> 
>> #ifdef __cplusplus
>> }
>> #endif
>> 
>> At this point, it works fine if I compile this as C. If I try to compile it as C++, it reports errors as follows:
>> 
>> In file included from src:2:
>> In file included from /usr/include/math.h:28:
>> /usr/include/architecture/i386/math.h:179:63: error: use of undeclared identifier '__builtin_fabsf'
>> 
>> /usr/include/math.h line 27-28:
>> #elif (defined (__i386__) || defined( __x86_64__ ))
>> #include "architecture/i386/math.h"
>> 
>> /usr/include/architecture/i386/math.h line 179:
>>        static __inline__  int __inline_isinff( float __x ) { return __builtin_fabsf(__x) == __builtin_inff(); }
>> 
>> 
>> I'm confused why turning C++ on/off makes any difference.
>> 
>> 
>> Here is my source:
>> 
>> 
>> #include "clang/AST/ASTContext.h"
>> #include "clang/Basic/Builtins.h"
>> #include "clang/Basic/TargetInfo.h"
>> #include "clang/Basic/SourceManager.h"
>> #include "clang/CodeGen/ModuleBuilder.h"
>> #include "clang/Frontend/CompilerInstance.h"
>> #include "clang/Frontend/TextDiagnosticBuffer.h"
>> #include "clang/Sema/ParseAST.h"
>> 
>> #include "llvm/ExecutionEngine/JIT.h"
>> #include "llvm/ExecutionEngine/JITEventListener.h"
>> #include "llvm/LLVMContext.h"
>> #include "llvm/Module.h"
>> #include "llvm/Target/TargetSelect.h"
>> #include "llvm/Type.h"
>> #include "llvm/Support/MemoryBuffer.h"
>> 
>> using namespace clang;
>> 
>> void compile(const char * src) {
>>        llvm::LLVMContext llvmContext;
>>        llvm::MemoryBuffer *buffer = llvm::MemoryBuffer::getMemBufferCopy(src, src+strlen(src), "src");
>>        if(!buffer) {
>>                printf("couldn't create buffer\n");
>>        }
>> 
>>        CompilerInstance MyCI;
>>        TextDiagnosticBuffer DiagsBuffer;
>>        Diagnostic Diags(&DiagsBuffer);
>>        CompilerInvocation::CreateFromArgs(MyCI.getInvocation(), NULL, NULL, Diags);
>> 
>> 
>>        /* ENABLE/DISABLE C++ */
>>        MyCI.getInvocation().getLangOpts().CPlusPlus = 1;
>> 
>> 
>>        // Create the actual diagnostics engine.
>>        MyCI.createDiagnostics(0, NULL);
>>        if (!MyCI.hasDiagnostics())
>>                return;
>> 
>>        MyCI.createSourceManager();
>>        MyCI.getSourceManager().createMainFileIDForMemBuffer(buffer);
>>        MyCI.createFileManager();
>>        MyCI.setTarget(TargetInfo::CreateTargetInfo(MyCI.getDiagnostics(), MyCI.getTargetOpts()));
>>        MyCI.createPreprocessor();
>>        MyCI.getPreprocessor();
>>        MyCI.createASTContext();
>> 
>>        llvm::SmallVector<const char *, 32> BuiltinNames;
>>        printf("NoBuiltins: %d\n", MyCI.getASTContext().getLangOptions().NoBuiltin);
>>        MyCI.getASTContext().BuiltinInfo.GetBuiltinNames(BuiltinNames, MyCI.getASTContext().getLangOptions().NoBuiltin);
>>        for (int i = 0; i<BuiltinNames.size(); i++) {
>>                printf("Builtin %s\n", BuiltinNames[i]);
>>        }
>> 
>>        ASTContext &context = MyCI.getASTContext();
>>        CodeGenOptions CGO;
>>        CodeGenerator * codegen = CreateLLVMCodeGen(Diags, "mymodule", CGO,llvmContext );
>>        ParseAST(MyCI.getPreprocessor(),
>>            codegen,
>>            MyCI.getASTContext(),
>>            true,
>>            true,
>>            0);
>> 
>>        llvm::Module* module = codegen->ReleaseModule();
>>        delete codegen;
>> 
>>        if (module) {
>>                module->dump();
>>        }
>> }
>> 
>> const char * src = "\n"
>>        "#include <math.h>\n"
>>        "#include <stdio.h>\n"
>>        "\n"
>>        "#ifdef __cplusplus \n"
>>        "extern \"C\" { \n"
>>        "#endif \n"
>>        " \n"
>>        "void test() { \n"
>>        "       printf(\"%d \\n\", fabs(3.14)); \n"
>>        "} \n"
>>        " \n"
>>        "#ifdef __cplusplus \n"
>>        "} \n"
>>        "#endif \n"
>>        "";
>> 
>> int main (int argc, char * const argv[]) {
>>        llvm::InitializeAllTargets();
>>        llvm::InitializeAllAsmPrinters();
>>        compile(src);
>>        return 0;
>> }
>> 
>> 
>> This is running on OS X 10.6.3, a 64-bit machine, linking against LLVM/Clang 2.7 libraries built as follows:
>> 
>> sudo make clean
>> env MACOSX_DEPLOYMENT_TARGET=10.5 ./configure --enable-targets=x86,x86_64 --enable-jit --enable-optimized --enable-pic
>> env MACOSX_DEPLOYMENT_TARGET=10.5 sudo make DARWIN_VERSION=10.5 UNIVERSAL=1 UNIVERSAL_ARCH="i386 x86_64" UNIVERSAL_SDK_PATH=/Developer/SDKs/MacOSX10.5.sdk/
>> sudo make install
>> 
>> 
>> 
>> Thanks!
>> 
>> 
>> On Jun 2, 2010, at 7:56 PM, Graham Wakefield wrote:
>> 
>>> Hi,
>>> 
>>> I'm trying to embed Clang 2.7 into a tool driven by Lua. I had this working fine with 2.6, but am having problems with 2.7: some builtins appear to not be found. Including <math.h> leads to errors such as:
>>> 
>>> error (/usr/include/architecture/i386/math.h): use of undeclared identifier '__builtin_fabsf'
>>> 
>>> I printed out the list of builtins used by context, and __builtin_fabsf is in that list:
>>> 
>>>               llvm::SmallVector<const char *, 32> BuiltinNames;
>>>               Ctx.BuiltinInfo.GetBuiltinNames(BuiltinNames, Ctx.getLangOptions().NoBuiltin);
>>>               for (int i = 0; i<BuiltinNames.size(); i++) {
>>>                       printf("Builtin %s\n", BuiltinNames[i]);                //--> list includes '__builtin_fabsf'
>>>               }
>>> 
>>> Also, if I disable C++ in the LangOptions, incuding "stdarg.h" leads to errors about 'redefinition of va_list'.
>>> 
>>> I'm including the lib/clang/1.1/include path, so these headers are being found.
>>> 
>>> It's hard to know what else to try - I've been banging on this all day and can't figure it out - any help would be *much* appreciated!
>>> 
>>> here's the main code driving the compilation - if anything here looks unusual let me know!:
>>> 
>>>               std::string unitsrc = ... // source code to compile is entered at runtime.
>>> 
>>>               // Souce to compile
>>>               llvm::MemoryBuffer *buffer = llvm::MemoryBuffer::getMemBufferCopy(unitsrc.c_str(), unitsrc.c_str() + unitsrc.size(), unitname.c_str());
>>>               if(!buffer) {
>>>                       luaL_error(L, "couldn't load %s", unitsrc.c_str());
>>>               }
>>> 
>>>               clang::Diagnostic diags(&client);
>>> 
>>>               // modify this for specific language, features etc.
>>>               clang::LangOptions langopts;
>>>               langopts.C99 = 1;
>>>               langopts.CPlusPlus = 1;
>>>               langopts.HexFloats = 1;
>>>               langopts.BCPLComment = 1;  // Only for C99/C++.
>>>               langopts.Digraphs = 1;     // C94, C99, C++.
>>>               langopts.GNUMode = 1;
>>>               langopts.ImplicitInt = 0;
>>>               langopts.DollarIdents = 1;
>>>               langopts.WritableStrings = 0;
>>>               langopts.Exceptions = 0;
>>>               langopts.RTTI = 0;
>>>               langopts.Bool = 0;
>>>               langopts.MathErrno = 0;
>>>               langopts.InstantiationDepth = 99;
>>>               langopts.OptimizeSize = 0;
>>>               langopts.PICLevel = 1;
>>>               langopts.GNUInline = 0;
>>>               langopts.NoInline = 1;
>>>               langopts.Static = 0;
>>> 
>>>               // modify this for specific host, CPU, ABI, features etc.
>>>               clang::TargetOptions targetopts;
>>>               targetopts.Triple = llvm::sys::getHostTriple();
>>>               targetopts.CPU = llvm::sys::getHostCPUName();
>>>               //targetopts.ABI = ?
>>>               printf("cpu %s triple %s\n", targetopts.CPU.data(), targetopts.Triple.data());
>>> 
>>>               clang::TargetInfo * target = clang::TargetInfo::CreateTargetInfo(diags, targetopts);
>>>               if (!target)
>>>                       luaL_error(L, "could not create target");
>>> 
>>>               SM.createMainFileIDForMemBuffer(buffer);
>>> 
>>>               clang::FileManager FM;
>>>               clang::HeaderSearch headers(FM);
>>> 
>>>               clang::HeaderSearchOptions headeropts;
>>>               for (std::list<std::string>::iterator it = iflags.begin(); it != iflags.end(); it++) {
>>>                       llvm::StringRef Path(*it);
>>>                       clang::frontend::IncludeDirGroup Group = clang::frontend::Angled;
>>>                       bool IsUserSupplied = true;
>>>                       bool IsFramework = false;
>>>                       headeropts.AddPath(Path, Group, IsUserSupplied, IsFramework);
>>>                       printf("adding path %s\n", Path.data());
>>>               }
>>>               clang::ApplyHeaderSearchOptions(headers, headeropts, langopts, llvm::Triple(targetopts.Triple));
>>> 
>>>               clang::IdentifierInfoLookup * IILookup = 0;
>>>               bool OwnsHeaderSearch = false;
>>> 
>>>               clang::Preprocessor pp(diags, langopts, *target, SM, headers, IILookup, OwnsHeaderSearch);
>>> 
>>>               /// InitializePreprocessor - Initialize the preprocessor getting it and the
>>>               /// environment ready to process a single file.
>>>               clang::PreprocessorOptions ppopts;
>>>               //ppopts.addMacroDef(llvm::StringRef Name)
>>>               clang::FrontendOptions frontendopts;
>>>               //DebugCodeCompletionPrinter = 1;
>>>               //DisableFree = 0;
>>>               //EmptyInputOnly = 0;
>>>               //ProgramAction = frontend::ParseSyntaxOnly;
>>>               //ActionName = "";
>>>               //RelocatablePCH = 0;
>>>               //ShowHelp = 0;
>>>               //ShowMacrosInCodeCompletion = 0;
>>>               //ShowStats = 0;
>>>               //ShowTimers = 0;
>>>               //ShowVersion = 0;
>>>               clang::InitializePreprocessor(pp, ppopts, headeropts, frontendopts);
>>> 
>>> 
>>>               printf("predefines %s\n", pp.getPredefines().data());
>>> 
>>> 
>>>               clang::IdentifierInfoLookup* externalLookup = 0;
>>>               clang::IdentifierTable idents(langopts, externalLookup);
>>>               clang::SelectorTable sels;
>>>               clang::Builtin::Context builtins(*target);
>>>               bool NoBuiltins = false;
>>>               builtins.InitializeBuiltins(idents, NoBuiltins);
>>> 
>>>               bool FreeMemory = true;
>>>               unsigned size_reserve=0;
>>> 
>>>               clang::ASTContext Ctx(pp.getLangOptions(), SM, pp.getTargetInfo(), pp.getIdentifierTable(), pp.getSelectorTable(), pp.getBuiltinInfo(), FreeMemory, size_reserve);
>>> 
>>>               clang::CodeGenOptions codegenopts;
>>>               //codegenopts.AsmVerbose = 0;
>>>               //codegenopts.DebugInfo = 0;
>>>               //codegenopts.DisableFPElim = 0;
>>>               //codegenopts.DisableLLVMOpts = 0;
>>>               //codegenopts.DisableRedZone = 0;
>>>               //codegenopts.MergeAllConstants = 1;
>>>               //codegenopts.NoCommon = 0;
>>>               //codegenopts.NoImplicitFloat = 0;
>>>               //codegenopts.NoZeroInitializedInBSS = 0;
>>>               //codegenopts.ObjCLegacyDispatch = 0;
>>>               //codegenopts.OptimizationLevel = 0;
>>>               //codegenopts.OptimizeSize = 0;
>>>               //codegenopts.SoftFloat = 0;
>>>               //codegenopts.TimePasses = 0;
>>>               //codegenopts.UnitAtATime = 1;
>>>               //codegenopts.UnrollLoops = 0;
>>>               //codegenopts.UnwindTables = 0;
>>>               //codegenopts.VerifyModule = 1;
>>>               //codegenopts.CXXCtorDtorAliases = 0;
>>>               //codegenopts.Inlining = NoInlining;
>>>               //codegenopts.RelocationModel = "pic";
>>>               clang::CodeGenerator * codegen = clang::CreateLLVMCodeGen(diags, unitname, codegenopts, llvm::getGlobalContext());
>>> 
>>>               bool PrintStats = true;
>>>               /// \param CompleteTranslationUnit When true, the parsed file is
>>>               /// considered to be a complete translation unit, and any
>>>               /// end-of-translation-unit wrapup will be performed.
>>>               bool CompleteTranslationUnit = true;
>>>               /// \param CompletionConsumer If given, an object to consume code completion
>>>               /// results.
>>>               clang::CodeCompleteConsumer * CompletionConsumer = 0;
>>>               clang::ParseAST(pp, codegen, Ctx, PrintStats, CompleteTranslationUnit, CompletionConsumer);
>>> 
>>>               llvm::SmallVector<const char *, 32> BuiltinNames;
>>>               Ctx.BuiltinInfo.GetBuiltinNames(BuiltinNames, Ctx.getLangOptions().NoBuiltin);
>>>               for (int i = 0; i<BuiltinNames.size(); i++) {
>>>                       printf("Builtin %s\n", BuiltinNames[i]);
>>>               }
>>> 
>>>               llvm::Module * cmodule = codegen->ReleaseModule(); // or GetModule() if we want to reuse it?
>>> 
>>>               ... and on to error handling etc.
>>> 
>>> This is using LLVM/Clang 2.7 release, built on Mac OS 10.6, with the following ./configure/make invocation (I need to support OS 10.5+ and 32/64 bit universal):
>>> 
>>> env MACOSX_DEPLOYMENT_TARGET=10.5 ./configure --enable-targets=x86,x86_64 --enable-jit --enable-optimized --enable-pic
>>> env MACOSX_DEPLOYMENT_TARGET=10.5 sudo make DARWIN_VERSION=10.5 UNIVERSAL=1 UNIVERSAL_ARCH="i386 x86_64" UNIVERSAL_SDK_PATH=/Developer/SDKs/MacOSX10.5.sdk/
>>> 
>>> Output follows:
>>> 
>>> cpu penryn triple i386-apple-darwin10
>>> predefines # 1 "<built-in>" 3
>>> #define __llvm__ 1
>>> #define __clang__ 1
>>> #define __GNUC_MINOR__ 2
>>> #define __GNUC_PATCHLEVEL__ 1
>>> #define __GNUC__ 4
>>> #define __GXX_ABI_VERSION 1002
>>> #define __VERSION__ "4.2.1 Compatible Clang Compiler"
>>> #define __STDC__ 1
>>> #define __STDC_HOSTED__ 1
>>> #define __CONSTANT_CFSTRINGS__ 1
>>> #define __DEPRECATED 1
>>> #define __GNUG__ 4
>>> #define __GXX_WEAK__ 1
>>> #define __cplusplus 1
>>> #define __private_extern__ extern
>>> #define _GNU_SOURCE 1
>>> #define __CHAR_BIT__ 8
>>> #define __SCHAR_MAX__ 127
>>> #define __SHRT_MAX__ 32767
>>> #define __INT_MAX__ 2147483647
>>> #define __LONG_MAX__ 2147483647L
>>> #define __LONG_LONG_MAX__ 9223372036854775807LL
>>> #define __WCHAR_MAX__ 2147483647
>>> #define __INTMAX_MAX__ 9223372036854775807LL
>>> #define __INTMAX_TYPE__ long long int
>>> #define __UINTMAX_TYPE__ long long unsigned int
>>> #define __INTMAX_WIDTH__ 64
>>> #define __PTRDIFF_TYPE__ int
>>> #define __PTRDIFF_WIDTH__ 32
>>> #define __INTPTR_TYPE__ long int
>>> #define __INTPTR_WIDTH__ 32
>>> #define __SIZE_TYPE__ long unsigned int
>>> #define __SIZE_WIDTH__ 32
>>> #define __WCHAR_TYPE__ int
>>> #define __WCHAR_WIDTH__ 32
>>> #define __WINT_TYPE__ int
>>> #define __WINT_WIDTH__ 32
>>> #define __SIG_ATOMIC_WIDTH__ 32
>>> #define __FLT_DENORM_MIN__ 1.40129846e-45F
>>> #define __FLT_HAS_DENORM__ 1
>>> #define __FLT_DIG__ 6
>>> #define __FLT_EPSILON__ 1.19209290e-7F
>>> #define __FLT_HAS_INFINITY__ 1
>>> #define __FLT_HAS_QUIET_NAN__ 1
>>> #define __FLT_MANT_DIG__ 24
>>> #define __FLT_MAX_10_EXP__ 38
>>> #define __FLT_MAX_EXP__ 128
>>> #define __FLT_MAX__ 3.40282347e+38F
>>> #define __FLT_MIN_10_EXP__ (-37)
>>> #define __FLT_MIN_EXP__ (-125)
>>> #define __FLT_MIN__ 1.17549435e-38F
>>> #define __DBL_DENORM_MIN__ 4.9406564584124654e-324
>>> #define __DBL_HAS_DENORM__ 1
>>> #define __DBL_DIG__ 15
>>> #define __DBL_EPSILON__ 2.2204460492503131e-16
>>> #define __DBL_HAS_INFINITY__ 1
>>> #define __DBL_HAS_QUIET_NAN__ 1
>>> #define __DBL_MANT_DIG__ 53
>>> #define __DBL_MAX_10_EXP__ 308
>>> #define __DBL_MAX_EXP__ 1024
>>> #define __DBL_MAX__ 1.7976931348623157e+308
>>> #define __DBL_MIN_10_EXP__ (-307)
>>> #define __DBL_MIN_EXP__ (-1021)
>>> #define __DBL_MIN__ 2.2250738585072014e-308
>>> #define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
>>> #define __LDBL_HAS_DENORM__ 1
>>> #define __LDBL_DIG__ 18
>>> #define __LDBL_EPSILON__ 1.08420217248550443401e-19L
>>> #define __LDBL_HAS_INFINITY__ 1
>>> #define __LDBL_HAS_QUIET_NAN__ 1
>>> #define __LDBL_MANT_DIG__ 64
>>> #define __LDBL_MAX_10_EXP__ 4932
>>> #define __LDBL_MAX_EXP__ 16384
>>> #define __LDBL_MAX__ 1.18973149535723176502e+4932L
>>> #define __LDBL_MIN_10_EXP__ (-4931)
>>> #define __LDBL_MIN_EXP__ (-16381)
>>> #define __LDBL_MIN__ 3.36210314311209350626e-4932L
>>> #define __POINTER_WIDTH__ 32
>>> #define __INT8_TYPE__ char
>>> #define __INT16_TYPE__ short
>>> #define __INT32_TYPE__ int
>>> #define __INT64_TYPE__ long long int
>>> #define __INT64_C_SUFFIX__ LL
>>> typedef char* __builtin_va_list;
>>> #define __USER_LABEL_PREFIX__ _
>>> #define __FINITE_MATH_ONLY__ 0
>>> #define __GNUC_STDC_INLINE__ 1
>>> #define __NO_INLINE__ 1
>>> #define __PIC__ 1
>>> #define __pic__ 1
>>> #define __FLT_EVAL_METHOD__ 0
>>> #define __FLT_RADIX__ 2
>>> #define __DECIMAL_DIG__ 21
>>> #define i386 1
>>> #define __i386 1
>>> #define __i386__ 1
>>> #define __LITTLE_ENDIAN__ 1
>>> #define __nocona 1
>>> #define __nocona__ 1
>>> #define __tune_nocona__ 1
>>> #define __REGISTER_PREFIX__
>>> #define __NO_MATH_INLINES 1
>>> #define __SSE4_1__ 1
>>> #define __SSSE3__ 1
>>> #define __SSE3__ 1
>>> #define __SSE2__ 1
>>> #define __SSE2_MATH__ 1
>>> #define __SSE__ 1
>>> #define __SSE_MATH__ 1
>>> #define __MMX__ 1
>>> #define __APPLE_CC__ 5621
>>> #define __APPLE__ 1
>>> #define __MACH__ 1
>>> #define OBJC_NEW_PROPERTIES 1
>>> #define __weak __attribute__((objc_gc(weak)))
>>> #define __strong
>>> #define __DYNAMIC__ 1
>>> #define __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ 1060
>>> # 1 "<command line>" 1
>>> # 1 "<built-in>" 2
>>> 
>>> Builtin __builtin_atan2
>>> Builtin __builtin_atan2f
>>> Builtin __builtin_atan2l
>>> Builtin __builtin_abs
>>> Builtin __builtin_copysign
>>> Builtin __builtin_copysignf
>>> Builtin __builtin_copysignl
>>> Builtin __builtin_fabs
>>> Builtin __builtin_fabsf
>>> Builtin __builtin_fabsl
>>> Builtin __builtin_fmod
>>> Builtin __builtin_fmodf
>>> Builtin __builtin_fmodl
>>> Builtin __builtin_frexp
>>> Builtin __builtin_frexpf
>>> Builtin __builtin_frexpl
>>> Builtin __builtin_huge_val
>>> Builtin __builtin_huge_valf
>>> Builtin __builtin_huge_vall
>>> Builtin __builtin_inf
>>> Builtin __builtin_inff
>>> Builtin __builtin_infl
>>> Builtin __builtin_ldexp
>>> Builtin __builtin_ldexpf
>>> Builtin __builtin_ldexpl
>>> Builtin __builtin_modf
>>> Builtin __builtin_modff
>>> Builtin __builtin_modfl
>>> Builtin __builtin_nan
>>> Builtin __builtin_nanf
>>> Builtin __builtin_nanl
>>> Builtin __builtin_nans
>>> Builtin __builtin_nansf
>>> Builtin __builtin_nansl
>>> Builtin __builtin_powi
>>> Builtin __builtin_powif
>>> Builtin __builtin_powil
>>> Builtin __builtin_pow
>>> Builtin __builtin_powf
>>> Builtin __builtin_powl
>>> Builtin __builtin_acos
>>> Builtin __builtin_acosf
>>> Builtin __builtin_acosl
>>> Builtin __builtin_asin
>>> Builtin __builtin_asinf
>>> Builtin __builtin_asinl
>>> Builtin __builtin_atan
>>> Builtin __builtin_atanf
>>> Builtin __builtin_atanl
>>> Builtin __builtin_ceil
>>> Builtin __builtin_ceilf
>>> Builtin __builtin_ceill
>>> Builtin __builtin_cos
>>> Builtin __builtin_cosf
>>> Builtin __builtin_cosh
>>> Builtin __builtin_coshf
>>> Builtin __builtin_coshl
>>> Builtin __builtin_cosl
>>> Builtin __builtin_exp
>>> Builtin __builtin_expf
>>> Builtin __builtin_expl
>>> Builtin __builtin_floor
>>> Builtin __builtin_floorf
>>> Builtin __builtin_floorl
>>> Builtin __builtin_hypot
>>> Builtin __builtin_hypotf
>>> Builtin __builtin_hypotl
>>> Builtin __builtin_log
>>> Builtin __builtin_log10
>>> Builtin __builtin_log10f
>>> Builtin __builtin_log10l
>>> Builtin __builtin_logf
>>> Builtin __builtin_logl
>>> Builtin __builtin_sin
>>> Builtin __builtin_sinf
>>> Builtin __builtin_sinh
>>> Builtin __builtin_sinhf
>>> Builtin __builtin_sinhl
>>> Builtin __builtin_sinl
>>> Builtin __builtin_sqrt
>>> Builtin __builtin_sqrtf
>>> Builtin __builtin_sqrtl
>>> Builtin __builtin_tan
>>> Builtin __builtin_tanf
>>> Builtin __builtin_tanh
>>> Builtin __builtin_tanhf
>>> Builtin __builtin_tanhl
>>> Builtin __builtin_tanl
>>> Builtin __builtin_cabs
>>> Builtin __builtin_cabsf
>>> Builtin __builtin_cabsl
>>> Builtin __builtin_cacos
>>> Builtin __builtin_cacosf
>>> Builtin __builtin_cacosl
>>> Builtin __builtin_carg
>>> Builtin __builtin_cargf
>>> Builtin __builtin_cargl
>>> Builtin __builtin_casin
>>> Builtin __builtin_casinf
>>> Builtin __builtin_casinl
>>> Builtin __builtin_catan
>>> Builtin __builtin_catanf
>>> Builtin __builtin_catanl
>>> Builtin __builtin_ccos
>>> Builtin __builtin_ccosf
>>> Builtin __builtin_ccosl
>>> Builtin __builtin_ccosh
>>> Builtin __builtin_ccoshf
>>> Builtin __builtin_ccoshl
>>> Builtin __builtin_cexp
>>> Builtin __builtin_cexpf
>>> Builtin __builtin_cexpl
>>> Builtin __builtin_cimag
>>> Builtin __builtin_cimagf
>>> Builtin __builtin_cimagl
>>> Builtin __builtin_conj
>>> Builtin __builtin_conjf
>>> Builtin __builtin_conjl
>>> Builtin __builtin_clog
>>> Builtin __builtin_clogf
>>> Builtin __builtin_clogl
>>> Builtin __builtin_cproj
>>> Builtin __builtin_cprojf
>>> Builtin __builtin_cprojl
>>> Builtin __builtin_cpow
>>> Builtin __builtin_cpowf
>>> Builtin __builtin_cpowl
>>> Builtin __builtin_creal
>>> Builtin __builtin_crealf
>>> Builtin __builtin_creall
>>> Builtin __builtin_csin
>>> Builtin __builtin_csinf
>>> Builtin __builtin_csinl
>>> Builtin __builtin_csinh
>>> Builtin __builtin_csinhf
>>> Builtin __builtin_csinhl
>>> Builtin __builtin_csqrt
>>> Builtin __builtin_csqrtf
>>> Builtin __builtin_csqrtl
>>> Builtin __builtin_ctan
>>> Builtin __builtin_ctanf
>>> Builtin __builtin_ctanl
>>> Builtin __builtin_ctanh
>>> Builtin __builtin_ctanhf
>>> Builtin __builtin_ctanhl
>>> Builtin __builtin_isgreater
>>> Builtin __builtin_isgreaterequal
>>> Builtin __builtin_isless
>>> Builtin __builtin_islessequal
>>> Builtin __builtin_islessgreater
>>> Builtin __builtin_isunordered
>>> Builtin __builtin_fpclassify
>>> Builtin __builtin_isfinite
>>> Builtin __builtin_isinf
>>> Builtin __builtin_isinf_sign
>>> Builtin __builtin_isnan
>>> Builtin __builtin_isnormal
>>> Builtin __builtin_signbit
>>> Builtin __builtin_signbitf
>>> Builtin __builtin_signbitl
>>> Builtin __builtin_clz
>>> Builtin __builtin_clzl
>>> Builtin __builtin_clzll
>>> Builtin __builtin_ctz
>>> Builtin __builtin_ctzl
>>> Builtin __builtin_ctzll
>>> Builtin __builtin_ffs
>>> Builtin __builtin_ffsl
>>> Builtin __builtin_ffsll
>>> Builtin __builtin_parity
>>> Builtin __builtin_parityl
>>> Builtin __builtin_parityll
>>> Builtin __builtin_popcount
>>> Builtin __builtin_popcountl
>>> Builtin __builtin_popcountll
>>> Builtin __builtin_bswap32
>>> Builtin __builtin_bswap64
>>> Builtin __builtin_constant_p
>>> Builtin __builtin_classify_type
>>> Builtin __builtin___CFStringMakeConstantString
>>> Builtin __builtin___NSStringMakeConstantString
>>> Builtin __builtin_va_start
>>> Builtin __builtin_va_end
>>> Builtin __builtin_va_copy
>>> Builtin __builtin_stdarg_start
>>> Builtin __builtin_bcmp
>>> Builtin __builtin_bcopy
>>> Builtin __builtin_bzero
>>> Builtin __builtin_memchr
>>> Builtin __builtin_memcmp
>>> Builtin __builtin_memcpy
>>> Builtin __builtin_memmove
>>> Builtin __builtin_mempcpy
>>> Builtin __builtin_memset
>>> Builtin __builtin_stpcpy
>>> Builtin __builtin_stpncpy
>>> Builtin __builtin_strcasecmp
>>> Builtin __builtin_strcat
>>> Builtin __builtin_strchr
>>> Builtin __builtin_strcmp
>>> Builtin __builtin_strcpy
>>> Builtin __builtin_strcspn
>>> Builtin __builtin_strdup
>>> Builtin __builtin_strlen
>>> Builtin __builtin_strncasecmp
>>> Builtin __builtin_strncat
>>> Builtin __builtin_strncmp
>>> Builtin __builtin_strncpy
>>> Builtin __builtin_strndup
>>> Builtin __builtin_strpbrk
>>> Builtin __builtin_strrchr
>>> Builtin __builtin_strspn
>>> Builtin __builtin_strstr
>>> Builtin __builtin_return_address
>>> Builtin __builtin_extract_return_addr
>>> Builtin __builtin_frame_address
>>> Builtin __builtin_flt_rounds
>>> Builtin __builtin_setjmp
>>> Builtin __builtin_longjmp
>>> Builtin __builtin_unwind_init
>>> Builtin __builtin_eh_return_data_regno
>>> Builtin __builtin_vsnprintf
>>> Builtin __builtin_eh_return
>>> Builtin __builtin_frob_return_addr
>>> Builtin __builtin_dwarf_cfa
>>> Builtin __builtin_init_dwarf_reg_size_table
>>> Builtin __builtin_dwarf_sp_column
>>> Builtin __builtin_extend_pointer
>>> Builtin __builtin_object_size
>>> Builtin __builtin___memcpy_chk
>>> Builtin __builtin___memmove_chk
>>> Builtin __builtin___mempcpy_chk
>>> Builtin __builtin___memset_chk
>>> Builtin __builtin___stpcpy_chk
>>> Builtin __builtin___strcat_chk
>>> Builtin __builtin___strcpy_chk
>>> Builtin __builtin___strncat_chk
>>> Builtin __builtin___strncpy_chk
>>> Builtin __builtin___snprintf_chk
>>> Builtin __builtin___sprintf_chk
>>> Builtin __builtin___vsnprintf_chk
>>> Builtin __builtin___vsprintf_chk
>>> Builtin __builtin___fprintf_chk
>>> Builtin __builtin___printf_chk
>>> Builtin __builtin___vfprintf_chk
>>> Builtin __builtin___vprintf_chk
>>> Builtin __builtin_expect
>>> Builtin __builtin_prefetch
>>> Builtin __builtin_abort
>>> Builtin __builtin_trap
>>> Builtin __builtin_unreachable
>>> Builtin __builtin_shufflevector
>>> Builtin __builtin_alloca
>>> Builtin __sync_fetch_and_add
>>> Builtin __sync_fetch_and_add_1
>>> Builtin __sync_fetch_and_add_2
>>> Builtin __sync_fetch_and_add_4
>>> Builtin __sync_fetch_and_add_8
>>> Builtin __sync_fetch_and_add_16
>>> Builtin __sync_fetch_and_sub
>>> Builtin __sync_fetch_and_sub_1
>>> Builtin __sync_fetch_and_sub_2
>>> Builtin __sync_fetch_and_sub_4
>>> Builtin __sync_fetch_and_sub_8
>>> Builtin __sync_fetch_and_sub_16
>>> Builtin __sync_fetch_and_or
>>> Builtin __sync_fetch_and_or_1
>>> Builtin __sync_fetch_and_or_2
>>> Builtin __sync_fetch_and_or_4
>>> Builtin __sync_fetch_and_or_8
>>> Builtin __sync_fetch_and_or_16
>>> Builtin __sync_fetch_and_and
>>> Builtin __sync_fetch_and_and_1
>>> Builtin __sync_fetch_and_and_2
>>> Builtin __sync_fetch_and_and_4
>>> Builtin __sync_fetch_and_and_8
>>> Builtin __sync_fetch_and_and_16
>>> Builtin __sync_fetch_and_xor
>>> Builtin __sync_fetch_and_xor_1
>>> Builtin __sync_fetch_and_xor_2
>>> Builtin __sync_fetch_and_xor_4
>>> Builtin __sync_fetch_and_xor_8
>>> Builtin __sync_fetch_and_xor_16
>>> Builtin __sync_fetch_and_nand
>>> Builtin __sync_fetch_and_nand_1
>>> Builtin __sync_fetch_and_nand_2
>>> Builtin __sync_fetch_and_nand_4
>>> Builtin __sync_fetch_and_nand_8
>>> Builtin __sync_fetch_and_nand_16
>>> Builtin __sync_add_and_fetch
>>> Builtin __sync_add_and_fetch_1
>>> Builtin __sync_add_and_fetch_2
>>> Builtin __sync_add_and_fetch_4
>>> Builtin __sync_add_and_fetch_8
>>> Builtin __sync_add_and_fetch_16
>>> Builtin __sync_sub_and_fetch
>>> Builtin __sync_sub_and_fetch_1
>>> Builtin __sync_sub_and_fetch_2
>>> Builtin __sync_sub_and_fetch_4
>>> Builtin __sync_sub_and_fetch_8
>>> Builtin __sync_sub_and_fetch_16
>>> Builtin __sync_or_and_fetch
>>> Builtin __sync_or_and_fetch_1
>>> Builtin __sync_or_and_fetch_2
>>> Builtin __sync_or_and_fetch_4
>>> Builtin __sync_or_and_fetch_8
>>> Builtin __sync_or_and_fetch_16
>>> Builtin __sync_and_and_fetch
>>> Builtin __sync_and_and_fetch_1
>>> Builtin __sync_and_and_fetch_2
>>> Builtin __sync_and_and_fetch_4
>>> Builtin __sync_and_and_fetch_8
>>> Builtin __sync_and_and_fetch_16
>>> Builtin __sync_xor_and_fetch
>>> Builtin __sync_xor_and_fetch_1
>>> Builtin __sync_xor_and_fetch_2
>>> Builtin __sync_xor_and_fetch_4
>>> Builtin __sync_xor_and_fetch_8
>>> Builtin __sync_xor_and_fetch_16
>>> Builtin __sync_nand_and_fetch
>>> Builtin __sync_nand_and_fetch_1
>>> Builtin __sync_nand_and_fetch_2
>>> Builtin __sync_nand_and_fetch_4
>>> Builtin __sync_nand_and_fetch_8
>>> Builtin __sync_nand_and_fetch_16
>>> Builtin __sync_bool_compare_and_swap
>>> Builtin __sync_bool_compare_and_swap_1
>>> Builtin __sync_bool_compare_and_swap_2
>>> Builtin __sync_bool_compare_and_swap_4
>>> Builtin __sync_bool_compare_and_swap_8
>>> Builtin __sync_bool_compare_and_swap_16
>>> Builtin __sync_val_compare_and_swap
>>> Builtin __sync_val_compare_and_swap_1
>>> Builtin __sync_val_compare_and_swap_2
>>> Builtin __sync_val_compare_and_swap_4
>>> Builtin __sync_val_compare_and_swap_8
>>> Builtin __sync_val_compare_and_swap_16
>>> Builtin __sync_lock_test_and_set
>>> Builtin __sync_lock_test_and_set_1
>>> Builtin __sync_lock_test_and_set_2
>>> Builtin __sync_lock_test_and_set_4
>>> Builtin __sync_lock_test_and_set_8
>>> Builtin __sync_lock_test_and_set_16
>>> Builtin __sync_lock_release
>>> Builtin __sync_lock_release_1
>>> Builtin __sync_lock_release_2
>>> Builtin __sync_lock_release_4
>>> Builtin __sync_lock_release_8
>>> Builtin __sync_lock_release_16
>>> Builtin __sync_synchronize
>>> Builtin __builtin_llvm_memory_barrier
>>> Builtin __sync_fetch_and_min
>>> Builtin __sync_fetch_and_max
>>> Builtin __sync_fetch_and_umin
>>> Builtin __sync_fetch_and_umax
>>> Builtin abort
>>> Builtin calloc
>>> Builtin exit
>>> Builtin _Exit
>>> Builtin malloc
>>> Builtin realloc
>>> Builtin memcpy
>>> Builtin memmove
>>> Builtin strcpy
>>> Builtin strncpy
>>> Builtin strcat
>>> Builtin strncat
>>> Builtin strxfrm
>>> Builtin memchr
>>> Builtin strchr
>>> Builtin strcspn
>>> Builtin strpbrk
>>> Builtin strrchr
>>> Builtin strspn
>>> Builtin strstr
>>> Builtin strtok
>>> Builtin memset
>>> Builtin strerror
>>> Builtin strlen
>>> Builtin printf
>>> Builtin fprintf
>>> Builtin snprintf
>>> Builtin sprintf
>>> Builtin vprintf
>>> Builtin vfprintf
>>> Builtin vsnprintf
>>> Builtin vsprintf
>>> Builtin longjmp
>>> Builtin alloca
>>> Builtin stpcpy
>>> Builtin stpncpy
>>> Builtin strdup
>>> Builtin strndup
>>> Builtin index
>>> Builtin rindex
>>> Builtin bzero
>>> Builtin _exit
>>> Builtin _longjmp
>>> Builtin siglongjmp
>>> Builtin objc_msgSend
>>> Builtin pow
>>> Builtin powl
>>> Builtin powf
>>> Builtin sqrt
>>> Builtin sqrtl
>>> Builtin sqrtf
>>> Builtin sin
>>> Builtin sinl
>>> Builtin sinf
>>> Builtin cos
>>> Builtin cosl
>>> Builtin cosf
>>> Builtin __builtin_ia32_emms
>>> Builtin __builtin_ia32_comieq
>>> Builtin __builtin_ia32_comilt
>>> Builtin __builtin_ia32_comile
>>> Builtin __builtin_ia32_comigt
>>> Builtin __builtin_ia32_comige
>>> Builtin __builtin_ia32_comineq
>>> Builtin __builtin_ia32_ucomieq
>>> Builtin __builtin_ia32_ucomilt
>>> Builtin __builtin_ia32_ucomile
>>> Builtin __builtin_ia32_ucomigt
>>> Builtin __builtin_ia32_ucomige
>>> Builtin __builtin_ia32_ucomineq
>>> Builtin __builtin_ia32_comisdeq
>>> Builtin __builtin_ia32_comisdlt
>>> Builtin __builtin_ia32_comisdle
>>> Builtin __builtin_ia32_comisdgt
>>> Builtin __builtin_ia32_comisdge
>>> Builtin __builtin_ia32_comisdneq
>>> Builtin __builtin_ia32_ucomisdeq
>>> Builtin __builtin_ia32_ucomisdlt
>>> Builtin __builtin_ia32_ucomisdle
>>> Builtin __builtin_ia32_ucomisdgt
>>> Builtin __builtin_ia32_ucomisdge
>>> Builtin __builtin_ia32_ucomisdneq
>>> Builtin __builtin_ia32_cmpps
>>> Builtin __builtin_ia32_cmpss
>>> Builtin __builtin_ia32_minps
>>> Builtin __builtin_ia32_maxps
>>> Builtin __builtin_ia32_minss
>>> Builtin __builtin_ia32_maxss
>>> Builtin __builtin_ia32_paddsb
>>> Builtin __builtin_ia32_paddsw
>>> Builtin __builtin_ia32_psubsb
>>> Builtin __builtin_ia32_psubsw
>>> Builtin __builtin_ia32_paddusb
>>> Builtin __builtin_ia32_paddusw
>>> Builtin __builtin_ia32_psubusb
>>> Builtin __builtin_ia32_psubusw
>>> Builtin __builtin_ia32_pmulhw
>>> Builtin __builtin_ia32_pmulhuw
>>> Builtin __builtin_ia32_pavgb
>>> Builtin __builtin_ia32_pavgw
>>> Builtin __builtin_ia32_pcmpeqb
>>> Builtin __builtin_ia32_pcmpeqw
>>> Builtin __builtin_ia32_pcmpeqd
>>> Builtin __builtin_ia32_pcmpgtb
>>> Builtin __builtin_ia32_pcmpgtw
>>> Builtin __builtin_ia32_pcmpgtd
>>> Builtin __builtin_ia32_pmaxub
>>> Builtin __builtin_ia32_pmaxsw
>>> Builtin __builtin_ia32_pminub
>>> Builtin __builtin_ia32_pminsw
>>> Builtin __builtin_ia32_punpcklwd
>>> Builtin __builtin_ia32_cmppd
>>> Builtin __builtin_ia32_cmpsd
>>> Builtin __builtin_ia32_minpd
>>> Builtin __builtin_ia32_maxpd
>>> Builtin __builtin_ia32_minsd
>>> Builtin __builtin_ia32_maxsd
>>> Builtin __builtin_ia32_paddsb128
>>> Builtin __builtin_ia32_paddsw128
>>> Builtin __builtin_ia32_psubsb128
>>> Builtin __builtin_ia32_psubsw128
>>> Builtin __builtin_ia32_paddusb128
>>> Builtin __builtin_ia32_paddusw128
>>> Builtin __builtin_ia32_psubusb128
>>> Builtin __builtin_ia32_psubusw128
>>> Builtin __builtin_ia32_pmulhw128
>>> Builtin __builtin_ia32_pavgb128
>>> Builtin __builtin_ia32_pavgw128
>>> Builtin __builtin_ia32_pcmpeqb128
>>> Builtin __builtin_ia32_pcmpeqw128
>>> Builtin __builtin_ia32_pcmpeqd128
>>> Builtin __builtin_ia32_pcmpgtb128
>>> Builtin __builtin_ia32_pcmpgtw128
>>> Builtin __builtin_ia32_pcmpgtd128
>>> Builtin __builtin_ia32_pmaxub128
>>> Builtin __builtin_ia32_pmaxsw128
>>> Builtin __builtin_ia32_pminub128
>>> Builtin __builtin_ia32_pminsw128
>>> Builtin __builtin_ia32_packsswb128
>>> Builtin __builtin_ia32_packssdw128
>>> Builtin __builtin_ia32_packuswb128
>>> Builtin __builtin_ia32_pmulhuw128
>>> Builtin __builtin_ia32_addsubps
>>> Builtin __builtin_ia32_addsubpd
>>> Builtin __builtin_ia32_haddps
>>> Builtin __builtin_ia32_haddpd
>>> Builtin __builtin_ia32_hsubps
>>> Builtin __builtin_ia32_hsubpd
>>> Builtin __builtin_ia32_phaddw128
>>> Builtin __builtin_ia32_phaddw
>>> Builtin __builtin_ia32_phaddd128
>>> Builtin __builtin_ia32_phaddd
>>> Builtin __builtin_ia32_phaddsw128
>>> Builtin __builtin_ia32_phaddsw
>>> Builtin __builtin_ia32_phsubw128
>>> Builtin __builtin_ia32_phsubw
>>> Builtin __builtin_ia32_phsubd128
>>> Builtin __builtin_ia32_phsubd
>>> Builtin __builtin_ia32_phsubsw128
>>> Builtin __builtin_ia32_phsubsw
>>> Builtin __builtin_ia32_pmaddubsw128
>>> Builtin __builtin_ia32_pmaddubsw
>>> Builtin __builtin_ia32_pmulhrsw128
>>> Builtin __builtin_ia32_pmulhrsw
>>> Builtin __builtin_ia32_pshufb128
>>> Builtin __builtin_ia32_pshufb
>>> Builtin __builtin_ia32_psignb128
>>> Builtin __builtin_ia32_psignb
>>> Builtin __builtin_ia32_psignw128
>>> Builtin __builtin_ia32_psignw
>>> Builtin __builtin_ia32_psignd128
>>> Builtin __builtin_ia32_psignd
>>> Builtin __builtin_ia32_pabsb128
>>> Builtin __builtin_ia32_pabsb
>>> Builtin __builtin_ia32_pabsw128
>>> Builtin __builtin_ia32_pabsw
>>> Builtin __builtin_ia32_pabsd128
>>> Builtin __builtin_ia32_pabsd
>>> Builtin __builtin_ia32_psllw
>>> Builtin __builtin_ia32_pslld
>>> Builtin __builtin_ia32_psllq
>>> Builtin __builtin_ia32_psrlw
>>> Builtin __builtin_ia32_psrld
>>> Builtin __builtin_ia32_psrlq
>>> Builtin __builtin_ia32_psraw
>>> Builtin __builtin_ia32_psrad
>>> Builtin __builtin_ia32_pmaddwd
>>> Builtin __builtin_ia32_packsswb
>>> Builtin __builtin_ia32_packssdw
>>> Builtin __builtin_ia32_packuswb
>>> Builtin __builtin_ia32_ldmxcsr
>>> Builtin __builtin_ia32_stmxcsr
>>> Builtin __builtin_ia32_cvtpi2ps
>>> Builtin __builtin_ia32_cvtps2pi
>>> Builtin __builtin_ia32_cvtss2si
>>> Builtin __builtin_ia32_cvtss2si64
>>> Builtin __builtin_ia32_cvttps2pi
>>> Builtin __builtin_ia32_maskmovq
>>> Builtin __builtin_ia32_loadups
>>> Builtin __builtin_ia32_storeups
>>> Builtin __builtin_ia32_storehps
>>> Builtin __builtin_ia32_storelps
>>> Builtin __builtin_ia32_movmskps
>>> Builtin __builtin_ia32_pmovmskb
>>> Builtin __builtin_ia32_movntps
>>> Builtin __builtin_ia32_movntq
>>> Builtin __builtin_ia32_sfence
>>> Builtin __builtin_ia32_psadbw
>>> Builtin __builtin_ia32_rcpps
>>> Builtin __builtin_ia32_rcpss
>>> Builtin __builtin_ia32_rsqrtps
>>> Builtin __builtin_ia32_rsqrtss
>>> Builtin __builtin_ia32_sqrtps
>>> Builtin __builtin_ia32_sqrtss
>>> Builtin __builtin_ia32_maskmovdqu
>>> Builtin __builtin_ia32_loadupd
>>> Builtin __builtin_ia32_storeupd
>>> Builtin __builtin_ia32_movmskpd
>>> Builtin __builtin_ia32_pmovmskb128
>>> Builtin __builtin_ia32_movnti
>>> Builtin __builtin_ia32_movntpd
>>> Builtin __builtin_ia32_movntdq
>>> Builtin __builtin_ia32_psadbw128
>>> Builtin __builtin_ia32_sqrtpd
>>> Builtin __builtin_ia32_sqrtsd
>>> Builtin __builtin_ia32_cvtdq2pd
>>> Builtin __builtin_ia32_cvtdq2ps
>>> Builtin __builtin_ia32_cvtpd2dq
>>> Builtin __builtin_ia32_cvtpd2pi
>>> Builtin __builtin_ia32_cvtpd2ps
>>> Builtin __builtin_ia32_cvttpd2dq
>>> Builtin __builtin_ia32_cvttpd2pi
>>> Builtin __builtin_ia32_cvtpi2pd
>>> Builtin __builtin_ia32_cvtsd2si
>>> Builtin __builtin_ia32_cvtsd2si64
>>> Builtin __builtin_ia32_cvtps2dq
>>> Builtin __builtin_ia32_cvtps2pd
>>> Builtin __builtin_ia32_cvttps2dq
>>> Builtin __builtin_ia32_clflush
>>> Builtin __builtin_ia32_lfence
>>> Builtin __builtin_ia32_mfence
>>> Builtin __builtin_ia32_loaddqu
>>> Builtin __builtin_ia32_storedqu
>>> Builtin __builtin_ia32_psllwi
>>> Builtin __builtin_ia32_pslldi
>>> Builtin __builtin_ia32_psllqi
>>> Builtin __builtin_ia32_psrawi
>>> Builtin __builtin_ia32_psradi
>>> Builtin __builtin_ia32_psrlwi
>>> Builtin __builtin_ia32_psrldi
>>> Builtin __builtin_ia32_psrlqi
>>> Builtin __builtin_ia32_pmuludq
>>> Builtin __builtin_ia32_pmuludq128
>>> Builtin __builtin_ia32_psraw128
>>> Builtin __builtin_ia32_psrad128
>>> Builtin __builtin_ia32_psrlw128
>>> Builtin __builtin_ia32_psrld128
>>> Builtin __builtin_ia32_pslldqi128
>>> Builtin __builtin_ia32_psrldqi128
>>> Builtin __builtin_ia32_psrlq128
>>> Builtin __builtin_ia32_psllw128
>>> Builtin __builtin_ia32_pslld128
>>> Builtin __builtin_ia32_psllq128
>>> Builtin __builtin_ia32_psllwi128
>>> Builtin __builtin_ia32_pslldi128
>>> Builtin __builtin_ia32_psllqi128
>>> Builtin __builtin_ia32_psrlwi128
>>> Builtin __builtin_ia32_psrldi128
>>> Builtin __builtin_ia32_psrlqi128
>>> Builtin __builtin_ia32_psrawi128
>>> Builtin __builtin_ia32_psradi128
>>> Builtin __builtin_ia32_pmaddwd128
>>> Builtin __builtin_ia32_monitor
>>> Builtin __builtin_ia32_mwait
>>> Builtin __builtin_ia32_lddqu
>>> Builtin __builtin_ia32_palignr128
>>> Builtin __builtin_ia32_palignr
>>> Builtin __builtin_ia32_insertps128
>>> Builtin __builtin_ia32_storelv4si
>>> Builtin __builtin_ia32_pblendvb128
>>> Builtin __builtin_ia32_pblendw128
>>> Builtin __builtin_ia32_blendpd
>>> Builtin __builtin_ia32_blendps
>>> Builtin __builtin_ia32_blendvpd
>>> Builtin __builtin_ia32_blendvps
>>> Builtin __builtin_ia32_packusdw128
>>> Builtin __builtin_ia32_pmaxsb128
>>> Builtin __builtin_ia32_pmaxsd128
>>> Builtin __builtin_ia32_pmaxud128
>>> Builtin __builtin_ia32_pmaxuw128
>>> Builtin __builtin_ia32_pminsb128
>>> Builtin __builtin_ia32_pminsd128
>>> Builtin __builtin_ia32_pminud128
>>> Builtin __builtin_ia32_pminuw128
>>> Builtin __builtin_ia32_pmovsxbd128
>>> Builtin __builtin_ia32_pmovsxbq128
>>> Builtin __builtin_ia32_pmovsxbw128
>>> Builtin __builtin_ia32_pmovsxdq128
>>> Builtin __builtin_ia32_pmovsxwd128
>>> Builtin __builtin_ia32_pmovsxwq128
>>> Builtin __builtin_ia32_pmovzxbd128
>>> Builtin __builtin_ia32_pmovzxbq128
>>> Builtin __builtin_ia32_pmovzxbw128
>>> Builtin __builtin_ia32_pmovzxdq128
>>> Builtin __builtin_ia32_pmovzxwd128
>>> Builtin __builtin_ia32_pmovzxwq128
>>> Builtin __builtin_ia32_pmuldq128
>>> Builtin __builtin_ia32_pmulld128
>>> Builtin __builtin_ia32_roundps
>>> Builtin __builtin_ia32_roundss
>>> Builtin __builtin_ia32_roundsd
>>> Builtin __builtin_ia32_roundpd
>>> Builtin __builtin_ia32_dpps
>>> Builtin __builtin_ia32_dppd
>>> Builtin __builtin_ia32_movntdqa
>>> clang error (/usr/include/architecture/i386/math.h): use of undeclared identifier '__builtin_fabsf'
>>> _______________________________________________
>>> cfe-dev mailing list
>>> cfe-dev at cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>> 
>> 
>> _______________________________________________
>> cfe-dev mailing list
>> cfe-dev at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>> 





More information about the cfe-dev mailing list