Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ice: missing fluent string codegen_gcc_invalid_monomorphization_expected_simd #293

Closed
matthiaskrgr opened this issue Jul 1, 2023 · 1 comment

Comments

@matthiaskrgr
Copy link
Member

Looks like some translations are missing?

./tests/ui/simd/intrinsic/generic-select.rs

// build-fail

// Test that the simd_select intrinsic produces ok-ish error
// messages when misused.

#![feature(repr_simd, platform_intrinsics)]
#![allow(non_camel_case_types)]

#[repr(simd)]
#[derive(Copy, Clone)]
pub struct f32x4(pub f32, pub f32, pub f32, pub f32);

#[repr(simd)]
#[derive(Copy, Clone)]
pub struct u32x4(pub u32, pub u32, pub u32, pub u32);

#[repr(simd)]
#[derive(Copy, Clone, PartialEq)]
struct b8x4(pub i8, pub i8, pub i8, pub i8);

#[repr(simd)]
#[derive(Copy, Clone, PartialEq)]
struct b8x8(pub i8, pub i8, pub i8, pub i8, pub i8, pub i8, pub i8, pub i8);

extern "platform-intrinsic" {
    fn simd_select<T, U>(x: T, a: U, b: U) -> U;
    fn simd_select_bitmask<T, U>(x: T, a: U, b: U) -> U;
}

fn main() {
    let m4 = b8x4(0, 0, 0, 0);
    let m8 = b8x8(0, 0, 0, 0, 0, 0, 0, 0);
    let x = u32x4(0, 0, 0, 0);
    let z = f32x4(0.0, 0.0, 0.0, 0.0);

    unsafe {
        simd_select(m4, x, x);

        simd_select(m8, x, x);
        //~^ ERROR mismatched lengths: mask length `8` != other vector length `4`

        simd_select(x, x, x);
        //~^ ERROR mask element type is `u32`, expected `i_`

        simd_select(z, z, z);
        //~^ ERROR mask element type is `f32`, expected `i_`

        simd_select(m4, 0u32, 1u32);
        //~^ ERROR found non-SIMD `u32`

        simd_select_bitmask(0u16, x, x);
        //~^ ERROR invalid bitmask `u16`, expected `u8` or `[u8; 1]`

        simd_select_bitmask(0u8, 1u32, 2u32);
        //~^ ERROR found non-SIMD `u32`

        simd_select_bitmask(0.0f32, x, x);
        //~^ ERROR invalid bitmask `f32`, expected `u8` or `[u8; 1]`

        simd_select_bitmask("x", x, x);
        //~^ ERROR invalid bitmask `&str`, expected `u8` or `[u8; 1]`
    }
}
error[E0511]: invalid monomorphization of `simd_select` intrinsic: mismatched lengths: mask length `8` != other vector length `4`
  --> ./tests/ui/simd/intrinsic/generic-select.rs:39:9
   |
39 |         simd_select(m8, x, x);
   |         ^^^^^^^^^^^^^^^^^^^^^

error[E0511]: invalid monomorphization of `simd_select` intrinsic: mask element type is `u32`, expected `i_`
  --> ./tests/ui/simd/intrinsic/generic-select.rs:42:9
   |
42 |         simd_select(x, x, x);
   |         ^^^^^^^^^^^^^^^^^^^^

error[E0511]: invalid monomorphization of `simd_select` intrinsic: mask element type is `f32`, expected `i_`
  --> ./tests/ui/simd/intrinsic/generic-select.rs:45:9
   |
45 |         simd_select(z, z, z);
   |         ^^^^^^^^^^^^^^^^^^^^

