@Vector abuse?

I had a similiar issue, but after learning about vector - array coercion I think it makes more sense the way they have it than what I did originally, here’s a migration guide, just store [N]T instead of @Vector(N, T) and use coercion when you want to do anything with SIMD.

// Before
fn foo(vec: [*]@Vector(8, u32)) void {
     const v: @Vector(8, u32) = vec[42];
     doSomething(v);
}

// After
fn foo(vec: [*][8]u32) void {
     const v: @Vector(8, u32) = vec[42];
     doSomething(v);
}

I checked the assembly in my project, the only difference is that LLVM will use
vmovdqu instead of vmovdqa, which is basically the same command but with different layout assumptions. AFAIK that’s the same performance.
If you want to force the vmovdqa then you can just use [*]align(vectorAlignment)[8]u32
Compiler explorer example

Edit: TLDR - store your data in arrays instead of vectors and pretend they are vectors using coercion.