Skip to content

Fix packed_simd #919

Closed
Closed
@bjorn3

Description

@bjorn3
    thread 'rustc' panicked at 'not implemented: missing encoding or legalization for iconst.types::I128', /home/bjorn/.cargo/git/checkouts/wasmtime-41807828cb3a7a7e/fbe29da/cranelift/codegen/src/legalizer/mod.rs:676:5
    note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
    
    error: internal compiler error: unexpected panic
    
    note: the compiler unexpectedly panicked. this is a bug.
    
    note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports
    
    note: rustc 1.43.0-nightly (3dbade652 2020-03-09) running on x86_64-unknown-linux-gnu
    
    note: compiler flags: -Z codegen-backend=/home/bjorn/Documenten/cg_clif/target/release/librustc_codegen_cranelift.so -C debuginfo=2 -C panic=abort --crate-type lib
    
    note: some of the compiler flags provided by cargo are hidden
    
    error: could not compile `packed_simd`.
    
    To learn more, run the command again with --verbose.
    
    
     stdout=// WARNING: This output format is intended for human consumers only
    // and is subject to change without notice. Knock yourself out.
    fn  v128::<impl at src/api/minimal/iuf.rs:19:9: 95:10>::extract_unchecked(_1: Simd<[i128; 1]>, _2: usize) -> i128 {
        debug self => _1;                    // in scope 0 at src/api/minimal/iuf.rs:62:45: 62:49
        debug index => _2;                   // in scope 0 at src/api/minimal/iuf.rs:62:51: 62:56
        let mut _0: i128;                    // return place in scope 0 at src/api/minimal/iuf.rs:62:68: 62:76
        let _3: i128 as UserTypeProjection { base: UserType(0), projs: [] }; // in scope 0 at src/api/minimal/iuf.rs:64:21: 64:22
        let mut _4: codegen::v128::i128x1;   // in scope 0 at src/api/minimal/iuf.rs:64:49: 64:55
        let mut _5: u32;                     // in scope 0 at src/api/minimal/iuf.rs:64:57: 64:69
        let mut _6: usize;                   // in scope 0 at src/api/minimal/iuf.rs:64:57: 64:62
        scope 1 {
            debug e => _3;                   // in scope 1 at src/api/minimal/iuf.rs:64:21: 64:22
        }
    
        bb0: {
            StorageLive(_3);                 // bb0[0]: scope 0 at src/api/minimal/iuf.rs:64:21: 64:22
            StorageLive(_4);                 // bb0[1]: scope 0 at src/api/minimal/iuf.rs:64:49: 64:55
            _4 = (_1.0: codegen::v128::i128x1); // bb0[2]: scope 0 at src/api/minimal/iuf.rs:64:49: 64:55
            StorageLive(_5);                 // bb0[3]: scope 0 at src/api/minimal/iuf.rs:64:57: 64:69
            StorageLive(_6);                 // bb0[4]: scope 0 at src/api/minimal/iuf.rs:64:57: 64:62
            _6 = _2;                         // bb0[5]: scope 0 at src/api/minimal/iuf.rs:64:57: 64:62
            _5 = move _6 as u32 (Misc);      // bb0[6]: scope 0 at src/api/minimal/iuf.rs:64:57: 64:69
            StorageDead(_6);                 // bb0[7]: scope 0 at src/api/minimal/iuf.rs:64:68: 64:69
            _3 = const codegen::llvm::simd_extract::<codegen::v128::i128x1, i128>(move _4, move _5) -> bb1; // bb0[8]: scope 0 at src/api/minimal/iuf.rs:64:36: 64:70
                                             // ty::Const
                                             // + ty: unsafe extern "platform-intrinsic" fn(codegen::v128::i128x1, u32) -> i128 {codegen::llvm::simd_extract::<codegen::v128::i128x1, i128>}
                                             // + val: Value(Scalar(<ZST>))
                                             // mir::Constant
                                             // + span: src/api/minimal/iuf.rs:64:36: 64:48
                                             // + literal: Const { ty: unsafe extern "platform-intrinsic" fn(codegen::v128::i128x1, u32) -> i128 {codegen::llvm::simd_extract::<codegen::v128::i128x1, i128>}, val: Value(Scalar(<ZST>)) }
        }
    
        bb1: {
            StorageDead(_5);                 // bb1[0]: scope 0 at src/api/minimal/iuf.rs:64:69: 64:70
            StorageDead(_4);                 // bb1[1]: scope 0 at src/api/minimal/iuf.rs:64:69: 64:70
            _0 = _3;                         // bb1[2]: scope 1 at src/api/minimal/iuf.rs:65:17: 65:18
            StorageDead(_3);                 // bb1[3]: scope 0 at src/api/minimal/iuf.rs:66:13: 66:14
            return;                          // bb1[4]: scope 0 at src/api/minimal/iuf.rs:66:14: 66:14
        }
    }
    
    Instance { def: Item(DefId(0:16184 ~ packed_simd[dac1]::v128[0]::{{impl}}[954]::extract_unchecked[0])), substs: [] } _ZN11packed_simd4v12868_$LT$impl$u20$packed_simd..Simd$LT$$u5b$i128$u3b$$u20$1$u5d$$GT$$GT$17extract_unchecked17h609d0fe32fa65f72E

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions