This changes the way that asrl and lsrl intrinsics are lowered, going via a the ISEL ASRL and LSLL nodes instead of straight to machine nodes. On top of that, it adds some constant folds for long shifts, in case it turns out that the shift amount was either constant or 0.
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
Tighten up bounds and rebase onto tests.
llvm/lib/Target/ARM/ARMISelLowering.cpp | ||
---|---|---|
14102 | I think my argument was that any "shift right" becomes a "logical shift left", as the signedness doesn't end up mattering. |
Well this answers my question in the other review...