[PATCH] D143578: [VP] Add vp.powi and a pass for expanding vp.powi before DAG.
Yeting Kuo via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sat Feb 11 23:50:41 PST 2023
fakepaper56 marked an inline comment as done.
fakepaper56 added inline comments.
================
Comment at: llvm/lib/CodeGen/ExpandPowi.cpp:82
+ ExpTy, Intrinsic::vp_and, {Exp, ConstantInt::get(ExpTy, 1), True, EVL});
+ // FIXME: Use vp.icmp.
+ Value *IsOdd = Builder.CreateICmpNE(And1, ConstantInt::get(ExpTy, 0));
----------------
craig.topper wrote:
> fakepaper56 wrote:
> > fakepaper56 wrote:
> > > craig.topper wrote:
> > > > What's preventing using vp.icmp?
> > > It is only that I don't know how to construct vp.icmp/vp.fcmp instructions.
> > I don't understand how make predicate to a pointer of `Value`.
> Should be something like this code from IRBuilder with the assert removed.
>
> ```
> Value *getConstrainedFPPredicate(CmpInst::Predicate Predicate) {
> assert(CmpInst::isFPPredicate(Predicate) &&
> Predicate != CmpInst::FCMP_FALSE &&
> Predicate != CmpInst::FCMP_TRUE &&
> "Invalid constrained FP comparison predicate!");
>
> StringRef PredicateStr = CmpInst::getPredicateName(Predicate);
> auto *PredicateMDS = MDString::get(Context, PredicateStr);
>
> return MetadataAsValue::get(Context, PredicateMDS);
> }
> ```
Thank you for the recommendation.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D143578/new/
https://reviews.llvm.org/D143578
More information about the llvm-commits
mailing list