If we get into the situation where we are extracting from a VDUP, the extracted value is just the origin, so long as the types match or we can bitcast between the two.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/lib/Target/ARM/ARMISelLowering.cpp | ||
---|---|---|
13326 | And other small types have already been promoted at this point? |
llvm/lib/Target/ARM/ARMISelLowering.cpp | ||
---|---|---|
13326 | Yeah. A VMOVhr will need to be between an i32 and an f16, which is why these are specially checked. Smaller types could theoretically be handled by the code below, but we wouldn't ever generate a ARMISD::VDUP with illegal arguments. |
And other small types have already been promoted at this point?