This is an archive of the discontinued LLVM Phabricator instance.

[WebAssembly] Implement i64x2.mul and remove i8x16.mul
ClosedPublic

Authored by tlively on May 18 2020, 6:27 PM.

Details

Summary

This reflects changes in the spec proposal made since basic arithmetic
was first implemented.

Diff Detail

Event Timeline

tlively created this revision.May 18 2020, 6:27 PM
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptMay 18 2020, 6:27 PM
aheejin accepted this revision.May 18 2020, 11:31 PM
aheejin added inline comments.
llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
690

Can we delete this now then?

llvm/test/CodeGen/WebAssembly/simd-unsupported.ll
312

What caused this change?

This revision is now accepted and ready to land.May 18 2020, 11:31 PM
tlively marked 2 inline comments as done.May 19 2020, 12:46 PM
tlively added inline comments.
llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
690

No, it is still used down in MIN_S and friends.

llvm/test/CodeGen/WebAssembly/simd-unsupported.ll
312

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.

This revision was automatically updated to reflect the committed changes.