thread 'rustc' panicked at 'called `Result::unwrap()` on an `Err` value: failed while formatting fluent string `codegen_gcc_invalid_monomorphization_expected_simd`:
the fluent string has an argument `expected_ty` that was not found.
help: the arguments `found_ty`, `name` and `position` are available
', compiler/rustc_errors/src/emitter.rs:1402:84
stack backtrace:
   0:     0x7fedcc783e11 - std::backtrace_rs::backtrace::libunwind::trace::h184786643c1f8146
                               at /rustc/2d0aa57684e10f7b3d3fe740ee18d431181583ad/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x7fedcc783e11 - std::backtrace_rs::backtrace::trace_unsynchronized::h10cef21dd42edd42
                               at /rustc/2d0aa57684e10f7b3d3fe740ee18d431181583ad/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7fedcc783e11 - std::sys_common::backtrace::_print_fmt::hca8722c6f82eccd9
                               at /rustc/2d0aa57684e10f7b3d3fe740ee18d431181583ad/library/std/src/sys_common/backtrace.rs:65:5
   3:     0x7fedcc783e11 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h4b170c65cdf95c48
                               at /rustc/2d0aa57684e10f7b3d3fe740ee18d431181583ad/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x7fedcc7e54bf - core::fmt::rt::Argument::fmt::h7e50834cab28e102
                               at /rustc/2d0aa57684e10f7b3d3fe740ee18d431181583ad/library/core/src/fmt/rt.rs:138:9
   5:     0x7fedcc7e54bf - core::fmt::write::h8bd64fe81f89dd81
                               at /rustc/2d0aa57684e10f7b3d3fe740ee18d431181583ad/library/core/src/fmt/mod.rs:1094:21
   6:     0x7fedcc776977 - std::io::Write::write_fmt::hc75a842b3ecac8bc
                               at /rustc/2d0aa57684e10f7b3d3fe740ee18d431181583ad/library/std/src/io/mod.rs:1714:15
   7:     0x7fedcc783c25 - std::sys_common::backtrace::_print::hdb7a31bd8c54eb49
                               at /rustc/2d0aa57684e10f7b3d3fe740ee18d431181583ad/library/std/src/sys_common/backtrace.rs:47:5
   8:     0x7fedcc783c25 - std::sys_common::backtrace::print::hbcf968a4222dc0b5
                               at /rustc/2d0aa57684e10f7b3d3fe740ee18d431181583ad/library/std/src/sys_common/backtrace.rs:34:9
   9:     0x7fedcc7869d3 - std::panicking::default_hook::{{closure}}::h02987b13cfa1387d
                               at /rustc/2d0aa57684e10f7b3d3fe740ee18d431181583ad/library/std/src/panicking.rs:269:22
  10:     0x7fedcc786764 - std::panicking::default_hook::hcb3fd44404995c49
                               at /rustc/2d0aa57684e10f7b3d3fe740ee18d431181583ad/library/std/src/panicking.rs:288:9
  11:     0x7fedcb5abd6b - <rustc_driver_impl[7175fdba515aac6e]::install_ice_hook::{closure#0} as core[baaa20f768102eef]::ops::function::FnOnce<(&core[baaa20f768102eef]::panic::panic_info::PanicInfo,)>>::call_once::{shim:vtable#0}
  12:     0x7fedcc7871fe - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hec1e31de726d1657
                               at /rustc/2d0aa57684e10f7b3d3fe740ee18d431181583ad/library/alloc/src/boxed.rs:2007:9
  13:     0x7fedcc7871fe - std::panicking::rust_panic_with_hook::h223f39091438ac61
                               at /rustc/2d0aa57684e10f7b3d3fe740ee18d431181583ad/library/std/src/panicking.rs:709:13
  14:     0x7fedcc786f87 - std::panicking::begin_panic_handler::{{closure}}::h4644cfd73fc4a198
                               at /rustc/2d0aa57684e10f7b3d3fe740ee18d431181583ad/library/std/src/panicking.rs:597:13
  15:     0x7fedcc784246 - std::sys_common::backtrace::__rust_end_short_backtrace::hfbaa4867b3658893
                               at /rustc/2d0aa57684e10f7b3d3fe740ee18d431181583ad/library/std/src/sys_common/backtrace.rs:151:18
  16:     0x7fedcc786cd2 - rust_begin_unwind
                               at /rustc/2d0aa57684e10f7b3d3fe740ee18d431181583ad/library/std/src/panicking.rs:593:5
  17:     0x7fedcc7e1743 - core::panicking::panic_fmt::hbd4e3abda5ea01cd
                               at /rustc/2d0aa57684e10f7b3d3fe740ee18d431181583ad/library/core/src/panicking.rs:67:14
  18:     0x7fedcc7e1d63 - core::result::unwrap_failed::h3a089cd83ce6302e
                               at /rustc/2d0aa57684e10f7b3d3fe740ee18d431181583ad/library/core/src/result.rs:1651:5
  19:     0x7fedcaa96fd9 - <rustc_errors[22c53a0383ffa2c9]::emitter::EmitterWriter>::emit_message_default::{closure#0}
  20:     0x7fedcaa8d9c2 - <rustc_errors[22c53a0383ffa2c9]::emitter::EmitterWriter>::emit_messages_default
  21:     0x7fedcaa8517a - <rustc_errors[22c53a0383ffa2c9]::emitter::EmitterWriter as rustc_errors[22c53a0383ffa2c9]::emitter::Emitter>::emit_diagnostic
  22:     0x7fedcad034c8 - <rustc_errors[22c53a0383ffa2c9]::HandlerInner>::emit_diagnostic::{closure#2}
  23:     0x7fedcacf14f3 - rustc_interface[e3841d12b9b221e7]::callbacks::track_diagnostic
  24:     0x7fedca3ab5e2 - <rustc_errors[22c53a0383ffa2c9]::HandlerInner>::emit_diagnostic
  25:     0x7fedca30970e - <rustc_errors[22c53a0383ffa2c9]::Handler>::emit_diagnostic
  26:     0x7fedc9f9c7fe - <rustc_span[1e0547ff349d1bca]::ErrorGuaranteed as rustc_errors[22c53a0383ffa2c9]::diagnostic_builder::EmissionGuarantee>::diagnostic_builder_emit_producing_guarantee
  27:     0x7fedbd7b8594 - rustc_session::parse::ParseSess::emit_err::h7c764fea0b35bbc2
  28:     0x7fedbd6bc489 - rustc_codegen_gcc::intrinsic::simd::generic_simd_intrinsic::h655038296a9eb5e0
  29:     0x7fedbd6795e7 - rustc_codegen_gcc::intrinsic::<impl rustc_codegen_ssa::traits::intrinsic::IntrinsicCallMethods for rustc_codegen_gcc::builder::Builder>::codegen_intrinsic_call::h3ca3394648f12282
  30:     0x7fedbd7af6b5 - rustc_codegen_ssa::mir::intrinsic::<impl rustc_codegen_ssa::mir::FunctionCx<Bx>>::codegen_intrinsic_call::h5e2d44caa5e7f5d8
  31:     0x7fedbd7a3c53 - rustc_codegen_ssa::mir::block::<impl rustc_codegen_ssa::mir::FunctionCx<Bx>>::codegen_terminator::hdaf13f128cded52e
  32:     0x7fedbd79e56f - rustc_codegen_ssa::mir::codegen_mir::h3ad98a26028d240e
  33:     0x7fedbd683015 - rustc_codegen_ssa::base::codegen_instance::h4de2a7fcd42b8fec
  34:     0x7fedbd6b779f - <rustc_middle::mir::mono::MonoItem as rustc_codegen_ssa::mono_item::MonoItemExt>::define::h3ba430a5d5241f22
  35:     0x7fedbd77aa8a - rustc_codegen_gcc::base::compile_codegen_unit::module_codegen::he6166c6882b2cbb7
  36:     0x7fedbd77999e - rustc_codegen_gcc::base::compile_codegen_unit::hee038d1e76e08ed1
  37:     0x7fedbd6a96fd - <rustc_codegen_gcc::GccCodegenBackend as rustc_codegen_ssa::traits::backend::ExtraBackendMethods>::compile_codegen_unit::h9454ef5ee5ef580e
  38:     0x7fedbd68276d - rustc_codegen_ssa::base::codegen_crate::h1a4124ddfd8d676d
  39:     0x7fedbd6a932a - <rustc_codegen_gcc::GccCodegenBackend as rustc_codegen_ssa::traits::backend::CodegenBackend>::codegen_crate::hfb6d3003355e12ad
  40:     0x7fedcaadcbc2 - <rustc_session[ebb9057f9195e4cc]::session::Session>::time::<alloc[d1ea88cdd25af2a4]::boxed::Box<dyn core[baaa20f768102eef]::any::Any>, rustc_interface[e3841d12b9b221e7]::passes::start_codegen::{closure#0}>
  41:     0x7fedcaadc73b - rustc_interface[e3841d12b9b221e7]::passes::start_codegen
  42:     0x7fedcaad749d - <rustc_middle[56c503886228b671]::ty::context::GlobalCtxt>::enter::<<rustc_interface[e3841d12b9b221e7]::queries::Queries>::ongoing_codegen::{closure#0}::{closure#0}, core[baaa20f768102eef]::result::Result<alloc[d1ea88cdd25af2a4]::boxed::Box<dyn core[baaa20f768102eef]::any::Any>, rustc_span[1e0547ff349d1bca]::ErrorGuaranteed>>
  43:     0x7fedcaad66cd - <rustc_interface[e3841d12b9b221e7]::queries::Queries>::ongoing_codegen
  44:     0x7fedcaad57f0 - <rustc_interface[e3841d12b9b221e7]::interface::Compiler>::enter::<rustc_driver_impl[7175fdba515aac6e]::run_compiler::{closure#1}::{closure#2}, core[baaa20f768102eef]::result::Result<core[baaa20f768102eef]::option::Option<rustc_interface[e3841d12b9b221e7]::queries::Linker>, rustc_span[1e0547ff349d1bca]::ErrorGuaranteed>>
  45:     0x7fedcaad2e21 - std[755122e38bdf80bb]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[e3841d12b9b221e7]::util::run_in_thread_pool_with_globals<rustc_interface[e3841d12b9b221e7]::interface::run_compiler<core[baaa20f768102eef]::result::Result<(), rustc_span[1e0547ff349d1bca]::ErrorGuaranteed>, rustc_driver_impl[7175fdba515aac6e]::run_compiler::{closure#1}>::{closure#0}, core[baaa20f768102eef]::result::Result<(), rustc_span[1e0547ff349d1bca]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[baaa20f768102eef]::result::Result<(), rustc_span[1e0547ff349d1bca]::ErrorGuaranteed>>
  46:     0x7fedcaad25a5 - <<std[755122e38bdf80bb]::thread::Builder>::spawn_unchecked_<rustc_interface[e3841d12b9b221e7]::util::run_in_thread_pool_with_globals<rustc_interface[e3841d12b9b221e7]::interface::run_compiler<core[baaa20f768102eef]::result::Result<(), rustc_span[1e0547ff349d1bca]::ErrorGuaranteed>, rustc_driver_impl[7175fdba515aac6e]::run_compiler::{closure#1}>::{closure#0}, core[baaa20f768102eef]::result::Result<(), rustc_span[1e0547ff349d1bca]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[baaa20f768102eef]::result::Result<(), rustc_span[1e0547ff349d1bca]::ErrorGuaranteed>>::{closure#1} as core[baaa20f768102eef]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  47:     0x7fedcc791685 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h59d6baf462325ed4
                               at /rustc/2d0aa57684e10f7b3d3fe740ee18d431181583ad/library/alloc/src/boxed.rs:1993:9
  48:     0x7fedcc791685 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h4eca0dd82537346f
                               at /rustc/2d0aa57684e10f7b3d3fe740ee18d431181583ad/library/alloc/src/boxed.rs:1993:9
  49:     0x7fedcc791685 - std::sys::unix::thread::Thread::new::thread_start::h38e13b8ca4256fdb
                               at /rustc/2d0aa57684e10f7b3d3fe740ee18d431181583ad/library/std/src/sys/unix/thread.rs:108:17
  50:     0x7fedc829d44b - <unknown>
  51:     0x7fedc8320e40 - <unknown>
  52:                0x0 - <unknown>

error: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

note: rustc 1.72.0-nightly (2d0aa5768 2023-06-18) running on x86_64-unknown-linux-gnu

note: compiler flags: -Z codegen-backend=/home/matthias/vcs/github/rustc_codegen_gcc_attempt2/rustc_codegen_gcc/target/release/librustc_codegen_gcc.so

query stack during panic:
end of query stack
error: aborting due to 3 previous errors

For more information about this error, try `rustc --explain E0511`.
@antoyo
Copy link
Contributor

antoyo commented Apr 19, 2024

This is fixed. Closing.

@antoyo antoyo closed this as completed Apr 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants