Skip to content

Cranelift: unimplemented for > 64 bits #12170

@abc767234318

Description

@abc767234318

.clif Test Case

test run

set enable_nan_canonicalization=true
set preserve_frame_pointers=true
set enable_multi_ret_implicit_sret=true
set opt_level=none

target x86_64 sse42 has_avx
target aarch64
target s390x
target riscv64gc has_zcd has_zbkb has_zbc has_zbs has_zicond has_zvl32b has_zvl64b has_zvl128b has_zvl1024b has_zvl2048b has_zvl4096b has_zvl8192b has_zvl16384b has_zvl32768b

function %main() -> f64 fast {
    ss0 = explicit_slot 32
    ss1 = explicit_slot 32
    const0 = 0xfa2675c080000000e8a433230a7479e5

block0:
    v1 = iconst.i16 1348
    v2 = f64const -0x1.e10d21f69a163p995
    v3 = vconst.i32x4 const0
    v4 = smin.i32x4 v3, v3  ; v3 = const0, v3 = const0
    v5 = clz.i16 v1  ; v1 = 1348
    v6 = icmp.i32x4 slt v3, v4  ; v3 = const0
    
    return v2
}

; print: %main()

Steps to Reproduce

This test case processed successfully when the opt_level=none, but if I change it to the opt_level=speed, it will throw thread 'main' panicked at cranelift/codegen/src/opts.rs:191:5: unimplemented for > 64 bits.

Expected Results

%main() -> -0x1.e10d21f69a163p995

Actual Results

thread 'main' panicked at cranelift/codegen/src/opts.rs:191:5:
unimplemented for > 64 bits
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugIncorrect behavior in the current implementation that needs fixingcraneliftIssues related to the Cranelift code generatorfuzz-bugBugs found by a fuzzer

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions