[PATCH] D61400: [SelectionDAG] Utilize ARM shift behavior
Eli Friedman via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed May 1 15:13:20 PDT 2019
efriedma added a comment.
> Wouldn't it be better/safer to create ARMISD shift opcodes to handle this behaviour?
Agreed; we make assumptions about ISD::SHL etc. all over; changing that would be a lot of work, and might end up pessimizing code overall.
> I was under the impression that the shift was by the bottom byte amount. i.e the mask is 255, and a shift of 256 is the same as a shift of 0. I have not tried it though.
This is true for NEON vectors, not scalars, as far as I can tell.
> For aarch64 the mask may to be the size of the datatype. The armarm will contain the correct information if you can decipher the pseudo code.
Yes, lslv etc. masks the shift amount by the operand size.
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D61400/new/
https://reviews.llvm.org/D61400
More information about the llvm-commits
mailing list