Skip to content

Commit 9ee8fb6

Browse files
committed
Revert "switch builtin mechanisms -- make aarch64 specific"
This reverts commit 82d2a08.
1 parent 82d2a08 commit 9ee8fb6

File tree

3 files changed

+72
-25
lines changed

3 files changed

+72
-25
lines changed

clang/include/clang/Basic/Builtins.td

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2570,12 +2570,84 @@ def InterlockedBittestAndReset : MSLangBuiltin, MSInt32_64Template {
25702570
let Prototype = "unsigned char(T volatile*, T)";
25712571
}
25722572

2573+
def InterlockedBittestAndReset_acq : MSLangBuiltin {
2574+
let Spellings = ["_interlockedbittestandreset_acq"];
2575+
let Attributes = [NoThrow];
2576+
let Prototype = "unsigned char(msint32_t volatile*, msint32_t)";
2577+
}
2578+
2579+
def InterlockedBittestAndReset_nf : MSLangBuiltin {
2580+
let Spellings = ["_interlockedbittestandreset_nf"];
2581+
let Attributes = [NoThrow];
2582+
let Prototype = "unsigned char(msint32_t volatile*, msint32_t)";
2583+
}
2584+
2585+
def InterlockedBittestAndReset_rel : MSLangBuiltin {
2586+
let Spellings = ["_interlockedbittestandreset_rel"];
2587+
let Attributes = [NoThrow];
2588+
let Prototype = "unsigned char(msint32_t volatile*, msint32_t)";
2589+
}
2590+
2591+
def InterlockedBittestAndReset64_acq : MSLangBuiltin {
2592+
let Spellings = ["_interlockedbittestandreset64_acq"];
2593+
let Attributes = [NoThrow];
2594+
let Prototype = "unsigned char(int64_t volatile*, int64_t)";
2595+
}
2596+
2597+
def InterlockedBittestAndReset64_nf : MSLangBuiltin {
2598+
let Spellings = ["_interlockedbittestandreset64_nf"];
2599+
let Attributes = [NoThrow];
2600+
let Prototype = "unsigned char(int64_t volatile*, int64_t)";
2601+
}
2602+
2603+
def InterlockedBittestAndReset64_rel : MSLangBuiltin {
2604+
let Spellings = ["_interlockedbittestandreset64_rel"];
2605+
let Attributes = [NoThrow];
2606+
let Prototype = "unsigned char(int64_t volatile*, int64_t)";
2607+
}
2608+
25732609
def InterlockedBittestAndSet : MSLangBuiltin, MSInt32_64Template {
25742610
let Spellings = ["_interlockedbittestandset"];
25752611
let Attributes = [NoThrow];
25762612
let Prototype = "unsigned char(T volatile*, T)";
25772613
}
25782614

2615+
def InterlockedBittestAndSet_acq : MSLangBuiltin {
2616+
let Spellings = ["_interlockedbittestandset_acq"];
2617+
let Attributes = [NoThrow];
2618+
let Prototype = "unsigned char(msint32_t volatile*, msint32_t)";
2619+
}
2620+
2621+
def InterlockedBittestAndSet_nf : MSLangBuiltin {
2622+
let Spellings = ["_interlockedbittestandset_nf"];
2623+
let Attributes = [NoThrow];
2624+
let Prototype = "unsigned char(msint32_t volatile*, msint32_t)";
2625+
}
2626+
2627+
def InterlockedBittestAndSet_rel : MSLangBuiltin {
2628+
let Spellings = ["_interlockedbittestandset_rel"];
2629+
let Attributes = [NoThrow];
2630+
let Prototype = "unsigned char(msint32_t volatile*, msint32_t)";
2631+
}
2632+
2633+
def InterlockedBittestAndSet64_acq : MSLangBuiltin {
2634+
let Spellings = ["_interlockedbittestandset64_acq"];
2635+
let Attributes = [NoThrow];
2636+
let Prototype = "unsigned char(int64_t volatile*, int64_t)";
2637+
}
2638+
2639+
def InterlockedBittestAndSet64_nf : MSLangBuiltin {
2640+
let Spellings = ["_interlockedbittestandset64_nf"];
2641+
let Attributes = [NoThrow];
2642+
let Prototype = "unsigned char(int64_t volatile*, int64_t)";
2643+
}
2644+
2645+
def InterlockedBittestAndSet64_rel : MSLangBuiltin {
2646+
let Spellings = ["_interlockedbittestandset64_rel"];
2647+
let Attributes = [NoThrow];
2648+
let Prototype = "unsigned char(int64_t volatile*, int64_t)";
2649+
}
2650+
25792651
def IsoVolatileLoad : MSLangBuiltin, Int8_16_32_64Template {
25802652
let Spellings = ["__iso_volatile_load"];
25812653
let Attributes = [NoThrow];

clang/include/clang/Basic/BuiltinsAArch64.def

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -263,19 +263,6 @@ TARGET_HEADER_BUILTIN(_InterlockedDecrement64_acq, "LLiLLiD*", "nh", INTRIN_H, A
263263
TARGET_HEADER_BUILTIN(_InterlockedDecrement64_nf, "LLiLLiD*", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
264264
TARGET_HEADER_BUILTIN(_InterlockedDecrement64_rel, "LLiLLiD*", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
265265

266-
TARGET_HEADER_BUILTIN(_interlockedbittestandreset_acq, "UcNiD*Ni", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
267-
TARGET_HEADER_BUILTIN(_interlockedbittestandreset_nf, "UcNiD*Ni", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
268-
TARGET_HEADER_BUILTIN(_interlockedbittestandreset_rel, "UcNiD*Ni", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
269-
TARGET_HEADER_BUILTIN(_interlockedbittestandreset64_acq, "UcWiD*Wi", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
270-
TARGET_HEADER_BUILTIN(_interlockedbittestandreset64_nf, "UcWiD*Wi", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
271-
TARGET_HEADER_BUILTIN(_interlockedbittestandreset64_rel, "UcWiD*Wi", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
272-
TARGET_HEADER_BUILTIN(_interlockedbittestandset_acq, "UcNiD*Ni", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
273-
TARGET_HEADER_BUILTIN(_interlockedbittestandset_nf, "UcNiD*Ni", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
274-
TARGET_HEADER_BUILTIN(_interlockedbittestandset_rel, "UcNiD*Ni", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
275-
TARGET_HEADER_BUILTIN(_interlockedbittestandset64_acq, "UcWiD*Wi", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
276-
TARGET_HEADER_BUILTIN(_interlockedbittestandset64_nf, "UcWiD*Wi", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
277-
TARGET_HEADER_BUILTIN(_interlockedbittestandset64_rel, "UcWiD*Wi", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
278-
279266
TARGET_HEADER_BUILTIN(_ReadWriteBarrier, "v", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
280267
TARGET_HEADER_BUILTIN(__getReg, "ULLii", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")
281268
TARGET_HEADER_BUILTIN(_ReadStatusReg, "LLii", "nh", INTRIN_H, ALL_MS_LANGUAGES, "")

clang/lib/Headers/intrin.h

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -370,18 +370,6 @@ static __inline__ void __DEFAULT_FN_ATTRS __nop(void) {
370370
\*----------------------------------------------------------------------------*/
371371
#if defined(__aarch64__) || defined(__arm64ec__)
372372
unsigned __int64 __getReg(int);
373-
unsigned char _interlockedbittestandreset_acq(long volatile *, long);
374-
unsigned char _interlockedbittestandreset_nf(long volatile *, long);
375-
unsigned char _interlockedbittestandreset_rel(long volatile *, long);
376-
unsigned char _interlockedbittestandreset64_acq(__int64 volatile *, __int64);
377-
unsigned char _interlockedbittestandreset64_nf(__int64 volatile *, __int64);
378-
unsigned char _interlockedbittestandreset64_rel(__int64 volatile *, __int64);
379-
unsigned char _interlockedbittestandset_acq(long volatile *, long);
380-
unsigned char _interlockedbittestandset_nf(long volatile *, long);
381-
unsigned char _interlockedbittestandset_rel(long volatile *, long);
382-
unsigned char _interlockedbittestandset64_acq(__int64 volatile *, __int64);
383-
unsigned char _interlockedbittestandset64_nf(__int64 volatile *, __int64);
384-
unsigned char _interlockedbittestandset64_rel(__int64 volatile *, __int64);
385373
long _InterlockedAdd(long volatile *Addend, long Value);
386374
__int64 _InterlockedAdd64(__int64 volatile *Addend, __int64 Value);
387375
__int64 _ReadStatusReg(int);

0 commit comments

Comments
 (0)