| 1 | //===--- BuiltinsARM.def - ARM Builtin function database ----*- C++ -*-===// |
| 2 | // |
| 3 | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| 4 | // See https://llvm.org/LICENSE.txt for license information. |
| 5 | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| 6 | // |
| 7 | //===----------------------------------------------------------------------===// |
| 8 | // |
| 9 | // This file defines the ARM-specific builtin function database. Users of |
| 10 | // this file must define the BUILTIN macro to make use of this information. |
| 11 | // |
| 12 | //===----------------------------------------------------------------------===// |
| 13 | |
| 14 | // The format of this database matches clang/Basic/Builtins.def. |
| 15 | |
| 16 | #if defined(BUILTIN) && !defined(LANGBUILTIN) |
| 17 | # define LANGBUILTIN(ID, TYPE, ATTRS, BUILTIN_LANG) BUILTIN(ID, TYPE, ATTRS) |
| 18 | #endif |
| 19 | |
| 20 | #if defined(BUILTIN) && !defined(TARGET_HEADER_BUILTIN) |
| 21 | # define (ID, TYPE, ATTRS, HEADER, LANG, FEATURE) BUILTIN(ID, TYPE, ATTRS) |
| 22 | #endif |
| 23 | |
| 24 | // In libgcc |
| 25 | BUILTIN(__clear_cache, "vv*v*", "i") |
| 26 | |
| 27 | // 16-bit multiplications |
| 28 | BUILTIN(__builtin_arm_smulbb, "iii", "nc") |
| 29 | BUILTIN(__builtin_arm_smulbt, "iii", "nc") |
| 30 | BUILTIN(__builtin_arm_smultb, "iii", "nc") |
| 31 | BUILTIN(__builtin_arm_smultt, "iii", "nc") |
| 32 | BUILTIN(__builtin_arm_smulwb, "iii", "nc") |
| 33 | BUILTIN(__builtin_arm_smulwt, "iii", "nc") |
| 34 | |
| 35 | // Saturating arithmetic |
| 36 | BUILTIN(__builtin_arm_qadd, "iii", "nc") |
| 37 | BUILTIN(__builtin_arm_qsub, "iii", "nc") |
| 38 | BUILTIN(__builtin_arm_qdbl, "ii", "nc") |
| 39 | BUILTIN(__builtin_arm_ssat, "iiUi", "nc") |
| 40 | BUILTIN(__builtin_arm_usat, "UiiUi", "nc") |
| 41 | |
| 42 | BUILTIN(__builtin_arm_smlabb, "iiii", "nc") |
| 43 | BUILTIN(__builtin_arm_smlabt, "iiii", "nc") |
| 44 | BUILTIN(__builtin_arm_smlatb, "iiii", "nc") |
| 45 | BUILTIN(__builtin_arm_smlatt, "iiii", "nc") |
| 46 | BUILTIN(__builtin_arm_smlawb, "iiii", "nc") |
| 47 | BUILTIN(__builtin_arm_smlawt, "iiii", "nc") |
| 48 | |
| 49 | BUILTIN(__builtin_arm_ssat16, "iii", "nc") |
| 50 | BUILTIN(__builtin_arm_usat16, "iii", "nc") |
| 51 | |
| 52 | BUILTIN(__builtin_arm_sxtab16, "iii", "nc") |
| 53 | BUILTIN(__builtin_arm_sxtb16, "ii", "nc") |
| 54 | BUILTIN(__builtin_arm_uxtab16, "iii", "nc") |
| 55 | BUILTIN(__builtin_arm_uxtb16, "ii", "nc") |
| 56 | |
| 57 | BUILTIN(__builtin_arm_sel, "iii", "nc") |
| 58 | |
| 59 | BUILTIN(__builtin_arm_qadd8, "iii", "nc") |
| 60 | BUILTIN(__builtin_arm_qsub8, "iii", "nc") |
| 61 | BUILTIN(__builtin_arm_sadd8, "iii", "nc") |
| 62 | BUILTIN(__builtin_arm_shadd8, "iii", "nc") |
| 63 | BUILTIN(__builtin_arm_shsub8, "iii", "nc") |
| 64 | BUILTIN(__builtin_arm_ssub8, "iii", "nc") |
| 65 | BUILTIN(__builtin_arm_uadd8, "UiUiUi", "nc") |
| 66 | BUILTIN(__builtin_arm_uhadd8, "UiUiUi", "nc") |
| 67 | BUILTIN(__builtin_arm_uhsub8, "UiUiUi", "nc") |
| 68 | BUILTIN(__builtin_arm_uqadd8, "UiUiUi", "nc") |
| 69 | BUILTIN(__builtin_arm_uqsub8, "UiUiUi", "nc") |
| 70 | BUILTIN(__builtin_arm_usub8, "UiUiUi", "nc") |
| 71 | |
| 72 | // Sum of 8-bit absolute differences |
| 73 | BUILTIN(__builtin_arm_usad8, "UiUiUi", "nc") |
| 74 | BUILTIN(__builtin_arm_usada8, "UiUiUiUi", "nc") |
| 75 | |
| 76 | // Parallel 16-bit addition and subtraction |
| 77 | BUILTIN(__builtin_arm_qadd16, "iii", "nc") |
| 78 | BUILTIN(__builtin_arm_qasx, "iii", "nc") |
| 79 | BUILTIN(__builtin_arm_qsax, "iii", "nc") |
| 80 | BUILTIN(__builtin_arm_qsub16, "iii", "nc") |
| 81 | BUILTIN(__builtin_arm_sadd16, "iii", "nc") |
| 82 | BUILTIN(__builtin_arm_sasx, "iii", "nc") |
| 83 | BUILTIN(__builtin_arm_shadd16, "iii", "nc") |
| 84 | BUILTIN(__builtin_arm_shasx, "iii", "nc") |
| 85 | BUILTIN(__builtin_arm_shsax, "iii", "nc") |
| 86 | BUILTIN(__builtin_arm_shsub16, "iii", "nc") |
| 87 | BUILTIN(__builtin_arm_ssax, "iii", "nc") |
| 88 | BUILTIN(__builtin_arm_ssub16, "iii", "nc") |
| 89 | BUILTIN(__builtin_arm_uadd16, "UiUiUi", "nc") |
| 90 | BUILTIN(__builtin_arm_uasx, "UiUiUi", "nc") |
| 91 | BUILTIN(__builtin_arm_uhadd16, "UiUiUi", "nc") |
| 92 | BUILTIN(__builtin_arm_uhasx, "UiUiUi", "nc") |
| 93 | BUILTIN(__builtin_arm_uhsax, "UiUiUi", "nc") |
| 94 | BUILTIN(__builtin_arm_uhsub16, "UiUiUi", "nc") |
| 95 | BUILTIN(__builtin_arm_uqadd16, "UiUiUi", "nc") |
| 96 | BUILTIN(__builtin_arm_uqasx, "UiUiUi", "nc") |
| 97 | BUILTIN(__builtin_arm_uqsax, "UiUiUi", "nc") |
| 98 | BUILTIN(__builtin_arm_uqsub16, "UiUiUi", "nc") |
| 99 | BUILTIN(__builtin_arm_usax, "UiUiUi", "nc") |
| 100 | BUILTIN(__builtin_arm_usub16, "UiUiUi", "nc") |
| 101 | |
| 102 | // Parallel 16-bit multiplication |
| 103 | BUILTIN(__builtin_arm_smlad, "iiii", "nc") |
| 104 | BUILTIN(__builtin_arm_smladx, "iiii", "nc") |
| 105 | BUILTIN(__builtin_arm_smlald, "LLiiiLLi", "nc") |
| 106 | BUILTIN(__builtin_arm_smlaldx, "LLiiiLLi", "nc") |
| 107 | BUILTIN(__builtin_arm_smlsd, "iiii", "nc") |
| 108 | BUILTIN(__builtin_arm_smlsdx, "iiii", "nc") |
| 109 | BUILTIN(__builtin_arm_smlsld, "LLiiiLLi", "nc") |
| 110 | BUILTIN(__builtin_arm_smlsldx, "LLiiiLLi", "nc") |
| 111 | BUILTIN(__builtin_arm_smuad, "iii", "nc") |
| 112 | BUILTIN(__builtin_arm_smuadx, "iii", "nc") |
| 113 | BUILTIN(__builtin_arm_smusd, "iii", "nc") |
| 114 | BUILTIN(__builtin_arm_smusdx, "iii", "nc") |
| 115 | |
| 116 | // Bit manipulation |
| 117 | BUILTIN(__builtin_arm_rbit, "UiUi", "nc") |
| 118 | |
| 119 | // Store and load exclusive |
| 120 | BUILTIN(__builtin_arm_ldrexd, "LLUiv*", "") |
| 121 | BUILTIN(__builtin_arm_strexd, "iLLUiv*", "") |
| 122 | |
| 123 | BUILTIN(__builtin_arm_ldrex, "v.", "t") |
| 124 | BUILTIN(__builtin_arm_ldaex, "v.", "t") |
| 125 | BUILTIN(__builtin_arm_strex, "i.", "t") |
| 126 | BUILTIN(__builtin_arm_stlex, "i.", "t") |
| 127 | BUILTIN(__builtin_arm_clrex, "v", "") |
| 128 | |
| 129 | // VFP |
| 130 | BUILTIN(__builtin_arm_get_fpscr, "Ui", "nc") |
| 131 | BUILTIN(__builtin_arm_set_fpscr, "vUi", "nc") |
| 132 | BUILTIN(__builtin_arm_vcvtr_f, "ffi", "nc") |
| 133 | BUILTIN(__builtin_arm_vcvtr_d, "fdi", "nc") |
| 134 | |
| 135 | // Coprocessor |
| 136 | BUILTIN(__builtin_arm_ldc, "vUIiUIivC*", "") |
| 137 | BUILTIN(__builtin_arm_ldcl, "vUIiUIivC*", "") |
| 138 | BUILTIN(__builtin_arm_ldc2, "vUIiUIivC*", "") |
| 139 | BUILTIN(__builtin_arm_ldc2l, "vUIiUIivC*", "") |
| 140 | |
| 141 | BUILTIN(__builtin_arm_stc, "vUIiUIiv*", "") |
| 142 | BUILTIN(__builtin_arm_stcl, "vUIiUIiv*", "") |
| 143 | BUILTIN(__builtin_arm_stc2, "vUIiUIiv*", "") |
| 144 | BUILTIN(__builtin_arm_stc2l, "vUIiUIiv*", "") |
| 145 | |
| 146 | BUILTIN(__builtin_arm_cdp, "vUIiUIiUIiUIiUIiUIi", "") |
| 147 | BUILTIN(__builtin_arm_cdp2, "vUIiUIiUIiUIiUIiUIi", "") |
| 148 | BUILTIN(__builtin_arm_mcr, "vUIiUIiUiUIiUIiUIi", "") |
| 149 | BUILTIN(__builtin_arm_mcr2, "vUIiUIiUiUIiUIiUIi", "") |
| 150 | BUILTIN(__builtin_arm_mrc, "UiUIiUIiUIiUIiUIi", "") |
| 151 | BUILTIN(__builtin_arm_mrc2, "UiUIiUIiUIiUIiUIi", "") |
| 152 | BUILTIN(__builtin_arm_mcrr, "vUIiUIiLLUiUIi", "") |
| 153 | BUILTIN(__builtin_arm_mcrr2, "vUIiUIiLLUiUIi", "") |
| 154 | BUILTIN(__builtin_arm_mrrc, "LLUiUIiUIiUIi", "") |
| 155 | BUILTIN(__builtin_arm_mrrc2, "LLUiUIiUIiUIi", "") |
| 156 | |
| 157 | // CRC32 |
| 158 | BUILTIN(__builtin_arm_crc32b, "UiUiUc", "nc") |
| 159 | BUILTIN(__builtin_arm_crc32cb, "UiUiUc", "nc") |
| 160 | BUILTIN(__builtin_arm_crc32h, "UiUiUs", "nc") |
| 161 | BUILTIN(__builtin_arm_crc32ch, "UiUiUs", "nc") |
| 162 | BUILTIN(__builtin_arm_crc32w, "UiUiUi", "nc") |
| 163 | BUILTIN(__builtin_arm_crc32cw, "UiUiUi", "nc") |
| 164 | BUILTIN(__builtin_arm_crc32d, "UiUiLLUi", "nc") |
| 165 | BUILTIN(__builtin_arm_crc32cd, "UiUiLLUi", "nc") |
| 166 | |
| 167 | // HINT |
| 168 | BUILTIN(__builtin_arm_nop, "v", "") |
| 169 | BUILTIN(__builtin_arm_yield, "v", "") |
| 170 | BUILTIN(__builtin_arm_wfe, "v", "") |
| 171 | BUILTIN(__builtin_arm_wfi, "v", "") |
| 172 | BUILTIN(__builtin_arm_sev, "v", "") |
| 173 | BUILTIN(__builtin_arm_sevl, "v", "") |
| 174 | BUILTIN(__builtin_arm_dbg, "vUi", "") |
| 175 | |
| 176 | // Data barrier |
| 177 | BUILTIN(__builtin_arm_dmb, "vUi", "nc") |
| 178 | BUILTIN(__builtin_arm_dsb, "vUi", "nc") |
| 179 | BUILTIN(__builtin_arm_isb, "vUi", "nc") |
| 180 | |
| 181 | // Prefetch |
| 182 | BUILTIN(__builtin_arm_prefetch, "vvC*UiUi", "nc") |
| 183 | |
| 184 | // System registers (ACLE) |
| 185 | BUILTIN(__builtin_arm_rsr, "UicC*", "nc") |
| 186 | BUILTIN(__builtin_arm_rsr64, "LLUicC*", "nc") |
| 187 | BUILTIN(__builtin_arm_rsrp, "v*cC*", "nc") |
| 188 | BUILTIN(__builtin_arm_wsr, "vcC*Ui", "nc") |
| 189 | BUILTIN(__builtin_arm_wsr64, "vcC*LLUi", "nc") |
| 190 | BUILTIN(__builtin_arm_wsrp, "vcC*vC*", "nc") |
| 191 | |
| 192 | // MSVC |
| 193 | LANGBUILTIN(__emit, "vIUiC", "", ALL_MS_LANGUAGES) |
| 194 | |
| 195 | LANGBUILTIN(__yield, "v", "", ALL_MS_LANGUAGES) |
| 196 | LANGBUILTIN(__wfe, "v", "", ALL_MS_LANGUAGES) |
| 197 | LANGBUILTIN(__wfi, "v", "", ALL_MS_LANGUAGES) |
| 198 | LANGBUILTIN(__sev, "v", "", ALL_MS_LANGUAGES) |
| 199 | LANGBUILTIN(__sevl, "v", "", ALL_MS_LANGUAGES) |
| 200 | |
| 201 | LANGBUILTIN(__dmb, "vUi", "nc", ALL_MS_LANGUAGES) |
| 202 | LANGBUILTIN(__dsb, "vUi", "nc", ALL_MS_LANGUAGES) |
| 203 | LANGBUILTIN(__isb, "vUi", "nc", ALL_MS_LANGUAGES) |
| 204 | LANGBUILTIN(__ldrexd, "WiWiCD*", "", ALL_MS_LANGUAGES) |
| 205 | LANGBUILTIN(_MoveFromCoprocessor, "UiIUiIUiIUiIUiIUi", "", ALL_MS_LANGUAGES) |
| 206 | LANGBUILTIN(_MoveFromCoprocessor2, "UiIUiIUiIUiIUiIUi", "", ALL_MS_LANGUAGES) |
| 207 | LANGBUILTIN(_MoveToCoprocessor, "vUiIUiIUiIUiIUiIUi", "", ALL_MS_LANGUAGES) |
| 208 | LANGBUILTIN(_MoveToCoprocessor2, "vUiIUiIUiIUiIUiIUi", "", ALL_MS_LANGUAGES) |
| 209 | |
| 210 | TARGET_HEADER_BUILTIN(_BitScanForward, "UcUNi*UNi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 211 | TARGET_HEADER_BUILTIN(_BitScanReverse, "UcUNi*UNi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 212 | TARGET_HEADER_BUILTIN(_BitScanForward64, "UcUNi*ULLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 213 | TARGET_HEADER_BUILTIN(_BitScanReverse64, "UcUNi*ULLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 214 | |
| 215 | TARGET_HEADER_BUILTIN(_InterlockedAnd64, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 216 | TARGET_HEADER_BUILTIN(_InterlockedDecrement64, "LLiLLiD*", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 217 | TARGET_HEADER_BUILTIN(_InterlockedExchange64, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 218 | TARGET_HEADER_BUILTIN(_InterlockedExchangeAdd64, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 219 | TARGET_HEADER_BUILTIN(_InterlockedExchangeSub64, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 220 | TARGET_HEADER_BUILTIN(_InterlockedIncrement64, "LLiLLiD*", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 221 | TARGET_HEADER_BUILTIN(_InterlockedOr64, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 222 | TARGET_HEADER_BUILTIN(_InterlockedXor64, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 223 | |
| 224 | TARGET_HEADER_BUILTIN(_InterlockedExchangeAdd_acq, "LiLiD*Li", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 225 | TARGET_HEADER_BUILTIN(_InterlockedExchangeAdd_rel, "LiLiD*Li", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 226 | TARGET_HEADER_BUILTIN(_InterlockedExchangeAdd_nf, "LiLiD*Li", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 227 | TARGET_HEADER_BUILTIN(_InterlockedExchangeAdd8_acq, "ccD*c", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 228 | TARGET_HEADER_BUILTIN(_InterlockedExchangeAdd8_rel, "ccD*c", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 229 | TARGET_HEADER_BUILTIN(_InterlockedExchangeAdd8_nf, "ccD*c", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 230 | TARGET_HEADER_BUILTIN(_InterlockedExchangeAdd16_acq, "ssD*s", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 231 | TARGET_HEADER_BUILTIN(_InterlockedExchangeAdd16_rel, "ssD*s", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 232 | TARGET_HEADER_BUILTIN(_InterlockedExchangeAdd16_nf, "ssD*s", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 233 | TARGET_HEADER_BUILTIN(_InterlockedExchangeAdd64_acq, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 234 | TARGET_HEADER_BUILTIN(_InterlockedExchangeAdd64_rel, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 235 | TARGET_HEADER_BUILTIN(_InterlockedExchangeAdd64_nf, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 236 | |
| 237 | TARGET_HEADER_BUILTIN(_InterlockedExchange8_acq, "ccD*c", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 238 | TARGET_HEADER_BUILTIN(_InterlockedExchange8_nf, "ccD*c", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 239 | TARGET_HEADER_BUILTIN(_InterlockedExchange8_rel, "ccD*c", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 240 | TARGET_HEADER_BUILTIN(_InterlockedExchange16_acq, "ssD*s", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 241 | TARGET_HEADER_BUILTIN(_InterlockedExchange16_nf, "ssD*s", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 242 | TARGET_HEADER_BUILTIN(_InterlockedExchange16_rel, "ssD*s", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 243 | TARGET_HEADER_BUILTIN(_InterlockedExchange_acq, "LiLiD*Li", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 244 | TARGET_HEADER_BUILTIN(_InterlockedExchange_nf, "LiLiD*Li", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 245 | TARGET_HEADER_BUILTIN(_InterlockedExchange_rel, "LiLiD*Li", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 246 | TARGET_HEADER_BUILTIN(_InterlockedExchange64_acq, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 247 | TARGET_HEADER_BUILTIN(_InterlockedExchange64_nf, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 248 | TARGET_HEADER_BUILTIN(_InterlockedExchange64_rel, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 249 | |
| 250 | TARGET_HEADER_BUILTIN(_InterlockedCompareExchange8_acq, "ccD*cc", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 251 | TARGET_HEADER_BUILTIN(_InterlockedCompareExchange8_nf, "ccD*cc", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 252 | TARGET_HEADER_BUILTIN(_InterlockedCompareExchange8_rel, "ccD*cc", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 253 | TARGET_HEADER_BUILTIN(_InterlockedCompareExchange16_acq, "ssD*ss", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 254 | TARGET_HEADER_BUILTIN(_InterlockedCompareExchange16_nf, "ssD*ss", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 255 | TARGET_HEADER_BUILTIN(_InterlockedCompareExchange16_rel, "ssD*ss", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 256 | TARGET_HEADER_BUILTIN(_InterlockedCompareExchange_acq, "LiLiD*LiLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 257 | TARGET_HEADER_BUILTIN(_InterlockedCompareExchange_nf, "LiLiD*LiLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 258 | TARGET_HEADER_BUILTIN(_InterlockedCompareExchange_rel, "LiLiD*LiLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 259 | TARGET_HEADER_BUILTIN(_InterlockedCompareExchange64_acq, "LLiLLiD*LLiLLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 260 | TARGET_HEADER_BUILTIN(_InterlockedCompareExchange64_nf, "LLiLLiD*LLiLLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 261 | TARGET_HEADER_BUILTIN(_InterlockedCompareExchange64_rel, "LLiLLiD*LLiLLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 262 | |
| 263 | TARGET_HEADER_BUILTIN(_InterlockedOr8_acq, "ccD*c", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 264 | TARGET_HEADER_BUILTIN(_InterlockedOr8_nf, "ccD*c", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 265 | TARGET_HEADER_BUILTIN(_InterlockedOr8_rel, "ccD*c", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 266 | TARGET_HEADER_BUILTIN(_InterlockedOr16_acq, "ssD*s", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 267 | TARGET_HEADER_BUILTIN(_InterlockedOr16_nf, "ssD*s", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 268 | TARGET_HEADER_BUILTIN(_InterlockedOr16_rel, "ssD*s", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 269 | TARGET_HEADER_BUILTIN(_InterlockedOr_acq, "LiLiD*Li", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 270 | TARGET_HEADER_BUILTIN(_InterlockedOr_nf, "LiLiD*Li", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 271 | TARGET_HEADER_BUILTIN(_InterlockedOr_rel, "LiLiD*Li", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 272 | TARGET_HEADER_BUILTIN(_InterlockedOr64_acq, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 273 | TARGET_HEADER_BUILTIN(_InterlockedOr64_nf, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 274 | TARGET_HEADER_BUILTIN(_InterlockedOr64_rel, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 275 | |
| 276 | TARGET_HEADER_BUILTIN(_InterlockedXor8_acq, "ccD*c", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 277 | TARGET_HEADER_BUILTIN(_InterlockedXor8_nf, "ccD*c", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 278 | TARGET_HEADER_BUILTIN(_InterlockedXor8_rel, "ccD*c", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 279 | TARGET_HEADER_BUILTIN(_InterlockedXor16_acq, "ssD*s", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 280 | TARGET_HEADER_BUILTIN(_InterlockedXor16_nf, "ssD*s", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 281 | TARGET_HEADER_BUILTIN(_InterlockedXor16_rel, "ssD*s", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 282 | TARGET_HEADER_BUILTIN(_InterlockedXor_acq, "LiLiD*Li", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 283 | TARGET_HEADER_BUILTIN(_InterlockedXor_nf, "LiLiD*Li", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 284 | TARGET_HEADER_BUILTIN(_InterlockedXor_rel, "LiLiD*Li", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 285 | TARGET_HEADER_BUILTIN(_InterlockedXor64_acq, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 286 | TARGET_HEADER_BUILTIN(_InterlockedXor64_nf, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 287 | TARGET_HEADER_BUILTIN(_InterlockedXor64_rel, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 288 | |
| 289 | TARGET_HEADER_BUILTIN(_InterlockedAnd8_acq, "ccD*c", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 290 | TARGET_HEADER_BUILTIN(_InterlockedAnd8_nf, "ccD*c", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 291 | TARGET_HEADER_BUILTIN(_InterlockedAnd8_rel, "ccD*c", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 292 | TARGET_HEADER_BUILTIN(_InterlockedAnd16_acq, "ssD*s", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 293 | TARGET_HEADER_BUILTIN(_InterlockedAnd16_nf, "ssD*s", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 294 | TARGET_HEADER_BUILTIN(_InterlockedAnd16_rel, "ssD*s", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 295 | TARGET_HEADER_BUILTIN(_InterlockedAnd_acq, "LiLiD*Li", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 296 | TARGET_HEADER_BUILTIN(_InterlockedAnd_nf, "LiLiD*Li", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 297 | TARGET_HEADER_BUILTIN(_InterlockedAnd_rel, "LiLiD*Li", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 298 | TARGET_HEADER_BUILTIN(_InterlockedAnd64_acq, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 299 | TARGET_HEADER_BUILTIN(_InterlockedAnd64_nf, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 300 | TARGET_HEADER_BUILTIN(_InterlockedAnd64_rel, "LLiLLiD*LLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 301 | |
| 302 | TARGET_HEADER_BUILTIN(_InterlockedIncrement16_acq, "ssD*", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 303 | TARGET_HEADER_BUILTIN(_InterlockedIncrement16_nf, "ssD*", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 304 | TARGET_HEADER_BUILTIN(_InterlockedIncrement16_rel, "ssD*", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 305 | TARGET_HEADER_BUILTIN(_InterlockedIncrement_acq, "LiLiD*", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 306 | TARGET_HEADER_BUILTIN(_InterlockedIncrement_nf, "LiLiD*", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 307 | TARGET_HEADER_BUILTIN(_InterlockedIncrement_rel, "LiLiD*", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 308 | TARGET_HEADER_BUILTIN(_InterlockedIncrement64_acq, "LLiLLiD*", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 309 | TARGET_HEADER_BUILTIN(_InterlockedIncrement64_nf, "LLiLLiD*", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 310 | TARGET_HEADER_BUILTIN(_InterlockedIncrement64_rel, "LLiLLiD*", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 311 | |
| 312 | TARGET_HEADER_BUILTIN(_InterlockedDecrement16_acq, "ssD*", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 313 | TARGET_HEADER_BUILTIN(_InterlockedDecrement16_nf, "ssD*", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 314 | TARGET_HEADER_BUILTIN(_InterlockedDecrement16_rel, "ssD*", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 315 | TARGET_HEADER_BUILTIN(_InterlockedDecrement_acq, "LiLiD*", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 316 | TARGET_HEADER_BUILTIN(_InterlockedDecrement_nf, "LiLiD*", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 317 | TARGET_HEADER_BUILTIN(_InterlockedDecrement_rel, "LiLiD*", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 318 | TARGET_HEADER_BUILTIN(_InterlockedDecrement64_acq, "LLiLLiD*", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 319 | TARGET_HEADER_BUILTIN(_InterlockedDecrement64_nf, "LLiLLiD*", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 320 | TARGET_HEADER_BUILTIN(_InterlockedDecrement64_rel, "LLiLLiD*", "nh", "intrin.h", ALL_MS_LANGUAGES, "") |
| 321 | |
| 322 | #undef BUILTIN |
| 323 | #undef LANGBUILTIN |
| 324 | #undef TARGET_HEADER_BUILTIN |
| 325 | |