[PATCH] D120329: [SelectionDAG] Emit calls to __divei4 and friends for division/remainder of large integers
Matthias Gehre via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Mar 11 07:49:35 PST 2022
mgehre-amd marked 7 inline comments as done.
mgehre-amd added inline comments.
================
Comment at: llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp:3925
+ Type *ArgTy = ArgVT.getTypeForEVT(*DAG.getContext());
+ Entry.Ty = PointerType::get(ArgTy, 0);
+ Entry.IsSExt = false;
----------------
LuoYuanke wrote:
> mgehre-amd wrote:
> > LuoYuanke wrote:
> > > Not sure if the pointer is "i32 *" or "i129 *".
> > The pointer here will be i256* (after i129 is expanded to i256).
> > The `__udivei4` argument is `unsigned int[]` to allow for any bitsize.
> Is it reasonable to have the pointer be "i32 *" so that is align the prototype of `__udivei4`?
I'm not sure whether pointer casts exists in SelectionDAG. I found `DAG.getBitcast`, but from my understanding this only does bitcasts between integer types. (?)
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D120329/new/
https://reviews.llvm.org/D120329
More information about the llvm-commits
mailing list