[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