Stream: git-wasmtime

Topic: wasmtime / issue #13178 Cranelift: how to express polynom...


view this post on Zulip Wasmtime GitHub notifications bot (Apr 23 2026 at 10:29):

mkschreder opened issue #13178:

How would one express something like NEON polynomial / crypto-ish integer mul (e.g. P8 vmul over GF(2^8)) in cranelift and how much of that can be mapped into what cranelift is able to emit on x86-64 target? Would this be done with multiple clif instructions somehow or is it better to just defer this to interpreted path?

view this post on Zulip Wasmtime GitHub notifications bot (Apr 23 2026 at 10:29):

mkschreder added the bug label to Issue #13178.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 23 2026 at 10:29):

mkschreder added the cranelift label to Issue #13178.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 23 2026 at 17:37):

cfallin commented on issue #13178:

Hi @mkschreder -- are you referring to specific NEON instructions? If we don't have a corresponding CLIF operator with a lowering, we'd have to either define that new CLIF operator, or define a lowering from a canonical subgraph of simpler operators that define the operation. Both are possible and fairly straightforward with our lowering-pattern language (ISLE).

It's more of a design/architecture question as to whether we add specific CLIF operators or not. We'd have to look at the specific operations, whether our targets have instructions for them, whether they can be decomposed, etc. We've tended to try to keep CLIF minimal where possible but a fundamentally new operation (e.g. carryless multiply or whatever) isn't out of the question.

All this to say: "it depends" and more details would help!

view this post on Zulip Wasmtime GitHub notifications bot (May 21 2026 at 16:19):

fitzgen closed issue #13178:

How would one express something like NEON polynomial / crypto-ish integer mul (e.g. P8 vmul over GF(2^8)) in cranelift and how much of that can be mapped into what cranelift is able to emit on x86-64 target? Would this be done with multiple clif instructions somehow or is it better to just defer this to interpreted path?

view this post on Zulip Wasmtime GitHub notifications bot (May 21 2026 at 16:19):

fitzgen commented on issue #13178:

Issue was a question and OP has not responded to request for more clarification/info, so closing. Feel free to reopen if you are still running into uncertainties and need answers.


Last updated: Jun 01 2026 at 09:49 UTC