We have a gap in our store merging capabilities for shift+truncate patterns as discussed in:
https://llvm.org/PR46662
I generalized the code/comments for this function in earlier commits, so we only need ease the type restriction and adjust the address/endian checking to make this work.
AArch64 lets us switch endian to make sure that patterns are matched either way.