This patch implements the vec_expandm function prototypes in altivec.h in order to utilize
the vector expand with mask instructions introduced in Power10.
Depends on D82675.
| Paths 
 |  Differential  D82727  
[PowerPC] Implement Vector Expand Mask builtins in LLVM/Clang ClosedPublic Authored by amyk on Jun 28 2020, 12:39 PM. 
Details 
 Summary This patch implements the vec_expandm function prototypes in altivec.h in order to utilize Depends on D82675. 
Diff Detail 
 Event TimelineHerald added subscribers: shchenz, hiraditya, nemanjai.  ·  View Herald TranscriptJun 28 2020, 12:39 PM amyk retitled this revision from [PowerPC][Power10] Implement Vector Expand Mask builtins in LLVM/Clang to [PowerPC] Implement Vector Expand Mask builtins in LLVM/Clang.Jul 27 2020, 4:00 PM 
 Comment Actions Overall LGTM. I only have some comments on the nits. 
 This revision is now accepted and ready to land.Sep 3 2020, 10:38 AM This revision was landed with ongoing or failed builds.Sep 6 2020, 3:13 PM Closed by commit rGefa57f9a7adb: [PowerPC] Implement Vector Expand Mask builtins in LLVM/Clang (authored by amyk).  ·  Explain Why This revision was automatically updated to reflect the committed changes. hubert.reinterpretcast added inline comments. 
 
Revision Contents 
Diff 290152 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-vector-mask-ops.ll
 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
nit: can we change the naming convention to be consistent as above? (e.g. "test_vec_expandm_uc")
I do not have a strong preference for either way since we did have different naming conventions in builtins-ppc-p10vector.c and p10-vector-mask-ops.ll for the vector extract cases.