[PATCH] D86114: [SVE] Lower fixed length vXi8/vXi16 SDIV to scalable

Cameron McInally via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 18 09:19:15 PDT 2020


cameron.mcinally added inline comments.


================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:8945
+    // Convert vector of i8/i16 DIV to scalable to allow usual promotion.
+    return LowerToScalableOp(Op, DAG, /*OverrideNEON=*/true);
+  }
----------------
paulwalker-arm wrote:
> I just wanted to double check that you are aware this is going to result in i8/i16 fixed length vector divides being different to the i32/i64 ones.  The latter being predicated with the former cases not (or rather using an "all true" predicate).
> 
> Given divides are rarely cheap I prefer the predicated route but I guess there's no reason to be consistent at this stage.
Oh, for the smaller vectors that are passed in regs? Yeah, I didn't catch that. Any clue why that's happening? Is it because there are no loads/stores to lower?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D86114



More information about the llvm-commits mailing list