[PowerPC][Power10] Implement VSX PCV Generate Operations in LLVM/Clang
authorAmy Kwan <amy.kwan1@ibm.com>
Mon, 22 Jun 2020 22:00:00 +0000 (17:00 -0500)
committerAmy Kwan <amy.kwan1@ibm.com>
Tue, 23 Jun 2020 02:09:34 +0000 (21:09 -0500)
commit19df9e2959cfa3f25d798bd842df798e2b75f1b2
treee2d653340a5d570284e4d337a1672bd6a0ae0efb
parent8953ecf22bcf665ffb06399a97265ab71aebebf8
[PowerPC][Power10] Implement VSX PCV Generate Operations in LLVM/Clang

This patch implements builtins for the following prototypes for the VSX Permute
Control Vector Generate with Mask Instructions:

vector unsigned char vec_genpcvm (vector unsigned char, const int);
vector unsigned short vec_genpcvm (vector unsigned short, const int);
vector unsigned int vec_genpcvm (vector unsigned int, const int);
vector unsigned long long vec_genpcvm (vector unsigned long long, const int);

Differential Revision: https://reviews.llvm.org/D81774
clang/include/clang/Basic/BuiltinsPPC.def
clang/lib/Headers/altivec.h
clang/test/CodeGen/builtins-ppc-p10vector.c
llvm/include/llvm/IR/IntrinsicsPowerPC.td
llvm/lib/Target/PowerPC/PPCInstrPrefix.td
llvm/test/CodeGen/PowerPC/p10-vsx-pcv.ll [new file with mode: 0644]
llvm/test/MC/Disassembler/PowerPC/p10insts.txt
llvm/test/MC/PowerPC/p10.s