Skip to content

Cranelift: cannot generate relocation against libcall FloorF64, when has_sse41=false #5563

@zeldovich

Description

@zeldovich

.wat Test Case

(module
  (type (;0;) (func (param f64) (result f64)))
  (func $f (type 0) (param f64) (result f64)
    local.get 0
    f64.floor))

Steps to Reproduce

  • wasmtime run --wasm-features=-simd --cranelift-set has_sse41=false testcase.wat

Expected Results

I would expect wasmtime / cranelift to be able to compile this code on a machine with has_sse41=false. (In particular, this shows up in a QEMU VM.)

Actual Results

I get an error:

thread 'main' panicked at 'not implemented: cannot generate relocation against libcall FloorF64', crates/cranelift/src/obj.rs:155:21

Versions and Environment

Cranelift version or commit: 4.0.0

Operating system: Linux 6.1.3

Architecture: x86_64; the problem shows up in a QEMU VM where has_sse41=false, but can also be observed outside of a QEMU VM by explicitly passing has_sse41=false like above.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugIncorrect behavior in the current implementation that needs fixingcraneliftIssues related to the Cranelift code generatorwasmtime:platform-supportRelated to supporting a new platform in Wasmtime

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions