Skip to content
This repository was archived by the owner on Dec 22, 2021. It is now read-only.

Conversation

@zeux
Copy link
Contributor

@zeux zeux commented May 6, 2020

Updates based on latest LLVM & latest v8 (earlier v8 versions aren't
useful because of renumbering anyway):

  • v8 implements load_splat and load with zero/sign extension
  • v8 implements i64x2_mul
  • v8 implements swizzle and andnot
  • LLVM supports integer abs instructions and intrinsics
  • Removing note about shuffle opcode - irrelevant post-renumbering

Notable remaining omissions:

  • v8 doesn't implement v128.const
  • LLVM doesn't implement (or at least doesn't expose an intrinsic for)
    i64x2_mul
  • A lot of instructions are still part of unimplemented subset in LLVM

Updates based on latest LLVM & latest v8 (earlier v8 versions aren't
useful because of renumbering anyway):

- v8 implements load_splat and load with zero/sign extension
- v8 implements i64x2_mul
- v8 implements swizzle and andnot
- LLVM supports integer abs instructions and intrinsics
- Removing note about shuffle opcode - irrelevant post-renumbering

Notable remaining omissions:

- v8 doesn't implement v128.const
- LLVM doesn't implement (or at least doesn't expose an intrinsic for)
i64x2_mul
- A lot of instructions are still part of unimplemented subset in LLVM
@ngzhian
Copy link
Member

ngzhian commented May 6, 2020

V8 side LGTM, thank you!

Copy link
Member

@tlively tlively left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome, thanks, @zeux! I'll update LLVM to move these operations out of the -munimplemented-simd128 flag.

@tlively tlively merged commit c9976b5 into WebAssembly:master May 6, 2020
@binji
Copy link
Member

binji commented May 6, 2020

@lars-t-hansen It'd be great to get the spidermonkey status too!

@lars-t-hansen
Copy link
Contributor

@lars-t-hansen It'd be great to get the spidermonkey status too!

In due time :-) We've landed in baseline (x64 only) and preffed-off, but once we land in the optimizing compiler I'll post a PR for implementation status. Hoping this will happen in May.

tlively added a commit to llvm/llvm-project that referenced this pull request May 15, 2020
Summary:
Move instructions that have recently been implemented in V8 from the
`unimplemented-simd128` target feature to the `simd128` target
feature. The updated instructions match the update at
WebAssembly/simd#223.

Reviewers: aheejin

Subscribers: dschuff, sbc100, jgravelle-google, hiraditya, sunfish, cfe-commits, llvm-commits

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D79973
hanswinderix pushed a commit to hanswinderix/llvm-project that referenced this pull request May 27, 2020
Summary:
Move instructions that have recently been implemented in V8 from the
`unimplemented-simd128` target feature to the `simd128` target
feature. The updated instructions match the update at
WebAssembly/simd#223.

Reviewers: aheejin

Subscribers: dschuff, sbc100, jgravelle-google, hiraditya, sunfish, cfe-commits, llvm-commits

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D79973
arichardson pushed a commit to arichardson/llvm-project that referenced this pull request Jul 2, 2020
Summary:
Move instructions that have recently been implemented in V8 from the
`unimplemented-simd128` target feature to the `simd128` target
feature. The updated instructions match the update at
WebAssembly/simd#223.

Reviewers: aheejin

Subscribers: dschuff, sbc100, jgravelle-google, hiraditya, sunfish, cfe-commits, llvm-commits

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D79973
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants