[PATCH] D84556: [WebAssembly] Remove intrinsics for SIMD widening ops

Heejin Ahn via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Jul 28 18:55:39 PDT 2020


aheejin added inline comments.


================
Comment at: llvm/test/CodeGen/WebAssembly/simd-widening.ll:113
+
+;; Also test that similar patterns are still expanded correctly
+
----------------
tlively wrote:
> aheejin wrote:
> > It'd be clearer to say starting indices of these don't start with 0 or [lanecount - 1] so they can't be widened using `widen_low` or `widen_high` instructions.
> > 
> > Question: Can we also widen these using shifts?
> Sure, since I didn't end up testing more patterns, I can make the comment more specific.
> 
> Regarding shifts, I don't think it's possible to do widening with shifts because widening has to fundamentally change the number of lanes, which shifts can't do.
What I meant was, in case of i16x8->i32x4, the current code can widen i16x8 input vector with elements in the indices 0 to 4. If those elements are instead in 1 to 5, can we first shift that to 0~4 and widen it?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D84556



More information about the cfe-commits mailing list