This patch implements 128-bit Binary Vector Mod and Sign Extend builtins for PowerPC10.
Diff Detail
Event Timeline
A question I have is, is it possible for the 128-bit vector modulo instructions be open coded?
clang/lib/Headers/altivec.h | ||
---|---|---|
17455 | nit: Move these under the existing vec_mod builtins. | |
llvm/lib/Target/PowerPC/PPCInstrPrefix.td | ||
1343 | nit: Indent v1i128 underneath the top v1i128. |
clang/lib/Headers/altivec.h | ||
---|---|---|
17455 | Probably? Although the downsteram impementation is actually not open coded. We can still change it though. |
Open Coded instead
clang/lib/Headers/altivec.h | ||
---|---|---|
17455 |
|
The nits can be addressed when committing the code. LGTM otherwise.
llvm/lib/Target/PowerPC/PPCInstrAltivec.td | ||
---|---|---|
1452 | The indentation is off on all of these. Should probably be something like: def VEXTSB2W : VX_VT5_EO5_VB5<1538, 16, "vextsb2w", [(set v4i32:$vD, (int_ppc_altivec_vextsb2w v16i8:$vB))]>; | |
llvm/test/CodeGen/PowerPC/p10-vector-sign-extend.ll | ||
1 |
Thanks for open coding. Aside from Nemanja's nits, I believe all my concerns have been addressed. LGTM.
Committed with Nemanja's comments addressed in the commit. Hash d7eb917a7cb793f49e16841fc24826b988dd5c8f
nit: Move these under the existing vec_mod builtins.
Also, is it possible for these to be open coded instead? We have vec_mod for other types that are open coded.