diff options
author | Stefan Pintilie <stefanp@ca.ibm.com> | 2021-09-28 14:44:30 -0500 |
---|---|---|
committer | Stefan Pintilie <stefanp@ca.ibm.com> | 2021-09-29 14:34:40 -0500 |
commit | fb4e44c4e7daaaa1d2776e76d43566b0db264f30 (patch) | |
tree | 3a4dddc43c5d92a58c80d7450045cefa98ff8ef4 /clang/lib/Sema/SemaChecking.cpp | |
parent | 7dffb8b4da530d481977e31f439a92c5f6f2174a (diff) | |
download | llvm-fb4e44c4e7daaaa1d2776e76d43566b0db264f30.zip llvm-fb4e44c4e7daaaa1d2776e76d43566b0db264f30.tar.gz llvm-fb4e44c4e7daaaa1d2776e76d43566b0db264f30.tar.bz2 |
[PowerPC] The builtins load8r and store8r are Power 7 plus.
This patch makes sure that the builtins __builtin_ppc_load8r and
__ builtin_ppc_store8r are only available for Power 7 and up.
Currently the builtins seem to produce incorrect code if used for
Power 6 or before.
Reviewed By: nemanjai, #powerpc
Differential Revision: https://reviews.llvm.org/D110653
Diffstat (limited to 'clang/lib/Sema/SemaChecking.cpp')
-rw-r--r-- | clang/lib/Sema/SemaChecking.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaChecking.cpp b/clang/lib/Sema/SemaChecking.cpp index a6ea2bf..8b53e35 100644 --- a/clang/lib/Sema/SemaChecking.cpp +++ b/clang/lib/Sema/SemaChecking.cpp @@ -3512,6 +3512,10 @@ bool Sema::CheckPPCBuiltinFunctionCall(const TargetInfo &TI, unsigned BuiltinID, diag::err_ppc_builtin_requires_vsx) || SemaBuiltinConstantArgRange(TheCall, 1, 0, 127); } + case PPC::BI__builtin_ppc_load8r: + case PPC::BI__builtin_ppc_store8r: + return SemaFeatureCheck(*this, TheCall, "isa-v206-instructions", + diag::err_ppc_builtin_only_on_arch, "7"); #define CUSTOM_BUILTIN(Name, Intr, Types, Acc) \ case PPC::BI__builtin_##Name: \ return SemaBuiltinPPCMMACall(TheCall, Types); |