Add widen and split support for vp.fptrunc and vp.fpext
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
LGTM. As pointed out I think WidenVecRes_Convert needs some extra attention to cover the missing cases for VP nodes, but we're already using it for VP_TRUNCATE so that could be done as a follow-up.
llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp | ||
---|---|---|
3807 | This is really nitpicky but why is VP_FP_EXTEND before FP_EXTEND but VP_FP_FOUND is after FP_FOUND? | |
3825 | Looking at WidenVecRes_Convert it seems like it's possible VP operations to silently fall through some cracks we haven't covered. Should we add a few asserts to the cases we haven't handled? I'm thinking the scalar unroll code, which would silently drop the mask/evl (I think) and the case above it. |
llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp | ||
---|---|---|
3807 | Adjust VP_FP_EXTEND position |
This is really nitpicky but why is VP_FP_EXTEND before FP_EXTEND but VP_FP_FOUND is after FP_FOUND?