This adds two combines for VMOVN, one to fold VMOVN[tb](c, VQMOVNb(a, b)) => VQMOVN[tb](c, b), the other to perform demand bits analysis on the lanes of a VMOVN. We know that only the bottom lanes of the second operand and the top or bottom lanes of the Qd operand are needed in the result, depending on if the VMOVN is bottom or top.
Details
Details
Diff Detail
Diff Detail
Event Timeline
llvm/lib/Target/ARM/ARMISelLowering.cpp | ||
---|---|---|
14317 | Would it be possible to use APInt::getSplat() instead? This is looking a bit cryptic. |
llvm/lib/Target/ARM/ARMISelLowering.cpp | ||
---|---|---|
14316 | This is EVT::getVectorNumElements(); that's not going away, and there is no such cast. |
llvm/lib/Target/ARM/ARMISelLowering.cpp | ||
---|---|---|
14316 | Ahh, EVT... My old nemesis... Please disregard. |
getVectorNumElements is going away soon. Please do the cast.
See: D77278