kamaub updated this revision to Diff 376312. kamaub added a comment. Rebasing patch to get past intermittent test-suite failure
Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D110824/new/ https://reviews.llvm.org/D110824 Files: clang/lib/Sema/SemaChecking.cpp clang/test/CodeGen/builtins-ppc-xlcompat-fetch-cas-64bit-only-error.c Index: clang/test/CodeGen/builtins-ppc-xlcompat-fetch-cas-64bit-only-error.c =================================================================== --- /dev/null +++ clang/test/CodeGen/builtins-ppc-xlcompat-fetch-cas-64bit-only-error.c @@ -0,0 +1,24 @@ +// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py +// REQUIRES: powerpc-registered-target +// RUN: %clang_cc1 -triple powerpc-unknown-aix -target-cpu pwr8 \ +// RUN: -verify %s + +int test_builtin_ppc_compare_and_swaplp(long a, long b, long c) { + return __compare_and_swaplp(&a, &b, c); // expected-error {{this builtin is only available on 64-bit targets}} +} + +void test_builtin_ppc_fetch_and_addlp(long a, long b) { + __fetch_and_addlp(&a, b); // expected-error {{this builtin is only available on 64-bit targets}} +} + +void test_builtin_ppc_fetch_and_andlp(unsigned long a, unsigned long b) { + __fetch_and_andlp(&a, b); // expected-error {{this builtin is only available on 64-bit targets}} +} +void test_builtin_ppc_fetch_and_orlp(unsigned long a, unsigned long b) { + __fetch_and_orlp(&a, b); // expected-error {{this builtin is only available on 64-bit targets}} +} + +void test_builtin_ppc_fetch_and_swaplp(unsigned long a, unsigned long b) { + __fetch_and_swaplp(&a, b); // expected-error {{this builtin is only available on 64-bit targets}} +} + Index: clang/lib/Sema/SemaChecking.cpp =================================================================== --- clang/lib/Sema/SemaChecking.cpp +++ clang/lib/Sema/SemaChecking.cpp @@ -3297,6 +3297,11 @@ case PPC::BI__builtin_ppc_addex: case PPC::BI__builtin_darn: case PPC::BI__builtin_darn_raw: + case PPC::BI__builtin_ppc_compare_and_swaplp: + case PPC::BI__builtin_ppc_fetch_and_addlp: + case PPC::BI__builtin_ppc_fetch_and_andlp: + case PPC::BI__builtin_ppc_fetch_and_orlp: + case PPC::BI__builtin_ppc_fetch_and_swaplp: return true; } return false;
Index: clang/test/CodeGen/builtins-ppc-xlcompat-fetch-cas-64bit-only-error.c =================================================================== --- /dev/null +++ clang/test/CodeGen/builtins-ppc-xlcompat-fetch-cas-64bit-only-error.c @@ -0,0 +1,24 @@ +// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py +// REQUIRES: powerpc-registered-target +// RUN: %clang_cc1 -triple powerpc-unknown-aix -target-cpu pwr8 \ +// RUN: -verify %s + +int test_builtin_ppc_compare_and_swaplp(long a, long b, long c) { + return __compare_and_swaplp(&a, &b, c); // expected-error {{this builtin is only available on 64-bit targets}} +} + +void test_builtin_ppc_fetch_and_addlp(long a, long b) { + __fetch_and_addlp(&a, b); // expected-error {{this builtin is only available on 64-bit targets}} +} + +void test_builtin_ppc_fetch_and_andlp(unsigned long a, unsigned long b) { + __fetch_and_andlp(&a, b); // expected-error {{this builtin is only available on 64-bit targets}} +} +void test_builtin_ppc_fetch_and_orlp(unsigned long a, unsigned long b) { + __fetch_and_orlp(&a, b); // expected-error {{this builtin is only available on 64-bit targets}} +} + +void test_builtin_ppc_fetch_and_swaplp(unsigned long a, unsigned long b) { + __fetch_and_swaplp(&a, b); // expected-error {{this builtin is only available on 64-bit targets}} +} + Index: clang/lib/Sema/SemaChecking.cpp =================================================================== --- clang/lib/Sema/SemaChecking.cpp +++ clang/lib/Sema/SemaChecking.cpp @@ -3297,6 +3297,11 @@ case PPC::BI__builtin_ppc_addex: case PPC::BI__builtin_darn: case PPC::BI__builtin_darn_raw: + case PPC::BI__builtin_ppc_compare_and_swaplp: + case PPC::BI__builtin_ppc_fetch_and_addlp: + case PPC::BI__builtin_ppc_fetch_and_andlp: + case PPC::BI__builtin_ppc_fetch_and_orlp: + case PPC::BI__builtin_ppc_fetch_and_swaplp: return true; } return false;
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits