[PowerPC] Added multiple PowerPC builtins
authorQuinn Pham <Quinn.Pham@ibm.com>
Thu, 27 May 2021 18:35:12 +0000 (13:35 -0500)
committerStefan Pintilie <stefanp@ca.ibm.com>
Thu, 27 May 2021 21:23:03 +0000 (16:23 -0500)
commit62b5df7fe2b3fda1772befeda15598fbef96a614
tree6bbbb9b222f822f18b955b87334e367a3b2db062
parent109aac92128ca958afe5141a59347c8a0733ea3e
[PowerPC] Added multiple PowerPC builtins

This is the first in a series of patches to provide builtins for
compatibility with the XL compiler. Most of the builtins already had
intrinsics and only needed to be implemented in the front end.
Intrinsics were created for the three iospace builtins, eieio, and icbt.
Pseudo instructions were created for eieio and iospace_eieio to
ensure that nops were inserted before the eieio instruction.

Reviewed By: nemanjai, #powerpc

Differential Revision: https://reviews.llvm.org/D102443
clang/include/clang/Basic/BuiltinsPPC.def
clang/lib/Basic/Targets/PPC.cpp
clang/lib/Basic/Targets/PPC.h
clang/test/CodeGen/builtins-ppc-xlcompat-sync.c [new file with mode: 0644]
llvm/include/llvm/IR/IntrinsicsPowerPC.td
llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
llvm/lib/Target/PowerPC/PPCInstrInfo.td
llvm/test/CodeGen/PowerPC/builtins-ppc-xlcompat-msync.ll [new file with mode: 0644]
llvm/test/CodeGen/PowerPC/builtins-ppc-xlcompat-sync.ll [new file with mode: 0644]
llvm/test/CodeGen/PowerPC/eieio.ll