Skip to content

A SIMD add will ICE the compiler. #23155

Closed
@ghost

Description

Error:

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: run with `RUST_BACKTRACE=1` for a backtrace
thread 'rustc' panicked at 'tried to get overflow intrinsic for non-int type', /home/rustbuild/src/rust-buildbot/slave/nightly-dist-rustc-linux/build/src/librustc_trans/trans/expr.rs:2358

stack backtrace:
   1:     0x7f52af1682d2 - sys::backtrace::write::he3277a63d69f5b66QBA
   2:     0x7f52af18e322 - panicking::on_panic::h2a4421d00c8eaa07jHJ
   3:     0x7f52af0d4a69 - rt::unwind::begin_unwind_inner::hb49f4d2d01640667mnJ
   4:     0x7f52ae7cefcc - rt::unwind::begin_unwind::h2680611462970500090
   5:     0x7f52ae886c3d - trans::expr::with_overflow_check::h22ec817d39a9a5942nk
   6:     0x7f52ae88535a - trans::expr::trans_eager_binop::h3675af8766a17880Yrj
   7:     0x7f52ae861531 - trans::expr::trans_binary::h497e9acc1a254839iBj
   8:     0x7f52ae84f381 - trans::expr::trans_unadjusted::h499460e0693ca7c136h
   9:     0x7f52ae80fc37 - trans::expr::trans_into::he1bd2630274c6257Tph
  10:     0x7f52ae8fbb6e - trans::_match::mk_binding_alloca::h16531623213959557454
  11:     0x7f52ae80f0ed - trans::base::init_local::h4220d9153c798dbdGBs
  12:     0x7f52ae8106a2 - trans::controlflow::trans_block::h24688e532ef957ffv7d
  13:     0x7f52ae8cbf10 - trans::base::trans_closure::h0ab6c84c342248f8ent
  14:     0x7f52ae7fff8b - trans::base::trans_fn::h365bd4f7574aa6067xt
  15:     0x7f52ae7fbf36 - trans::base::trans_item::hfa9c20eef4d47c8aZVt
  16:     0x7f52ae8d26bc - trans::base::trans_crate::h6a97e87f7f6b01f8aSu
  17:     0x7f52af78cf92 - driver::phase_4_translate_to_llvm::h9b048c1a8eb1ea23gOa
  18:     0x7f52af7688ea - driver::compile_input::h4ead3acd85265c84Nba
  19:     0x7f52af82cebd - run_compiler::h297fa686def10927G6b
  20:     0x7f52af82ac2c - thunk::F.Invoke<A, R>::invoke::h13212375243324058858
  21:     0x7f52af829880 - rt::unwind::try::try_fn::h15556897595580953244
  22:     0x7f52af1fa0f8 - rust_try_inner
  23:     0x7f52af1fa0e5 - rust_try
  24:     0x7f52af82a00b - thunk::F.Invoke<A, R>::invoke::h6333748217615269386
  25:     0x7f52af17bb25 - sys::thread::thread_start::h14dbe992a2cfcf49t8E
  26:     0x7f52a91cb181 - start_thread
  27:     0x7f52aed4d47c - __clone
  28:                0x0 - <unknown>

Code to reproduce:

#![feature(simd)]
use std::simd::u32x4;

#[inline(never)]
fn new(v: u32) -> u32x4 {
    u32x4(v, v, v, v)
}

fn main() {
    let x = new(1) + new(1);
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions