1 //===--- TargetBuiltins.h - Target specific builtin IDs -------------------===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef LLVM_CLANG_BASIC_TARGET_BUILTINS_H
11 #define LLVM_CLANG_BASIC_TARGET_BUILTINS_H
13 #include "clang/Basic/Builtins.h"
21 LastTIBuiltin = clang::Builtin::FirstTSBuiltin-1,
22 #define BUILTIN(ID, TYPE, ATTRS) BI##ID,
23 #include "clang/Basic/BuiltinsARM.def"
31 LastTIBuiltin = clang::Builtin::FirstTSBuiltin-1,
32 #define BUILTIN(ID, TYPE, ATTRS) BI##ID,
33 #include "clang/Basic/BuiltinsPPC.def"
41 LastTIBuiltin = clang::Builtin::FirstTSBuiltin-1,
42 #define BUILTIN(ID, TYPE, ATTRS) BI##ID,
43 #include "clang/Basic/BuiltinsPTX.def"
52 LastTIBuiltin = clang::Builtin::FirstTSBuiltin-1,
53 #define BUILTIN(ID, TYPE, ATTRS) BI##ID,
54 #include "clang/Basic/BuiltinsX86.def"
59 /// NeonTypeFlags - Flags to identify the types for overloaded Neon
60 /// builtins. These must be kept in sync with the flags in
61 /// utils/TableGen/NeonEmitter.h.
82 NeonTypeFlags(unsigned F) : Flags(F) {}
83 NeonTypeFlags(EltType ET, bool IsUnsigned, bool IsQuad) : Flags(ET) {
85 Flags |= UnsignedFlag;
90 EltType getEltType() const { return (EltType)(Flags & EltTypeMask); }
92 EltType ET = getEltType();
93 return ET == Poly8 || ET == Poly16;
95 bool isUnsigned() const { return (Flags & UnsignedFlag) != 0; }
96 bool isQuad() const { return (Flags & QuadFlag) != 0; }
102 LastTIBuiltin = clang::Builtin::FirstTSBuiltin-1,
103 #define BUILTIN(ID, TYPE, ATTRS) BI##ID,
104 #include "clang/Basic/BuiltinsHexagon.def"
108 } // end namespace clang.