[PowerPC] Add XL compat __compare_and_swap builtins
authorJinsong Ji <jji@us.ibm.com>
Fri, 25 Jun 2021 01:08:32 +0000 (01:08 +0000)
committerJinsong Ji <jji@us.ibm.com>
Fri, 25 Jun 2021 01:08:48 +0000 (01:08 +0000)
commitf3ef4f5bff26ac4196a15dad7773a03b9d6df21d
treef92101871d4664204cc991700267847ada5a3c53
parentf225367305c82ce391bb470f735b19e924ff7372
[PowerPC] Add XL compat __compare_and_swap builtins

Prototype
int __compare_and_swap (volatile int* addr, int* old_val_addr, int
new_val);

int __compare_and_swaplp (volatile long* addr, long* old_val_addr, long
new_val);

Refer to
https://www.ibm.com/docs/en/xl-c-and-cpp-aix/16.1?topic=functions-compare-swap-compare-swaplp

Reviewed By: w2yehia

Differential Revision: https://reviews.llvm.org/D104837
clang/include/clang/Basic/BuiltinsPPC.def
clang/lib/Basic/Targets/PPC.cpp
clang/lib/CodeGen/CGBuiltin.cpp
clang/test/CodeGen/builtins-ppc-xlcompat-cas-error.c [new file with mode: 0644]
clang/test/CodeGen/builtins-ppc-xlcompat-cas.c [new file with mode: 0644]