Skip to content

WAMR JIT mode incorrectly outputs type_mismatch #4480

@teyahb8

Description

@teyahb8

Subject of the issue

I executed the following test case with different runtimes. Other runtimes supporting typed function references would output the same number, including WAMR's AOT mode. But, WAMR's JIT mode outputs "type mismatch" error. Other runtime modes that don't support typed function references would output that "typed function references are not supported."

Test case

(module
  (type (;0;) (func))
  (type (;1;) (func (result v128)))
  (export "main" (func 0))
  (export "to_test" (func 0))
  (func (;0;) (type 1) (result v128)
    v128.const i32x4 0x00000000 0x00000000 0x00000000 0xfd000000
    br 0
    unreachable
    unreachable
    unreachable
    unreachable
    unreachable
    unreachable
    unreachable
    unreachable
    unreachable
    unreachable
    i64.or
    ref.null 0
    unreachable
    i16x8.lt_u
  )
)

Your environment

  • Host OS: Ubuntu 22.04
  • WAMR version (2.3.1), platform (Linux), cpu architecture (x86_64), running mode (JIT).

Steps to reproduce

Run the command: iwasm --llvm-jit -f to_test i16x8.lt_u_15_10_1752003706322386.wasm

Expected behavior

Should output "336294682933583715844663186250927177728".

Actual behavior

Output is "type mismatch"

Extra Info

Can you please confirm if this is a bug in WAMR's JIT mode? Thanks in advance.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions