Stream: git-wasmtime

Topic: wasmtime / issue #5437 Unimplemented in ISLE error with e...


view this post on Zulip Wasmtime GitHub notifications bot (Dec 14 2022 at 18:07):

alexcrichton opened issue #5437:

This input:

(module
  (type (;0;) (func))
  (func (;0;) (type 0)
    (local v128)
    i32.const 0
    if ;; label = @1
      unreachable
    end
    local.get 0
    local.get 0
    i16x8.lt_u
    i32x4.bitmask
    i32.const 0
    br_if 0 (;@0;)
    call 2
    br_table 0 (;@0;) 0 (;@0;)
    call 1
  )
  (func (;1;) (type 0))
  (func (;2;) (type 0))
)

fails to compile with:

$ cargo run compile --cranelift-set use_egraphs=true ./testcase0.shrunken.wat
    Finished dev [unoptimized + debuginfo] target(s) in 0.12s
     Running `target/debug/wasmtime compile --cranelift-set use_egraphs=true ./testcase0.shrunken.wat`
thread '<unnamed>' panicked at 'should be implemented in ISLE: inst = `v10 = iconst.i16x8 0`, type = `Some(types::I16X8)`', cranelift/codegen/src/machinst/lower.rs:753:21
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

on x86_64

view this post on Zulip Wasmtime GitHub notifications bot (Dec 14 2022 at 18:07):

alexcrichton labeled issue #5437:

This input:

(module
  (type (;0;) (func))
  (func (;0;) (type 0)
    (local v128)
    i32.const 0
    if ;; label = @1
      unreachable
    end
    local.get 0
    local.get 0
    i16x8.lt_u
    i32x4.bitmask
    i32.const 0
    br_if 0 (;@0;)
    call 2
    br_table 0 (;@0;) 0 (;@0;)
    call 1
  )
  (func (;1;) (type 0))
  (func (;2;) (type 0))
)

fails to compile with:

$ cargo run compile --cranelift-set use_egraphs=true ./testcase0.shrunken.wat
    Finished dev [unoptimized + debuginfo] target(s) in 0.12s
     Running `target/debug/wasmtime compile --cranelift-set use_egraphs=true ./testcase0.shrunken.wat`
thread '<unnamed>' panicked at 'should be implemented in ISLE: inst = `v10 = iconst.i16x8 0`, type = `Some(types::I16X8)`', cranelift/codegen/src/machinst/lower.rs:753:21
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

on x86_64

view this post on Zulip Wasmtime GitHub notifications bot (Dec 14 2022 at 18:10):

cfallin commented on issue #5437:

Taking a look!

view this post on Zulip Wasmtime GitHub notifications bot (Dec 14 2022 at 18:30):

jameysharp commented on issue #5437:

iconst shouldn't be used with vector types, right? I'd guess this is the icmp x, x optimization rule firing on types where it isn't valid.

view this post on Zulip Wasmtime GitHub notifications bot (Dec 14 2022 at 19:50):

cfallin closed issue #5437:

This input:

(module
  (type (;0;) (func))
  (func (;0;) (type 0)
    (local v128)
    i32.const 0
    if ;; label = @1
      unreachable
    end
    local.get 0
    local.get 0
    i16x8.lt_u
    i32x4.bitmask
    i32.const 0
    br_if 0 (;@0;)
    call 2
    br_table 0 (;@0;) 0 (;@0;)
    call 1
  )
  (func (;1;) (type 0))
  (func (;2;) (type 0))
)

fails to compile with:

$ cargo run compile --cranelift-set use_egraphs=true ./testcase0.shrunken.wat
    Finished dev [unoptimized + debuginfo] target(s) in 0.12s
     Running `target/debug/wasmtime compile --cranelift-set use_egraphs=true ./testcase0.shrunken.wat`
thread '<unnamed>' panicked at 'should be implemented in ISLE: inst = `v10 = iconst.i16x8 0`, type = `Some(types::I16X8)`', cranelift/codegen/src/machinst/lower.rs:753:21
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

on x86_64


Last updated: Dec 23 2024 at 12:05 UTC