This is an archive of the discontinued LLVM Phabricator instance.

[WebAssembly] Implement remaining relaxed SIMD instructions
ClosedPublic

Authored by tlively on Jun 6 2022, 5:49 PM.

Details

Summary

Add codegen, intrinsics, and builtins for the i16x8.relaxed_q15mulr_s,
i16x8.dot_i8x16_i7x16_s, and i32x4.dot_i8x16_i7x16_add_s instructions. These are
the last instructions from the relaxed SIMD proposal[1] that had not been
implemented.

[1]:
https://github.com/WebAssembly/relaxed-simd/blob/main/proposals/relaxed-simd/Overview.md.

Diff Detail

Event Timeline

tlively created this revision.Jun 6 2022, 5:49 PM
Herald added a project: Restricted Project. · View Herald TranscriptJun 6 2022, 5:49 PM
Herald added subscribers: pmatos, asb, wingo and 6 others. · View Herald Transcript
tlively requested review of this revision.Jun 6 2022, 5:49 PM
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptJun 6 2022, 5:49 PM
aheejin added inline comments.Jun 6 2022, 11:00 PM
clang/include/clang/Basic/BuiltinsWebAssembly.def
190
tlively planned changes to this revision.Jun 7 2022, 2:16 PM
tlively added inline comments.
clang/include/clang/Basic/BuiltinsWebAssembly.def
190

Oh wow, good catch 😬

tlively updated this revision to Diff 434968.Jun 7 2022, 3:25 PM
  • dot_add takes three operands
aheejin accepted this revision.Jun 8 2022, 3:07 AM
This revision is now accepted and ready to land.Jun 8 2022, 3:07 AM