1204793Srdivacky//===--- BuiltinsARM.def - ARM Builtin function database ----*- C++ -*-===// 2204793Srdivacky// 3353358Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4353358Sdim// See https://llvm.org/LICENSE.txt for license information. 5353358Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6204793Srdivacky// 7204793Srdivacky//===----------------------------------------------------------------------===// 8204793Srdivacky// 9204793Srdivacky// This file defines the ARM-specific builtin function database. Users of 10204793Srdivacky// this file must define the BUILTIN macro to make use of this information. 11204793Srdivacky// 12204793Srdivacky//===----------------------------------------------------------------------===// 13204793Srdivacky 14204793Srdivacky// The format of this database matches clang/Basic/Builtins.def. 15204793Srdivacky 16276479Sdim#if defined(BUILTIN) && !defined(LANGBUILTIN) 17276479Sdim# define LANGBUILTIN(ID, TYPE, ATTRS, BUILTIN_LANG) BUILTIN(ID, TYPE, ATTRS) 18276479Sdim#endif 19276479Sdim 20314564Sdim#if defined(BUILTIN) && !defined(TARGET_HEADER_BUILTIN) 21314564Sdim# define TARGET_HEADER_BUILTIN(ID, TYPE, ATTRS, HEADER, LANG, FEATURE) BUILTIN(ID, TYPE, ATTRS) 22314564Sdim#endif 23314564Sdim 24210299Sed// In libgcc 25261991SdimBUILTIN(__clear_cache, "vv*v*", "i") 26204793Srdivacky 27321369Sdim// 16-bit multiplications 28321369SdimBUILTIN(__builtin_arm_smulbb, "iii", "nc") 29321369SdimBUILTIN(__builtin_arm_smulbt, "iii", "nc") 30321369SdimBUILTIN(__builtin_arm_smultb, "iii", "nc") 31321369SdimBUILTIN(__builtin_arm_smultt, "iii", "nc") 32321369SdimBUILTIN(__builtin_arm_smulwb, "iii", "nc") 33321369SdimBUILTIN(__builtin_arm_smulwt, "iii", "nc") 34321369Sdim 35212904Sdim// Saturating arithmetic 36212904SdimBUILTIN(__builtin_arm_qadd, "iii", "nc") 37212904SdimBUILTIN(__builtin_arm_qsub, "iii", "nc") 38327952SdimBUILTIN(__builtin_arm_qdbl, "ii", "nc") 39212904SdimBUILTIN(__builtin_arm_ssat, "iiUi", "nc") 40321369SdimBUILTIN(__builtin_arm_usat, "UiiUi", "nc") 41212904Sdim 42321369SdimBUILTIN(__builtin_arm_smlabb, "iiii", "nc") 43321369SdimBUILTIN(__builtin_arm_smlabt, "iiii", "nc") 44321369SdimBUILTIN(__builtin_arm_smlatb, "iiii", "nc") 45321369SdimBUILTIN(__builtin_arm_smlatt, "iiii", "nc") 46321369SdimBUILTIN(__builtin_arm_smlawb, "iiii", "nc") 47321369SdimBUILTIN(__builtin_arm_smlawt, "iiii", "nc") 48321369Sdim 49321369SdimBUILTIN(__builtin_arm_ssat16, "iii", "nc") 50321369SdimBUILTIN(__builtin_arm_usat16, "iii", "nc") 51321369Sdim 52321369SdimBUILTIN(__builtin_arm_sxtab16, "iii", "nc") 53321369SdimBUILTIN(__builtin_arm_sxtb16, "ii", "nc") 54321369SdimBUILTIN(__builtin_arm_uxtab16, "iii", "nc") 55321369SdimBUILTIN(__builtin_arm_uxtb16, "ii", "nc") 56321369Sdim 57321369SdimBUILTIN(__builtin_arm_sel, "iii", "nc") 58321369Sdim 59321369SdimBUILTIN(__builtin_arm_qadd8, "iii", "nc") 60321369SdimBUILTIN(__builtin_arm_qsub8, "iii", "nc") 61321369SdimBUILTIN(__builtin_arm_sadd8, "iii", "nc") 62321369SdimBUILTIN(__builtin_arm_shadd8, "iii", "nc") 63321369SdimBUILTIN(__builtin_arm_shsub8, "iii", "nc") 64321369SdimBUILTIN(__builtin_arm_ssub8, "iii", "nc") 65321369SdimBUILTIN(__builtin_arm_uadd8, "UiUiUi", "nc") 66321369SdimBUILTIN(__builtin_arm_uhadd8, "UiUiUi", "nc") 67321369SdimBUILTIN(__builtin_arm_uhsub8, "UiUiUi", "nc") 68321369SdimBUILTIN(__builtin_arm_uqadd8, "UiUiUi", "nc") 69321369SdimBUILTIN(__builtin_arm_uqsub8, "UiUiUi", "nc") 70321369SdimBUILTIN(__builtin_arm_usub8, "UiUiUi", "nc") 71321369Sdim 72321369Sdim// Sum of 8-bit absolute differences 73321369SdimBUILTIN(__builtin_arm_usad8, "UiUiUi", "nc") 74321369SdimBUILTIN(__builtin_arm_usada8, "UiUiUiUi", "nc") 75321369Sdim 76321369Sdim// Parallel 16-bit addition and subtraction 77321369SdimBUILTIN(__builtin_arm_qadd16, "iii", "nc") 78321369SdimBUILTIN(__builtin_arm_qasx, "iii", "nc") 79321369SdimBUILTIN(__builtin_arm_qsax, "iii", "nc") 80321369SdimBUILTIN(__builtin_arm_qsub16, "iii", "nc") 81321369SdimBUILTIN(__builtin_arm_sadd16, "iii", "nc") 82321369SdimBUILTIN(__builtin_arm_sasx, "iii", "nc") 83321369SdimBUILTIN(__builtin_arm_shadd16, "iii", "nc") 84321369SdimBUILTIN(__builtin_arm_shasx, "iii", "nc") 85321369SdimBUILTIN(__builtin_arm_shsax, "iii", "nc") 86321369SdimBUILTIN(__builtin_arm_shsub16, "iii", "nc") 87321369SdimBUILTIN(__builtin_arm_ssax, "iii", "nc") 88321369SdimBUILTIN(__builtin_arm_ssub16, "iii", "nc") 89321369SdimBUILTIN(__builtin_arm_uadd16, "UiUiUi", "nc") 90321369SdimBUILTIN(__builtin_arm_uasx, "UiUiUi", "nc") 91321369SdimBUILTIN(__builtin_arm_uhadd16, "UiUiUi", "nc") 92321369SdimBUILTIN(__builtin_arm_uhasx, "UiUiUi", "nc") 93321369SdimBUILTIN(__builtin_arm_uhsax, "UiUiUi", "nc") 94321369SdimBUILTIN(__builtin_arm_uhsub16, "UiUiUi", "nc") 95321369SdimBUILTIN(__builtin_arm_uqadd16, "UiUiUi", "nc") 96321369SdimBUILTIN(__builtin_arm_uqasx, "UiUiUi", "nc") 97321369SdimBUILTIN(__builtin_arm_uqsax, "UiUiUi", "nc") 98321369SdimBUILTIN(__builtin_arm_uqsub16, "UiUiUi", "nc") 99321369SdimBUILTIN(__builtin_arm_usax, "UiUiUi", "nc") 100321369SdimBUILTIN(__builtin_arm_usub16, "UiUiUi", "nc") 101321369Sdim 102321369Sdim// Parallel 16-bit multiplication 103321369SdimBUILTIN(__builtin_arm_smlad, "iiii", "nc") 104321369SdimBUILTIN(__builtin_arm_smladx, "iiii", "nc") 105321369SdimBUILTIN(__builtin_arm_smlald, "LLiiiLLi", "nc") 106321369SdimBUILTIN(__builtin_arm_smlaldx, "LLiiiLLi", "nc") 107321369SdimBUILTIN(__builtin_arm_smlsd, "iiii", "nc") 108321369SdimBUILTIN(__builtin_arm_smlsdx, "iiii", "nc") 109321369SdimBUILTIN(__builtin_arm_smlsld, "LLiiiLLi", "nc") 110321369SdimBUILTIN(__builtin_arm_smlsldx, "LLiiiLLi", "nc") 111321369SdimBUILTIN(__builtin_arm_smuad, "iii", "nc") 112321369SdimBUILTIN(__builtin_arm_smuadx, "iii", "nc") 113321369SdimBUILTIN(__builtin_arm_smusd, "iii", "nc") 114321369SdimBUILTIN(__builtin_arm_smusdx, "iii", "nc") 115321369Sdim 116276479Sdim// Bit manipulation 117276479SdimBUILTIN(__builtin_arm_rbit, "UiUi", "nc") 118360784SdimBUILTIN(__builtin_arm_cls, "UiZUi", "nc") 119360784SdimBUILTIN(__builtin_arm_cls64, "UiWUi", "nc") 120276479Sdim 121261991Sdim// Store and load exclusive 122223017SdimBUILTIN(__builtin_arm_ldrexd, "LLUiv*", "") 123223017SdimBUILTIN(__builtin_arm_strexd, "iLLUiv*", "") 124223017Sdim 125261991SdimBUILTIN(__builtin_arm_ldrex, "v.", "t") 126276479SdimBUILTIN(__builtin_arm_ldaex, "v.", "t") 127261991SdimBUILTIN(__builtin_arm_strex, "i.", "t") 128276479SdimBUILTIN(__builtin_arm_stlex, "i.", "t") 129261991SdimBUILTIN(__builtin_arm_clrex, "v", "") 130261991Sdim 131212904Sdim// VFP 132212904SdimBUILTIN(__builtin_arm_get_fpscr, "Ui", "nc") 133212904SdimBUILTIN(__builtin_arm_set_fpscr, "vUi", "nc") 134212904SdimBUILTIN(__builtin_arm_vcvtr_f, "ffi", "nc") 135212904SdimBUILTIN(__builtin_arm_vcvtr_d, "fdi", "nc") 136212904Sdim 137223017Sdim// Coprocessor 138309124SdimBUILTIN(__builtin_arm_ldc, "vUIiUIivC*", "") 139309124SdimBUILTIN(__builtin_arm_ldcl, "vUIiUIivC*", "") 140309124SdimBUILTIN(__builtin_arm_ldc2, "vUIiUIivC*", "") 141309124SdimBUILTIN(__builtin_arm_ldc2l, "vUIiUIivC*", "") 142309124Sdim 143309124SdimBUILTIN(__builtin_arm_stc, "vUIiUIiv*", "") 144309124SdimBUILTIN(__builtin_arm_stcl, "vUIiUIiv*", "") 145309124SdimBUILTIN(__builtin_arm_stc2, "vUIiUIiv*", "") 146309124SdimBUILTIN(__builtin_arm_stc2l, "vUIiUIiv*", "") 147309124Sdim 148309124SdimBUILTIN(__builtin_arm_cdp, "vUIiUIiUIiUIiUIiUIi", "") 149309124SdimBUILTIN(__builtin_arm_cdp2, "vUIiUIiUIiUIiUIiUIi", "") 150296417SdimBUILTIN(__builtin_arm_mcr, "vUIiUIiUiUIiUIiUIi", "") 151296417SdimBUILTIN(__builtin_arm_mcr2, "vUIiUIiUiUIiUIiUIi", "") 152296417SdimBUILTIN(__builtin_arm_mrc, "UiUIiUIiUIiUIiUIi", "") 153296417SdimBUILTIN(__builtin_arm_mrc2, "UiUIiUIiUIiUIiUIi", "") 154309124SdimBUILTIN(__builtin_arm_mcrr, "vUIiUIiLLUiUIi", "") 155309124SdimBUILTIN(__builtin_arm_mcrr2, "vUIiUIiLLUiUIi", "") 156309124SdimBUILTIN(__builtin_arm_mrrc, "LLUiUIiUIiUIi", "") 157309124SdimBUILTIN(__builtin_arm_mrrc2, "LLUiUIiUIiUIi", "") 158223017Sdim 159261991Sdim// CRC32 160261991SdimBUILTIN(__builtin_arm_crc32b, "UiUiUc", "nc") 161261991SdimBUILTIN(__builtin_arm_crc32cb, "UiUiUc", "nc") 162261991SdimBUILTIN(__builtin_arm_crc32h, "UiUiUs", "nc") 163261991SdimBUILTIN(__builtin_arm_crc32ch, "UiUiUs", "nc") 164261991SdimBUILTIN(__builtin_arm_crc32w, "UiUiUi", "nc") 165261991SdimBUILTIN(__builtin_arm_crc32cw, "UiUiUi", "nc") 166261991SdimBUILTIN(__builtin_arm_crc32d, "UiUiLLUi", "nc") 167261991SdimBUILTIN(__builtin_arm_crc32cd, "UiUiLLUi", "nc") 168261991Sdim 169360784Sdim// ARMv8-M Security Extensions a.k.a CMSE 170360784SdimBUILTIN(__builtin_arm_cmse_TT, "Uiv*", "n") 171360784SdimBUILTIN(__builtin_arm_cmse_TTT, "Uiv*", "n") 172360784SdimBUILTIN(__builtin_arm_cmse_TTA, "Uiv*", "n") 173360784SdimBUILTIN(__builtin_arm_cmse_TTAT, "Uiv*", "n") 174360784Sdim 175261991Sdim// HINT 176276479SdimBUILTIN(__builtin_arm_nop, "v", "") 177276479SdimBUILTIN(__builtin_arm_yield, "v", "") 178276479SdimBUILTIN(__builtin_arm_wfe, "v", "") 179276479SdimBUILTIN(__builtin_arm_wfi, "v", "") 180276479SdimBUILTIN(__builtin_arm_sev, "v", "") 181261991SdimBUILTIN(__builtin_arm_sevl, "v", "") 182280031SdimBUILTIN(__builtin_arm_dbg, "vUi", "") 183261991Sdim 184261991Sdim// Data barrier 185261991SdimBUILTIN(__builtin_arm_dmb, "vUi", "nc") 186261991SdimBUILTIN(__builtin_arm_dsb, "vUi", "nc") 187276479SdimBUILTIN(__builtin_arm_isb, "vUi", "nc") 188261991Sdim 189280031Sdim// Prefetch 190280031SdimBUILTIN(__builtin_arm_prefetch, "vvC*UiUi", "nc") 191280031Sdim 192288943Sdim// System registers (ACLE) 193288943SdimBUILTIN(__builtin_arm_rsr, "UicC*", "nc") 194288943SdimBUILTIN(__builtin_arm_rsr64, "LLUicC*", "nc") 195288943SdimBUILTIN(__builtin_arm_rsrp, "v*cC*", "nc") 196288943SdimBUILTIN(__builtin_arm_wsr, "vcC*Ui", "nc") 197288943SdimBUILTIN(__builtin_arm_wsr64, "vcC*LLUi", "nc") 198288943SdimBUILTIN(__builtin_arm_wsrp, "vcC*vC*", "nc") 199288943Sdim 200360784Sdim// Builtins for implementing ACLE MVE intrinsics. (Unlike NEON, these 201360784Sdim// don't need to live in a separate BuiltinsMVE.def, because they 202360784Sdim// aren't included from both here and BuiltinsAArch64.def.) 203360784Sdim#include "clang/Basic/arm_mve_builtins.inc" 204360784Sdim 205276479Sdim// MSVC 206280031SdimLANGBUILTIN(__emit, "vIUiC", "", ALL_MS_LANGUAGES) 207280031Sdim 208276479SdimLANGBUILTIN(__yield, "v", "", ALL_MS_LANGUAGES) 209276479SdimLANGBUILTIN(__wfe, "v", "", ALL_MS_LANGUAGES) 210276479SdimLANGBUILTIN(__wfi, "v", "", ALL_MS_LANGUAGES) 211276479SdimLANGBUILTIN(__sev, "v", "", ALL_MS_LANGUAGES) 212276479SdimLANGBUILTIN(__sevl, "v", "", ALL_MS_LANGUAGES) 213210299Sed 214276479SdimLANGBUILTIN(__dmb, "vUi", "nc", ALL_MS_LANGUAGES) 215276479SdimLANGBUILTIN(__dsb, "vUi", "nc", ALL_MS_LANGUAGES) 216276479SdimLANGBUILTIN(__isb, "vUi", "nc", ALL_MS_LANGUAGES) 217288943SdimLANGBUILTIN(__ldrexd, "WiWiCD*", "", ALL_MS_LANGUAGES) 218288943SdimLANGBUILTIN(_MoveFromCoprocessor, "UiIUiIUiIUiIUiIUi", "", ALL_MS_LANGUAGES) 219288943SdimLANGBUILTIN(_MoveFromCoprocessor2, "UiIUiIUiIUiIUiIUi", "", ALL_MS_LANGUAGES) 220288943SdimLANGBUILTIN(_MoveToCoprocessor, "vUiIUiIUiIUiIUiIUi", "", ALL_MS_LANGUAGES) 221288943SdimLANGBUILTIN(_MoveToCoprocessor2, "vUiIUiIUiIUiIUiIUi", "", ALL_MS_LANGUAGES) 222276479Sdim 223321369SdimTARGET_HEADER_BUILTIN(_BitScanForward, "UcUNi*UNi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 224321369SdimTARGET_HEADER_BUILTIN(_BitScanReverse, "UcUNi*UNi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 225321369SdimTARGET_HEADER_BUILTIN(_BitScanForward64, "UcUNi*ULLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 226321369SdimTARGET_HEADER_BUILTIN(_BitScanReverse64, "UcUNi*ULLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 227314564Sdim 228314564SdimTARGET_HEADER_BUILTIN(_InterlockedAnd64, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 229314564SdimTARGET_HEADER_BUILTIN(_InterlockedDecrement64, "LLiLLiD*", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 230314564SdimTARGET_HEADER_BUILTIN(_InterlockedExchange64, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 231314564SdimTARGET_HEADER_BUILTIN(_InterlockedExchangeAdd64, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 232314564SdimTARGET_HEADER_BUILTIN(_InterlockedExchangeSub64, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 233314564SdimTARGET_HEADER_BUILTIN(_InterlockedIncrement64, "LLiLLiD*", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 234314564SdimTARGET_HEADER_BUILTIN(_InterlockedOr64, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 235314564SdimTARGET_HEADER_BUILTIN(_InterlockedXor64, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 236314564Sdim 237360784SdimTARGET_HEADER_BUILTIN(_InterlockedExchangeAdd_acq, "NiNiD*Ni", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 238360784SdimTARGET_HEADER_BUILTIN(_InterlockedExchangeAdd_rel, "NiNiD*Ni", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 239360784SdimTARGET_HEADER_BUILTIN(_InterlockedExchangeAdd_nf, "NiNiD*Ni", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 240344779SdimTARGET_HEADER_BUILTIN(_InterlockedExchangeAdd8_acq, "ccD*c", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 241344779SdimTARGET_HEADER_BUILTIN(_InterlockedExchangeAdd8_rel, "ccD*c", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 242344779SdimTARGET_HEADER_BUILTIN(_InterlockedExchangeAdd8_nf, "ccD*c", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 243344779SdimTARGET_HEADER_BUILTIN(_InterlockedExchangeAdd16_acq, "ssD*s", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 244344779SdimTARGET_HEADER_BUILTIN(_InterlockedExchangeAdd16_rel, "ssD*s", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 245344779SdimTARGET_HEADER_BUILTIN(_InterlockedExchangeAdd16_nf, "ssD*s", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 246344779SdimTARGET_HEADER_BUILTIN(_InterlockedExchangeAdd64_acq, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 247344779SdimTARGET_HEADER_BUILTIN(_InterlockedExchangeAdd64_rel, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 248344779SdimTARGET_HEADER_BUILTIN(_InterlockedExchangeAdd64_nf, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 249344779Sdim 250344779SdimTARGET_HEADER_BUILTIN(_InterlockedExchange8_acq, "ccD*c", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 251344779SdimTARGET_HEADER_BUILTIN(_InterlockedExchange8_nf, "ccD*c", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 252344779SdimTARGET_HEADER_BUILTIN(_InterlockedExchange8_rel, "ccD*c", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 253344779SdimTARGET_HEADER_BUILTIN(_InterlockedExchange16_acq, "ssD*s", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 254344779SdimTARGET_HEADER_BUILTIN(_InterlockedExchange16_nf, "ssD*s", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 255344779SdimTARGET_HEADER_BUILTIN(_InterlockedExchange16_rel, "ssD*s", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 256360784SdimTARGET_HEADER_BUILTIN(_InterlockedExchange_acq, "NiNiD*Ni", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 257360784SdimTARGET_HEADER_BUILTIN(_InterlockedExchange_nf, "NiNiD*Ni", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 258360784SdimTARGET_HEADER_BUILTIN(_InterlockedExchange_rel, "NiNiD*Ni", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 259344779SdimTARGET_HEADER_BUILTIN(_InterlockedExchange64_acq, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 260344779SdimTARGET_HEADER_BUILTIN(_InterlockedExchange64_nf, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 261344779SdimTARGET_HEADER_BUILTIN(_InterlockedExchange64_rel, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 262344779Sdim 263344779SdimTARGET_HEADER_BUILTIN(_InterlockedCompareExchange8_acq, "ccD*cc", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 264344779SdimTARGET_HEADER_BUILTIN(_InterlockedCompareExchange8_nf, "ccD*cc", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 265344779SdimTARGET_HEADER_BUILTIN(_InterlockedCompareExchange8_rel, "ccD*cc", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 266344779SdimTARGET_HEADER_BUILTIN(_InterlockedCompareExchange16_acq, "ssD*ss", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 267344779SdimTARGET_HEADER_BUILTIN(_InterlockedCompareExchange16_nf, "ssD*ss", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 268344779SdimTARGET_HEADER_BUILTIN(_InterlockedCompareExchange16_rel, "ssD*ss", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 269360784SdimTARGET_HEADER_BUILTIN(_InterlockedCompareExchange_acq, "NiNiD*NiNi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 270360784SdimTARGET_HEADER_BUILTIN(_InterlockedCompareExchange_nf, "NiNiD*NiNi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 271360784SdimTARGET_HEADER_BUILTIN(_InterlockedCompareExchange_rel, "NiNiD*NiNi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 272344779SdimTARGET_HEADER_BUILTIN(_InterlockedCompareExchange64_acq, "LLiLLiD*LLiLLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 273344779SdimTARGET_HEADER_BUILTIN(_InterlockedCompareExchange64_nf, "LLiLLiD*LLiLLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 274344779SdimTARGET_HEADER_BUILTIN(_InterlockedCompareExchange64_rel, "LLiLLiD*LLiLLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 275344779Sdim 276344779SdimTARGET_HEADER_BUILTIN(_InterlockedOr8_acq, "ccD*c", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 277344779SdimTARGET_HEADER_BUILTIN(_InterlockedOr8_nf, "ccD*c", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 278344779SdimTARGET_HEADER_BUILTIN(_InterlockedOr8_rel, "ccD*c", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 279344779SdimTARGET_HEADER_BUILTIN(_InterlockedOr16_acq, "ssD*s", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 280344779SdimTARGET_HEADER_BUILTIN(_InterlockedOr16_nf, "ssD*s", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 281344779SdimTARGET_HEADER_BUILTIN(_InterlockedOr16_rel, "ssD*s", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 282360784SdimTARGET_HEADER_BUILTIN(_InterlockedOr_acq, "NiNiD*Ni", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 283360784SdimTARGET_HEADER_BUILTIN(_InterlockedOr_nf, "NiNiD*Ni", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 284360784SdimTARGET_HEADER_BUILTIN(_InterlockedOr_rel, "NiNiD*Ni", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 285344779SdimTARGET_HEADER_BUILTIN(_InterlockedOr64_acq, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 286344779SdimTARGET_HEADER_BUILTIN(_InterlockedOr64_nf, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 287344779SdimTARGET_HEADER_BUILTIN(_InterlockedOr64_rel, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 288344779Sdim 289344779SdimTARGET_HEADER_BUILTIN(_InterlockedXor8_acq, "ccD*c", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 290344779SdimTARGET_HEADER_BUILTIN(_InterlockedXor8_nf, "ccD*c", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 291344779SdimTARGET_HEADER_BUILTIN(_InterlockedXor8_rel, "ccD*c", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 292344779SdimTARGET_HEADER_BUILTIN(_InterlockedXor16_acq, "ssD*s", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 293344779SdimTARGET_HEADER_BUILTIN(_InterlockedXor16_nf, "ssD*s", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 294344779SdimTARGET_HEADER_BUILTIN(_InterlockedXor16_rel, "ssD*s", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 295360784SdimTARGET_HEADER_BUILTIN(_InterlockedXor_acq, "NiNiD*Ni", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 296360784SdimTARGET_HEADER_BUILTIN(_InterlockedXor_nf, "NiNiD*Ni", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 297360784SdimTARGET_HEADER_BUILTIN(_InterlockedXor_rel, "NiNiD*Ni", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 298344779SdimTARGET_HEADER_BUILTIN(_InterlockedXor64_acq, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 299344779SdimTARGET_HEADER_BUILTIN(_InterlockedXor64_nf, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 300344779SdimTARGET_HEADER_BUILTIN(_InterlockedXor64_rel, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 301344779Sdim 302344779SdimTARGET_HEADER_BUILTIN(_InterlockedAnd8_acq, "ccD*c", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 303344779SdimTARGET_HEADER_BUILTIN(_InterlockedAnd8_nf, "ccD*c", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 304344779SdimTARGET_HEADER_BUILTIN(_InterlockedAnd8_rel, "ccD*c", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 305344779SdimTARGET_HEADER_BUILTIN(_InterlockedAnd16_acq, "ssD*s", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 306344779SdimTARGET_HEADER_BUILTIN(_InterlockedAnd16_nf, "ssD*s", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 307344779SdimTARGET_HEADER_BUILTIN(_InterlockedAnd16_rel, "ssD*s", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 308360784SdimTARGET_HEADER_BUILTIN(_InterlockedAnd_acq, "NiNiD*Ni", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 309360784SdimTARGET_HEADER_BUILTIN(_InterlockedAnd_nf, "NiNiD*Ni", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 310360784SdimTARGET_HEADER_BUILTIN(_InterlockedAnd_rel, "NiNiD*Ni", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 311344779SdimTARGET_HEADER_BUILTIN(_InterlockedAnd64_acq, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 312344779SdimTARGET_HEADER_BUILTIN(_InterlockedAnd64_nf, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 313344779SdimTARGET_HEADER_BUILTIN(_InterlockedAnd64_rel, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 314344779Sdim 315344779SdimTARGET_HEADER_BUILTIN(_InterlockedIncrement16_acq, "ssD*", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 316344779SdimTARGET_HEADER_BUILTIN(_InterlockedIncrement16_nf, "ssD*", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 317344779SdimTARGET_HEADER_BUILTIN(_InterlockedIncrement16_rel, "ssD*", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 318360784SdimTARGET_HEADER_BUILTIN(_InterlockedIncrement_acq, "NiNiD*", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 319360784SdimTARGET_HEADER_BUILTIN(_InterlockedIncrement_nf, "NiNiD*", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 320360784SdimTARGET_HEADER_BUILTIN(_InterlockedIncrement_rel, "NiNiD*", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 321344779SdimTARGET_HEADER_BUILTIN(_InterlockedIncrement64_acq, "LLiLLiD*", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 322344779SdimTARGET_HEADER_BUILTIN(_InterlockedIncrement64_nf, "LLiLLiD*", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 323344779SdimTARGET_HEADER_BUILTIN(_InterlockedIncrement64_rel, "LLiLLiD*", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 324344779Sdim 325344779SdimTARGET_HEADER_BUILTIN(_InterlockedDecrement16_acq, "ssD*", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 326344779SdimTARGET_HEADER_BUILTIN(_InterlockedDecrement16_nf, "ssD*", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 327344779SdimTARGET_HEADER_BUILTIN(_InterlockedDecrement16_rel, "ssD*", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 328360784SdimTARGET_HEADER_BUILTIN(_InterlockedDecrement_acq, "NiNiD*", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 329360784SdimTARGET_HEADER_BUILTIN(_InterlockedDecrement_nf, "NiNiD*", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 330360784SdimTARGET_HEADER_BUILTIN(_InterlockedDecrement_rel, "NiNiD*", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 331344779SdimTARGET_HEADER_BUILTIN(_InterlockedDecrement64_acq, "LLiLLiD*", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 332344779SdimTARGET_HEADER_BUILTIN(_InterlockedDecrement64_nf, "LLiLLiD*", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 333344779SdimTARGET_HEADER_BUILTIN(_InterlockedDecrement64_rel, "LLiLLiD*", "nh", "intrin.h", ALL_MS_LANGUAGES, "") 334344779Sdim 335204793Srdivacky#undef BUILTIN 336276479Sdim#undef LANGBUILTIN 337314564Sdim#undef TARGET_HEADER_BUILTIN 338