aco: shrink buffer stores with undef/zero components
The ISA docs don't mention it, but MUBUF stores behave like MIMG here.
And while we are here, also implement gfx12 behavior from https://github.com/llvm/llvm-project/pull/76212 before we miss it during bring-up.