Stream: git-wasmtime

Topic: wasmtime / issue #6827 Cranelift: SIMD `ineg` crashes the...


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

afonso360 opened issue #6827:

:wave: Hey,

.clif Test Case

test interpret

function %simd_ineg_i64x2(i64x2) -> i64x2 {
block0(v0: i64x2):
    v1 = ineg v0
    return v1
}
; run: %simd_ineg_i64x2([0 1]) == [0 -1]

Steps to Reproduce

Expected Results

The test to pass!

Actual Results

 ERROR cranelift_filetests::concurrent > FAIL: interpret
FAIL ./lmao.clif: interpret

Caused by:
    unexpected trap: StepError(ValueError(InvalidType(Integer, types::I64X2)))
1 tests
Error: 1 failure

It looks like the ineg instruction in the interpreter is implemented for scalar values but not for SIMD!

Versions and Environment

Cranelift version or commit: main

Operating system: Linux

Architecture: X86_64 (but it could be any really!)

Extra Info

I would suspect that this goes wrong in DataValueExt::int(0, ctrl_ty), that operation seems to not be ready to produce SIMD values. We could change that and it might work!

If anyone needs help working on this let me know!

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

afonso360 added the bug label to Issue #6827.

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

afonso360 added the good first issue label to Issue #6827.

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

afonso360 added the cranelift:E-easy label to Issue #6827.

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

afonso360 added the cranelift label to Issue #6827.

view this post on Zulip Wasmtime GitHub notifications bot (Aug 12 2023 at 05:42):

gurry commented on issue #6827:

Reproduces on Windows too.

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

afonso360 closed issue #6827:

:wave: Hey,

.clif Test Case

test interpret

function %simd_ineg_i64x2(i64x2) -> i64x2 {
block0(v0: i64x2):
    v1 = ineg v0
    return v1
}
; run: %simd_ineg_i64x2([0 1]) == [0 -1]

Steps to Reproduce

Expected Results

The test to pass!

Actual Results

 ERROR cranelift_filetests::concurrent > FAIL: interpret
FAIL ./lmao.clif: interpret

Caused by:
    unexpected trap: StepError(ValueError(InvalidType(Integer, types::I64X2)))
1 tests
Error: 1 failure

It looks like the ineg instruction in the interpreter is implemented for scalar values but not for SIMD!

Versions and Environment

Cranelift version or commit: main

Operating system: Linux

Architecture: X86_64 (but it could be any really!)

Extra Info

I would suspect that this goes wrong in DataValueExt::int(0, ctrl_ty), that operation seems to not be ready to produce SIMD values. We could change that and it might work!

If anyone needs help working on this let me know!


Last updated: Nov 22 2024 at 16:03 UTC