Author: Albion Fung Date: 2021-06-09T14:32:58-05:00 New Revision: e3353919498bd2235fb9a150f614ed43ea1ae9d1
URL: https://github.com/llvm/llvm-project/commit/e3353919498bd2235fb9a150f614ed43ea1ae9d1 DIFF: https://github.com/llvm/llvm-project/commit/e3353919498bd2235fb9a150f614ed43ea1ae9d1.diff LOG: Finish loads Added: Modified: clang/include/clang/Basic/BuiltinsPPC.def llvm/include/llvm/IR/IntrinsicsPowerPC.td llvm/lib/Target/PowerPC/PPCInstrPrefix.td Removed: ################################################################################ diff --git a/clang/include/clang/Basic/BuiltinsPPC.def b/clang/include/clang/Basic/BuiltinsPPC.def index a8ed189007dc1..dbe816ac46783 100644 --- a/clang/include/clang/Basic/BuiltinsPPC.def +++ b/clang/include/clang/Basic/BuiltinsPPC.def @@ -45,7 +45,7 @@ BUILTIN(__builtin_ppc_dcbt, "vv*", "") BUILTIN(__builtin_ppc_dcbtst, "vv*", "") BUILTIN(__builtin_ppc_dcbz, "vv*", "") BUILTIN(__builtin_ppc_icbt, "vv*", "") -BUILTIN(__builtin_ppc_ldarx, "LiLiD*iC", "") +BUILTIN(__builtin_ppc_ldarx, "LiLiD*", "") BUILTIN(__builtin_ppc_lwarx, "iiD*", "") BUILTIN(__builtin_ppc_lharx, "isD*", "") BUILTIN(__builtin_ppc_lbarx, "icD*", "") diff --git a/llvm/include/llvm/IR/IntrinsicsPowerPC.td b/llvm/include/llvm/IR/IntrinsicsPowerPC.td index ca1055c0d0cba..fbb3750b6af77 100644 --- a/llvm/include/llvm/IR/IntrinsicsPowerPC.td +++ b/llvm/include/llvm/IR/IntrinsicsPowerPC.td @@ -1523,5 +1523,13 @@ let TargetPrefix = "ppc" in { Intrinsic<[],[],[]>; def int_ppc_iospace_eieio : GCCBuiltin<"__builtin_ppc_iospace_eieio">, Intrinsic<[],[],[]>; + def int_ppc_ldarx : GCCBuiltin<"__builtin_ppc_ldarx">, + Intrinsic<[llvm_i64_ty], [llvm_ptr_ty], [IntrNoMem]>; + def int_ppc_lwarx : GCCBuiltin<"__builtin_ppc_lwarx">, + Intrinsic<[llvm_i32_ty], [llvm_ptr_ty], [IntrNoMem]>; + def int_ppc_lharx : GCCBuiltin<"__builtin_ppc_lharx">, + Intrinsic<[llvm_i32_ty], [llvm_ptr_ty], [IntrNoMem]>; + def int_ppc_lbarx : GCCBuiltin<"__builtin_ppc_lbarx">, + Intrinsic<[llvm_i32_ty], [llvm_ptr_ty], [IntrNoMem]>; } diff --git a/llvm/lib/Target/PowerPC/PPCInstrPrefix.td b/llvm/lib/Target/PowerPC/PPCInstrPrefix.td index 07c07baa0523d..a2d024a4f93fc 100644 --- a/llvm/lib/Target/PowerPC/PPCInstrPrefix.td +++ b/llvm/lib/Target/PowerPC/PPCInstrPrefix.td @@ -2837,6 +2837,10 @@ let Predicates = [IsISA3_1, HasVSX, IsBigEndian, IsPPC64] in { (VINSD $vDi, !mul(i, 8), $rA)>; } +let Predicates = [HasP8Altivec] in { +def : Pat<(int_ppc_ldarx xoaddr:$dst), + (LDARX xoaddr:$dst)>; +} def : Pat<(int_ppc_lwarx xoaddr:$dst), (LWARX xoaddr:$dst)>; def : Pat<(int_ppc_lharx xoaddr:$dst), _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits