[PATCH] D56264: [RISCV] Add patterns for RV64I SLLW/SRLW/SRAW instructions

Alex Bradbury via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 22 22:48:42 PST 2019


asb marked an inline comment as done.
asb added inline comments.


================
Comment at: llvm/trunk/lib/Target/RISCV/RISCVISelLowering.cpp:554
+  }
+  case ISD::ANY_EXTEND: {
+    // If any-extending an i32 variable-length shift to i64, then instead
----------------
asb wrote:
> rogfer01 wrote:
> > I've raised https://bugs.llvm.org/show_bug.cgi?id=40333 because this interacts badly with `TargetLowering::SimplifyDemandedBits`. This newly created `SIGN_EXTEND` is turned back into an `ANY_EXTEND` when it is used by an `(AND x, 255)`
> > 
> > Kind regards,
> Thanks for the report, I'll take a look.
Worked around in rL351806 and D57085 posted to implement an alternative lowering / legalisation strategy.


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D56264/new/

https://reviews.llvm.org/D56264





More information about the llvm-commits mailing list