[SystemZ] Remove AND mask of bottom 6 bits when result is used for shift/rotate
On SystemZ, shift and rotate instructions only use the bottom 6 bits of the shift/rotate amount. Therefore, if the amount is ANDed with an immediate mask that has all of the bottom 6 bits set, we can remove the AND operation entirely. Differential Revision: http://reviews.llvm.org/D21854 llvm-svn: 274650
Showing
- llvm/lib/Target/SystemZ/SystemZISelLowering.cpp 54 additions, 1 deletionllvm/lib/Target/SystemZ/SystemZISelLowering.cpp
- llvm/lib/Target/SystemZ/SystemZISelLowering.h 1 addition, 0 deletionsllvm/lib/Target/SystemZ/SystemZISelLowering.h
- llvm/test/CodeGen/SystemZ/rot-01.ll 2 additions, 2 deletionsllvm/test/CodeGen/SystemZ/rot-01.ll
- llvm/test/CodeGen/SystemZ/rot-02.ll 86 additions, 0 deletionsllvm/test/CodeGen/SystemZ/rot-02.ll
- llvm/test/CodeGen/SystemZ/shift-12.ll 106 additions, 0 deletionsllvm/test/CodeGen/SystemZ/shift-12.ll
Loading
Please register or sign in to comment