[PATCH] D96671: [GlobalISel] Implement narrowScalar for UADDO/USUBO
Matt Arsenault via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 17 11:44:48 PST 2021
arsenm added inline comments.
================
Comment at: llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp:4485
+ unsigned NumDefs = MI.getNumExplicitDefs();
+ Register Src1 = MI.getOperand(NumDefs).getReg();
----------------
Might as well hard code the 2 here, treating it as unknown is slightly more confusing
================
Comment at: llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp:4489
+ Register CarryDst;
+ if (NumDefs >= 2)
+ CarryDst = MI.getOperand(1).getReg();
----------------
This must be exactly ==, > adds ambiguity
================
Comment at: llvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp:898
+ auto Op1 = B.buildUndef(S96);
+ auto UADDO = B.buildInstr(TargetOpcode::G_UADDO, {S96, S1}, {Op0, Op1});
+
----------------
Should have a dedicated buildUAddo
================
Comment at: llvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp:935
+ auto Op1 = B.buildUndef(S96);
+ auto USUBO = B.buildInstr(TargetOpcode::G_USUBO, {S96, S1}, {Op0, Op1});
+
----------------
We should have a dedicated buildUSubo
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D96671/new/
https://reviews.llvm.org/D96671
More information about the llvm-commits
mailing list