Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
Thinking about this more, I'd like to consider doing this in the backend specifically for the compares for a few reasons.
-vmsgt(u).vv intrinsic already selects vmslt(u).vv with swapped operands in the backend. This was needed for SEW=64 on RV32.
-Inconsistent that some compare IR intrinsics accept vector or scalar second argument, but some only support scalar.
-We can probably generate better code for masked vmsge(u).vx if we defer expansion to post register allocation.
-Unifies the compare intrinsic implementation in the frontend.
Comment Actions
I just posted https://reviews.llvm.org/D100889 which should allow the frontend to treat all comparisons the same way. It also avoids using the long expansion for vmsge.vx