Warning, /include/clang/Basic/BuiltinsARM.def is written in an unsupported language. File is not indexed.
0001 //===--- BuiltinsARM.def - ARM Builtin function database ----*- C++ -*-===//
0002 //
0003 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
0004 // See https://llvm.org/LICENSE.txt for license information.
0005 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
0006 //
0007 //===----------------------------------------------------------------------===//
0008 //
0009 // This file defines the ARM-specific builtin function database. Users of
0010 // this file must define the BUILTIN macro to make use of this information.
0011 //
0012 //===----------------------------------------------------------------------===//
0013
0014 // The format of this database matches clang/Basic/Builtins.def.
0015
0016 #if defined(BUILTIN) && !defined(LANGBUILTIN)
0017 # define LANGBUILTIN(ID, TYPE, ATTRS, BUILTIN_LANG) BUILTIN(ID, TYPE, ATTRS)
0018 #endif
0019
0020 #if defined(BUILTIN) && !defined(TARGET_BUILTIN)
0021 # define TARGET_BUILTIN(ID, TYPE, ATTRS, FEATURE) BUILTIN(ID, TYPE, ATTRS)
0022 #endif
0023
0024 #if defined(BUILTIN) && !defined(TARGET_HEADER_BUILTIN)
0025 # define TARGET_HEADER_BUILTIN(ID, TYPE, ATTRS, HEADER, LANG, FEATURE) BUILTIN(ID, TYPE, ATTRS)
0026 #endif
0027
0028 // In libgcc
0029 BUILTIN(__clear_cache, "vv*v*", "i")
0030
0031 // 16-bit multiplications
0032 BUILTIN(__builtin_arm_smulbb, "iii", "nc")
0033 BUILTIN(__builtin_arm_smulbt, "iii", "nc")
0034 BUILTIN(__builtin_arm_smultb, "iii", "nc")
0035 BUILTIN(__builtin_arm_smultt, "iii", "nc")
0036 BUILTIN(__builtin_arm_smulwb, "iii", "nc")
0037 BUILTIN(__builtin_arm_smulwt, "iii", "nc")
0038
0039 // Saturating arithmetic
0040 BUILTIN(__builtin_arm_qadd, "iii", "nc")
0041 BUILTIN(__builtin_arm_qsub, "iii", "nc")
0042 BUILTIN(__builtin_arm_qdbl, "ii", "nc")
0043 BUILTIN(__builtin_arm_ssat, "iiUi", "nc")
0044 BUILTIN(__builtin_arm_usat, "UiiUi", "nc")
0045
0046 BUILTIN(__builtin_arm_smlabb, "iiii", "nc")
0047 BUILTIN(__builtin_arm_smlabt, "iiii", "nc")
0048 BUILTIN(__builtin_arm_smlatb, "iiii", "nc")
0049 BUILTIN(__builtin_arm_smlatt, "iiii", "nc")
0050 BUILTIN(__builtin_arm_smlawb, "iiii", "nc")
0051 BUILTIN(__builtin_arm_smlawt, "iiii", "nc")
0052
0053 BUILTIN(__builtin_arm_ssat16, "iii", "nc")
0054 BUILTIN(__builtin_arm_usat16, "iii", "nc")
0055
0056 BUILTIN(__builtin_arm_sxtab16, "iii", "nc")
0057 BUILTIN(__builtin_arm_sxtb16, "ii", "nc")
0058 BUILTIN(__builtin_arm_uxtab16, "iii", "nc")
0059 BUILTIN(__builtin_arm_uxtb16, "ii", "nc")
0060
0061 BUILTIN(__builtin_arm_sel, "iii", "nc")
0062
0063 BUILTIN(__builtin_arm_qadd8, "iii", "nc")
0064 BUILTIN(__builtin_arm_qsub8, "iii", "nc")
0065 BUILTIN(__builtin_arm_sadd8, "iii", "nc")
0066 BUILTIN(__builtin_arm_shadd8, "iii", "nc")
0067 BUILTIN(__builtin_arm_shsub8, "iii", "nc")
0068 BUILTIN(__builtin_arm_ssub8, "iii", "nc")
0069 BUILTIN(__builtin_arm_uadd8, "UiUiUi", "nc")
0070 BUILTIN(__builtin_arm_uhadd8, "UiUiUi", "nc")
0071 BUILTIN(__builtin_arm_uhsub8, "UiUiUi", "nc")
0072 BUILTIN(__builtin_arm_uqadd8, "UiUiUi", "nc")
0073 BUILTIN(__builtin_arm_uqsub8, "UiUiUi", "nc")
0074 BUILTIN(__builtin_arm_usub8, "UiUiUi", "nc")
0075
0076 // Sum of 8-bit absolute differences
0077 BUILTIN(__builtin_arm_usad8, "UiUiUi", "nc")
0078 BUILTIN(__builtin_arm_usada8, "UiUiUiUi", "nc")
0079
0080 // Parallel 16-bit addition and subtraction
0081 BUILTIN(__builtin_arm_qadd16, "iii", "nc")
0082 BUILTIN(__builtin_arm_qasx, "iii", "nc")
0083 BUILTIN(__builtin_arm_qsax, "iii", "nc")
0084 BUILTIN(__builtin_arm_qsub16, "iii", "nc")
0085 BUILTIN(__builtin_arm_sadd16, "iii", "nc")
0086 BUILTIN(__builtin_arm_sasx, "iii", "nc")
0087 BUILTIN(__builtin_arm_shadd16, "iii", "nc")
0088 BUILTIN(__builtin_arm_shasx, "iii", "nc")
0089 BUILTIN(__builtin_arm_shsax, "iii", "nc")
0090 BUILTIN(__builtin_arm_shsub16, "iii", "nc")
0091 BUILTIN(__builtin_arm_ssax, "iii", "nc")
0092 BUILTIN(__builtin_arm_ssub16, "iii", "nc")
0093 BUILTIN(__builtin_arm_uadd16, "UiUiUi", "nc")
0094 BUILTIN(__builtin_arm_uasx, "UiUiUi", "nc")
0095 BUILTIN(__builtin_arm_uhadd16, "UiUiUi", "nc")
0096 BUILTIN(__builtin_arm_uhasx, "UiUiUi", "nc")
0097 BUILTIN(__builtin_arm_uhsax, "UiUiUi", "nc")
0098 BUILTIN(__builtin_arm_uhsub16, "UiUiUi", "nc")
0099 BUILTIN(__builtin_arm_uqadd16, "UiUiUi", "nc")
0100 BUILTIN(__builtin_arm_uqasx, "UiUiUi", "nc")
0101 BUILTIN(__builtin_arm_uqsax, "UiUiUi", "nc")
0102 BUILTIN(__builtin_arm_uqsub16, "UiUiUi", "nc")
0103 BUILTIN(__builtin_arm_usax, "UiUiUi", "nc")
0104 BUILTIN(__builtin_arm_usub16, "UiUiUi", "nc")
0105
0106 // Parallel 16-bit multiplication
0107 BUILTIN(__builtin_arm_smlad, "iiii", "nc")
0108 BUILTIN(__builtin_arm_smladx, "iiii", "nc")
0109 BUILTIN(__builtin_arm_smlald, "LLiiiLLi", "nc")
0110 BUILTIN(__builtin_arm_smlaldx, "LLiiiLLi", "nc")
0111 BUILTIN(__builtin_arm_smlsd, "iiii", "nc")
0112 BUILTIN(__builtin_arm_smlsdx, "iiii", "nc")
0113 BUILTIN(__builtin_arm_smlsld, "LLiiiLLi", "nc")
0114 BUILTIN(__builtin_arm_smlsldx, "LLiiiLLi", "nc")
0115 BUILTIN(__builtin_arm_smuad, "iii", "nc")
0116 BUILTIN(__builtin_arm_smuadx, "iii", "nc")
0117 BUILTIN(__builtin_arm_smusd, "iii", "nc")
0118 BUILTIN(__builtin_arm_smusdx, "iii", "nc")
0119
0120 // Bit manipulation
0121 BUILTIN(__builtin_arm_rbit, "UiUi", "nc")
0122 BUILTIN(__builtin_arm_clz, "UiZUi", "nc")
0123 BUILTIN(__builtin_arm_clz64, "UiWUi", "nc")
0124 BUILTIN(__builtin_arm_cls, "UiZUi", "nc")
0125 BUILTIN(__builtin_arm_cls64, "UiWUi", "nc")
0126
0127 // Store and load exclusive
0128 BUILTIN(__builtin_arm_ldrexd, "LLUiv*", "")
0129 BUILTIN(__builtin_arm_strexd, "iLLUiv*", "")
0130
0131 BUILTIN(__builtin_arm_ldrex, "v.", "t")
0132 BUILTIN(__builtin_arm_ldaex, "v.", "t")
0133 BUILTIN(__builtin_arm_strex, "i.", "t")
0134 BUILTIN(__builtin_arm_stlex, "i.", "t")
0135 BUILTIN(__builtin_arm_clrex, "v", "")
0136
0137 // VFP
0138 BUILTIN(__builtin_arm_get_fpscr, "Ui", "nc")
0139 BUILTIN(__builtin_arm_set_fpscr, "vUi", "nc")
0140 BUILTIN(__builtin_arm_vcvtr_f, "ffi", "nc")
0141 BUILTIN(__builtin_arm_vcvtr_d, "fdi", "nc")
0142
0143 // Coprocessor
0144 BUILTIN(__builtin_arm_ldc, "vUIiUIivC*", "")
0145 BUILTIN(__builtin_arm_ldcl, "vUIiUIivC*", "")
0146 BUILTIN(__builtin_arm_ldc2, "vUIiUIivC*", "")
0147 BUILTIN(__builtin_arm_ldc2l, "vUIiUIivC*", "")
0148
0149 BUILTIN(__builtin_arm_stc, "vUIiUIiv*", "")
0150 BUILTIN(__builtin_arm_stcl, "vUIiUIiv*", "")
0151 BUILTIN(__builtin_arm_stc2, "vUIiUIiv*", "")
0152 BUILTIN(__builtin_arm_stc2l, "vUIiUIiv*", "")
0153
0154 BUILTIN(__builtin_arm_cdp, "vUIiUIiUIiUIiUIiUIi", "")
0155 BUILTIN(__builtin_arm_cdp2, "vUIiUIiUIiUIiUIiUIi", "")
0156 BUILTIN(__builtin_arm_mcr, "vUIiUIiUiUIiUIiUIi", "")
0157 BUILTIN(__builtin_arm_mcr2, "vUIiUIiUiUIiUIiUIi", "")
0158 BUILTIN(__builtin_arm_mrc, "UiUIiUIiUIiUIiUIi", "")
0159 BUILTIN(__builtin_arm_mrc2, "UiUIiUIiUIiUIiUIi", "")
0160 BUILTIN(__builtin_arm_mcrr, "vUIiUIiLLUiUIi", "")
0161 BUILTIN(__builtin_arm_mcrr2, "vUIiUIiLLUiUIi", "")
0162 BUILTIN(__builtin_arm_mrrc, "LLUiUIiUIiUIi", "")
0163 BUILTIN(__builtin_arm_mrrc2, "LLUiUIiUIiUIi", "")
0164
0165 // CRC32
0166 TARGET_BUILTIN(__builtin_arm_crc32b, "UiUiUc", "nc", "crc")
0167 TARGET_BUILTIN(__builtin_arm_crc32cb, "UiUiUc", "nc", "crc")
0168 TARGET_BUILTIN(__builtin_arm_crc32h, "UiUiUs", "nc", "crc")
0169 TARGET_BUILTIN(__builtin_arm_crc32ch, "UiUiUs", "nc", "crc")
0170 TARGET_BUILTIN(__builtin_arm_crc32w, "UiUiUi", "nc", "crc")
0171 TARGET_BUILTIN(__builtin_arm_crc32cw, "UiUiUi", "nc", "crc")
0172 TARGET_BUILTIN(__builtin_arm_crc32d, "UiUiLLUi", "nc", "crc")
0173 TARGET_BUILTIN(__builtin_arm_crc32cd, "UiUiLLUi", "nc", "crc")
0174
0175 // ARMv8-M Security Extensions a.k.a CMSE
0176 BUILTIN(__builtin_arm_cmse_TT, "Uiv*", "n")
0177 BUILTIN(__builtin_arm_cmse_TTT, "Uiv*", "n")
0178 BUILTIN(__builtin_arm_cmse_TTA, "Uiv*", "n")
0179 BUILTIN(__builtin_arm_cmse_TTAT, "Uiv*", "n")
0180
0181 // HINT
0182 BUILTIN(__builtin_arm_nop, "v", "")
0183 BUILTIN(__builtin_arm_yield, "v", "")
0184 BUILTIN(__builtin_arm_wfe, "v", "")
0185 BUILTIN(__builtin_arm_wfi, "v", "")
0186 BUILTIN(__builtin_arm_sev, "v", "")
0187 BUILTIN(__builtin_arm_sevl, "v", "")
0188 BUILTIN(__builtin_arm_dbg, "vUi", "")
0189
0190 // Data barrier
0191 BUILTIN(__builtin_arm_dmb, "vUi", "nc")
0192 BUILTIN(__builtin_arm_dsb, "vUi", "nc")
0193 BUILTIN(__builtin_arm_isb, "vUi", "nc")
0194
0195 // Prefetch
0196 BUILTIN(__builtin_arm_prefetch, "vvC*UiUi", "nc")
0197
0198 // System registers (ACLE)
0199 BUILTIN(__builtin_arm_rsr, "UicC*", "nc")
0200 BUILTIN(__builtin_arm_rsr64, "LLUicC*", "nc")
0201 BUILTIN(__builtin_arm_rsrp, "v*cC*", "nc")
0202 BUILTIN(__builtin_arm_wsr, "vcC*Ui", "nc")
0203 BUILTIN(__builtin_arm_wsr64, "vcC*LLUi", "nc")
0204 BUILTIN(__builtin_arm_wsrp, "vcC*vC*", "nc")
0205
0206 // Misc
0207 BUILTIN(__builtin_sponentry, "v*", "c")
0208
0209 // Builtins for implementing ACLE MVE intrinsics. (Unlike NEON, these
0210 // don't need to live in a separate BuiltinsMVE.def, because they
0211 // aren't included from both here and BuiltinsAArch64.def.)
0212 #include "clang/Basic/arm_mve_builtins.inc"
0213
0214 #include "clang/Basic/arm_cde_builtins.inc"
0215
0216 // MSVC
0217 LANGBUILTIN(__emit, "vIUiC", "", ALL_MS_LANGUAGES)
0218
0219 LANGBUILTIN(__yield, "v", "", ALL_MS_LANGUAGES)
0220 LANGBUILTIN(__wfe, "v", "", ALL_MS_LANGUAGES)
0221 LANGBUILTIN(__wfi, "v", "", ALL_MS_LANGUAGES)
0222 LANGBUILTIN(__sev, "v", "", ALL_MS_LANGUAGES)
0223 LANGBUILTIN(__sevl, "v", "", ALL_MS_LANGUAGES)
0224
0225 LANGBUILTIN(__dmb, "vUi", "nc", ALL_MS_LANGUAGES)
0226 LANGBUILTIN(__dsb, "vUi", "nc", ALL_MS_LANGUAGES)
0227 LANGBUILTIN(__isb, "vUi", "nc", ALL_MS_LANGUAGES)
0228 LANGBUILTIN(__ldrexd, "WiWiCD*", "", ALL_MS_LANGUAGES)
0229 LANGBUILTIN(_MoveFromCoprocessor, "UiIUiIUiIUiIUiIUi", "", ALL_MS_LANGUAGES)
0230 LANGBUILTIN(_MoveFromCoprocessor2, "UiIUiIUiIUiIUiIUi", "", ALL_MS_LANGUAGES)
0231 LANGBUILTIN(_MoveToCoprocessor, "vUiIUiIUiIUiIUiIUi", "", ALL_MS_LANGUAGES)
0232 LANGBUILTIN(_MoveToCoprocessor2, "vUiIUiIUiIUiIUiIUi", "", ALL_MS_LANGUAGES)
0233
0234 TARGET_HEADER_BUILTIN(_BitScanForward, "UcUNi*UNi", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0235 TARGET_HEADER_BUILTIN(_BitScanReverse, "UcUNi*UNi", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0236 TARGET_HEADER_BUILTIN(_BitScanForward64, "UcUNi*ULLi", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0237 TARGET_HEADER_BUILTIN(_BitScanReverse64, "UcUNi*ULLi", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0238
0239 TARGET_HEADER_BUILTIN(_InterlockedAnd64, "LLiLLiD*LLi", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0240 TARGET_HEADER_BUILTIN(_InterlockedDecrement64, "LLiLLiD*", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0241 TARGET_HEADER_BUILTIN(_InterlockedExchange64, "LLiLLiD*LLi", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0242 TARGET_HEADER_BUILTIN(_InterlockedExchangeAdd64, "LLiLLiD*LLi", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0243 TARGET_HEADER_BUILTIN(_InterlockedExchangeSub64, "LLiLLiD*LLi", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0244 TARGET_HEADER_BUILTIN(_InterlockedIncrement64, "LLiLLiD*", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0245 TARGET_HEADER_BUILTIN(_InterlockedOr64, "LLiLLiD*LLi", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0246 TARGET_HEADER_BUILTIN(_InterlockedXor64, "LLiLLiD*LLi", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0247
0248 TARGET_HEADER_BUILTIN(_InterlockedExchangeAdd_acq, "NiNiD*Ni", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0249 TARGET_HEADER_BUILTIN(_InterlockedExchangeAdd_rel, "NiNiD*Ni", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0250 TARGET_HEADER_BUILTIN(_InterlockedExchangeAdd_nf, "NiNiD*Ni", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0251 TARGET_HEADER_BUILTIN(_InterlockedExchangeAdd8_acq, "ccD*c", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0252 TARGET_HEADER_BUILTIN(_InterlockedExchangeAdd8_rel, "ccD*c", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0253 TARGET_HEADER_BUILTIN(_InterlockedExchangeAdd8_nf, "ccD*c", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0254 TARGET_HEADER_BUILTIN(_InterlockedExchangeAdd16_acq, "ssD*s", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0255 TARGET_HEADER_BUILTIN(_InterlockedExchangeAdd16_rel, "ssD*s", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0256 TARGET_HEADER_BUILTIN(_InterlockedExchangeAdd16_nf, "ssD*s", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0257 TARGET_HEADER_BUILTIN(_InterlockedExchangeAdd64_acq, "LLiLLiD*LLi", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0258 TARGET_HEADER_BUILTIN(_InterlockedExchangeAdd64_rel, "LLiLLiD*LLi", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0259 TARGET_HEADER_BUILTIN(_InterlockedExchangeAdd64_nf, "LLiLLiD*LLi", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0260
0261 TARGET_HEADER_BUILTIN(_InterlockedExchange8_acq, "ccD*c", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0262 TARGET_HEADER_BUILTIN(_InterlockedExchange8_nf, "ccD*c", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0263 TARGET_HEADER_BUILTIN(_InterlockedExchange8_rel, "ccD*c", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0264 TARGET_HEADER_BUILTIN(_InterlockedExchange16_acq, "ssD*s", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0265 TARGET_HEADER_BUILTIN(_InterlockedExchange16_nf, "ssD*s", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0266 TARGET_HEADER_BUILTIN(_InterlockedExchange16_rel, "ssD*s", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0267 TARGET_HEADER_BUILTIN(_InterlockedExchange_acq, "NiNiD*Ni", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0268 TARGET_HEADER_BUILTIN(_InterlockedExchange_nf, "NiNiD*Ni", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0269 TARGET_HEADER_BUILTIN(_InterlockedExchange_rel, "NiNiD*Ni", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0270 TARGET_HEADER_BUILTIN(_InterlockedExchange64_acq, "LLiLLiD*LLi", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0271 TARGET_HEADER_BUILTIN(_InterlockedExchange64_nf, "LLiLLiD*LLi", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0272 TARGET_HEADER_BUILTIN(_InterlockedExchange64_rel, "LLiLLiD*LLi", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0273 TARGET_HEADER_BUILTIN(_InterlockedExchangePointer_acq, "v*v*D*v*","nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0274 TARGET_HEADER_BUILTIN(_InterlockedExchangePointer_nf, "v*v*D*v*","nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0275 TARGET_HEADER_BUILTIN(_InterlockedExchangePointer_rel, "v*v*D*v*","nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0276
0277 TARGET_HEADER_BUILTIN(_InterlockedCompareExchange8_acq, "ccD*cc", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0278 TARGET_HEADER_BUILTIN(_InterlockedCompareExchange8_nf, "ccD*cc", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0279 TARGET_HEADER_BUILTIN(_InterlockedCompareExchange8_rel, "ccD*cc", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0280 TARGET_HEADER_BUILTIN(_InterlockedCompareExchange16_acq, "ssD*ss", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0281 TARGET_HEADER_BUILTIN(_InterlockedCompareExchange16_nf, "ssD*ss", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0282 TARGET_HEADER_BUILTIN(_InterlockedCompareExchange16_rel, "ssD*ss", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0283 TARGET_HEADER_BUILTIN(_InterlockedCompareExchange_acq, "NiNiD*NiNi", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0284 TARGET_HEADER_BUILTIN(_InterlockedCompareExchange_nf, "NiNiD*NiNi", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0285 TARGET_HEADER_BUILTIN(_InterlockedCompareExchange_rel, "NiNiD*NiNi", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0286 TARGET_HEADER_BUILTIN(_InterlockedCompareExchange64_acq, "LLiLLiD*LLiLLi", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0287 TARGET_HEADER_BUILTIN(_InterlockedCompareExchange64_nf, "LLiLLiD*LLiLLi", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0288 TARGET_HEADER_BUILTIN(_InterlockedCompareExchange64_rel, "LLiLLiD*LLiLLi", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0289 TARGET_HEADER_BUILTIN(_InterlockedCompareExchangePointer_acq, "v*v*D*v*v*","nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0290 TARGET_HEADER_BUILTIN(_InterlockedCompareExchangePointer_rel, "v*v*D*v*v*","nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0291
0292 TARGET_HEADER_BUILTIN(_InterlockedOr8_acq, "ccD*c", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0293 TARGET_HEADER_BUILTIN(_InterlockedOr8_nf, "ccD*c", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0294 TARGET_HEADER_BUILTIN(_InterlockedOr8_rel, "ccD*c", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0295 TARGET_HEADER_BUILTIN(_InterlockedOr16_acq, "ssD*s", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0296 TARGET_HEADER_BUILTIN(_InterlockedOr16_nf, "ssD*s", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0297 TARGET_HEADER_BUILTIN(_InterlockedOr16_rel, "ssD*s", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0298 TARGET_HEADER_BUILTIN(_InterlockedOr_acq, "NiNiD*Ni", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0299 TARGET_HEADER_BUILTIN(_InterlockedOr_nf, "NiNiD*Ni", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0300 TARGET_HEADER_BUILTIN(_InterlockedOr_rel, "NiNiD*Ni", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0301 TARGET_HEADER_BUILTIN(_InterlockedOr64_acq, "LLiLLiD*LLi", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0302 TARGET_HEADER_BUILTIN(_InterlockedOr64_nf, "LLiLLiD*LLi", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0303 TARGET_HEADER_BUILTIN(_InterlockedOr64_rel, "LLiLLiD*LLi", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0304
0305 TARGET_HEADER_BUILTIN(_InterlockedXor8_acq, "ccD*c", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0306 TARGET_HEADER_BUILTIN(_InterlockedXor8_nf, "ccD*c", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0307 TARGET_HEADER_BUILTIN(_InterlockedXor8_rel, "ccD*c", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0308 TARGET_HEADER_BUILTIN(_InterlockedXor16_acq, "ssD*s", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0309 TARGET_HEADER_BUILTIN(_InterlockedXor16_nf, "ssD*s", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0310 TARGET_HEADER_BUILTIN(_InterlockedXor16_rel, "ssD*s", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0311 TARGET_HEADER_BUILTIN(_InterlockedXor_acq, "NiNiD*Ni", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0312 TARGET_HEADER_BUILTIN(_InterlockedXor_nf, "NiNiD*Ni", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0313 TARGET_HEADER_BUILTIN(_InterlockedXor_rel, "NiNiD*Ni", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0314 TARGET_HEADER_BUILTIN(_InterlockedXor64_acq, "LLiLLiD*LLi", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0315 TARGET_HEADER_BUILTIN(_InterlockedXor64_nf, "LLiLLiD*LLi", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0316 TARGET_HEADER_BUILTIN(_InterlockedXor64_rel, "LLiLLiD*LLi", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0317
0318 TARGET_HEADER_BUILTIN(_InterlockedAnd8_acq, "ccD*c", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0319 TARGET_HEADER_BUILTIN(_InterlockedAnd8_nf, "ccD*c", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0320 TARGET_HEADER_BUILTIN(_InterlockedAnd8_rel, "ccD*c", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0321 TARGET_HEADER_BUILTIN(_InterlockedAnd16_acq, "ssD*s", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0322 TARGET_HEADER_BUILTIN(_InterlockedAnd16_nf, "ssD*s", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0323 TARGET_HEADER_BUILTIN(_InterlockedAnd16_rel, "ssD*s", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0324 TARGET_HEADER_BUILTIN(_InterlockedAnd_acq, "NiNiD*Ni", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0325 TARGET_HEADER_BUILTIN(_InterlockedAnd_nf, "NiNiD*Ni", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0326 TARGET_HEADER_BUILTIN(_InterlockedAnd_rel, "NiNiD*Ni", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0327 TARGET_HEADER_BUILTIN(_InterlockedAnd64_acq, "LLiLLiD*LLi", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0328 TARGET_HEADER_BUILTIN(_InterlockedAnd64_nf, "LLiLLiD*LLi", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0329 TARGET_HEADER_BUILTIN(_InterlockedAnd64_rel, "LLiLLiD*LLi", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0330
0331 TARGET_HEADER_BUILTIN(_InterlockedIncrement16_acq, "ssD*", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0332 TARGET_HEADER_BUILTIN(_InterlockedIncrement16_nf, "ssD*", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0333 TARGET_HEADER_BUILTIN(_InterlockedIncrement16_rel, "ssD*", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0334 TARGET_HEADER_BUILTIN(_InterlockedIncrement_acq, "NiNiD*", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0335 TARGET_HEADER_BUILTIN(_InterlockedIncrement_nf, "NiNiD*", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0336 TARGET_HEADER_BUILTIN(_InterlockedIncrement_rel, "NiNiD*", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0337 TARGET_HEADER_BUILTIN(_InterlockedIncrement64_acq, "LLiLLiD*", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0338 TARGET_HEADER_BUILTIN(_InterlockedIncrement64_nf, "LLiLLiD*", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0339 TARGET_HEADER_BUILTIN(_InterlockedIncrement64_rel, "LLiLLiD*", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0340
0341 TARGET_HEADER_BUILTIN(_InterlockedDecrement16_acq, "ssD*", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0342 TARGET_HEADER_BUILTIN(_InterlockedDecrement16_nf, "ssD*", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0343 TARGET_HEADER_BUILTIN(_InterlockedDecrement16_rel, "ssD*", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0344 TARGET_HEADER_BUILTIN(_InterlockedDecrement_acq, "NiNiD*", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0345 TARGET_HEADER_BUILTIN(_InterlockedDecrement_nf, "NiNiD*", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0346 TARGET_HEADER_BUILTIN(_InterlockedDecrement_rel, "NiNiD*", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0347 TARGET_HEADER_BUILTIN(_InterlockedDecrement64_acq, "LLiLLiD*", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0348 TARGET_HEADER_BUILTIN(_InterlockedDecrement64_nf, "LLiLLiD*", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0349 TARGET_HEADER_BUILTIN(_InterlockedDecrement64_rel, "LLiLLiD*", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
0350
0351 #undef BUILTIN
0352 #undef LANGBUILTIN
0353 #undef TARGET_BUILTIN
0354 #undef TARGET_HEADER_BUILTIN