Skip to content

Commit

Permalink
Finish loads
Browse files Browse the repository at this point in the history
  • Loading branch information
Conanap committed Jun 9, 2021
1 parent 66a4ddd commit e335391
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 1 deletion.
2 changes: 1 addition & 1 deletion clang/include/clang/Basic/BuiltinsPPC.def
Expand Up @@ -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*", "")
Expand Down
8 changes: 8 additions & 0 deletions llvm/include/llvm/IR/IntrinsicsPowerPC.td
Expand Up @@ -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]>;
}

4 changes: 4 additions & 0 deletions llvm/lib/Target/PowerPC/PPCInstrPrefix.td
Expand Up @@ -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),
Expand Down

0 comments on commit e335391

Please sign in to comment.