[llvm] [RISCV][GISEL] Add legalizer for G_BSWAP (PR #70226)

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 25 11:46:57 PDT 2023


================
@@ -81,6 +81,11 @@ RISCVLegalizerInfo::RISCVLegalizerInfo(const RISCVSubtarget &ST) {
         .clampScalar(BigTyIdx, XLenLLT, XLenLLT);
   }
 
+  getActionDefinitionsBuilder(G_BSWAP)
+    .widenScalarToNextPow2(0)
----------------
topperc wrote:

I guess the clamp causes it to be split as a BSWAP instead of creating a bunch of i64 shifts, ands, ors that need to be independently split?

https://github.com/llvm/llvm-project/pull/70226


More information about the llvm-commits mailing list