[PATCH] D80174: [WebAssembly] Implement i64x2.mul and remove i8x16.mul

Thomas Lively via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue May 19 13:10:44 PDT 2020


tlively marked 2 inline comments as done.
tlively added inline comments.


================
Comment at: llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td:690
   defm "" : SIMDBinary<v4i32, "i32x4", node, name, !add(baseInst, 64)>;
 }
 
----------------
aheejin wrote:
> Can we delete this now then?
No, it is still used down in MIN_S and friends.


================
Comment at: llvm/test/CodeGen/WebAssembly/simd-unsupported.ll:312
+; Note: expansion does not use i64.popcnt
+; CHECK: v128.and
 declare <2 x i64> @llvm.ctpop.v2i64(<2 x i64>)
----------------
aheejin wrote:
> What caused this change?
The default legalization uses a bunch of SIMD operations rather than scalarizing. One of the SIMD operations it uses is multiplication, so now that multiplication is legal, popcnt is no longer scalarized.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D80174





More information about the llvm-commits mailing list