[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