Stream: git-wasmtime

Topic: wasmtime / issue #6815 riscv64: Add SIMD IFMA instruction...


view this post on Zulip Wasmtime GitHub notifications bot (Aug 09 2023 at 21:57):

afonso360 commented on issue #6815:

These patterns are already being generated by fuzzgen, right? I've lost track of what works right now.

Some of them. SIMD ineg doesen't yet work on the interpreter (This seems like a fairly easy issue, so I've opened #6827), so those aren't generated. The rest of them should be.

However, more importantly we don't yet test RISC-V SIMD in fuzzgen. I've been meaning to do that, but it's the only architecture where SIMD does not work with the default feature set, and we don't have any infrastructure for that in fuzzgen. I definitely want to get this working before considering the SIMD work done, but just haven't gotten around to it yet.

While reading this it occurred to me that someday we ought to have a lot more egraph rules for splat, such as rewriting (imul (splat x) (splat y)) to (splat (imul x y)). Those should probably go in cranelift/codegen/src/opts/vector.isle, and move some existing rules from extends.isle` there too I think.

Yeah, those are good ones! And that also looks like a awesome starter issue! I've opened #6828.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 09 2023 at 21:57):

afonso360 edited a comment on issue #6815:

These patterns are already being generated by fuzzgen, right? I've lost track of what works right now.

Some of them. SIMD ineg doesen't yet work on the interpreter (This seems like a fairly easy issue, so I've opened #6827), so those aren't generated. The rest of them should be.

However, more importantly we don't yet test RISC-V SIMD in fuzzgen. I've been meaning to do that, but it's the only architecture where SIMD does not work with the default feature set, and we don't have any infrastructure for that in fuzzgen. I definitely want to get this working before considering the SIMD work done, but just haven't gotten around to it yet.

While reading this it occurred to me that someday we ought to have a lot more egraph rules for splat, such as rewriting (imul (splat x) (splat y)) to (splat (imul x y)). Those should probably go in cranelift/codegen/src/opts/vector.isle, and move some existing rules from extends.isle` there too I think.

Yeah, those are good ones! And that also looks like an awesome starter issue! I've opened #6828.


Last updated: Oct 23 2024 at 20:03 UTC