//! This is a regression test to ensure that we evaluate | |
//! SIMD vector length constants instead of assuming they are literals. | |
//@ only-x86_64 | |
//@ check-pass | |
//@ revisions: current next | |
//@ ignore-compare-mode-next-solver (explicit revisions) | |
//@[next] compile-flags: -Znext-solver | |
#![feature(repr_simd)] | |
const C: usize = 16; | |
#[repr(simd)] | |
#[derive(Copy, Clone)] | |
pub struct Foo([u8; C]); | |
pub unsafe fn foo(a: Foo) { | |
std::arch::asm!( | |
"movaps {src}, {src}", | |
src = in(xmm_reg) a, | |
); | |
} | |
fn main() {} |