//@ needs-unwind | |
#![feature(portable_simd)] | |
// SRoA expands things even if they're unused | |
// <https://github.com/rust-lang/rust/issues/144621> | |
use std::simd::Simd; | |
// EMIT_MIR simd_sroa.foo.ScalarReplacementOfAggregates.diff | |
pub(crate) fn foo(simds: &[Simd<u8, 16>], _unused: Simd<u8, 16>) { | |
// CHECK-LABEL: fn foo | |
// CHECK-NOT: [u8; 16] | |
// CHECK: let [[SIMD:_.+]]: std::simd::Simd<u8, 16>; | |
// CHECK-NOT: [u8; 16] | |
// CHECK: [[SIMD]] = copy (*_1)[0 of 1]; | |
// CHECK-NOT: [u8; 16] | |
let a = simds[0]; | |
} |