r191590 - Implements some of the more commonly used intrinsics in Intrin.h
Timur Iskhodzhanov
timurrrr at google.com
Mon Sep 30 03:58:34 PDT 2013
2013/9/28 Warren Hunt <whunt at google.com>:
> +static __inline__
> long __cdecl _InterlockedExchangeAdd(long volatile *_Addend, long _Value);
> ...
> +static __inline__ short __attribute__((__always_inline__, __nodebug__))
> +_InterlockedExchangeAdd16(short volatile *_Addend, short _Value) {
> + return __atomic_add_fetch(_Addend, _Value, 0) - _Value;
> +}
> +static __inline__ long __attribute__((__always_inline__, __nodebug__))
> +_InterlockedExchangeAdd(long volatile *_Addend, long _Value) {
> + return __atomic_add_fetch(_Addend, _Value, 0) - _Value;
> +}
Are you sure this is a correct/complete implementation?
http://llvm.org/bugs/show_bug.cgi?id=13283#c5
More information about the cfe-commits
mailing list