[AArch64][SVE2] Combine add+lsr to rshrnb for stores
The example sequence
add z0.h, z0.h, #32 lsr z0.h, #6 st1b z0.h, x1
can be replaced with
rshrnb z0.b, #6 st1b z0.h, x1
As the top half of the destination elements are truncated.
In similar fashion,
add z0.s, z0.s, #32 lsr z1.s, z1.s, #6 add z1.s, z1.s, #32 lsr z0.s, z0.s, #6 uzp1 z0.h, z0.h, z1.h
Can be replaced with
rshrnb z1.h, z1.s, #6 rshrnb z0.h, z0.s, #6 uzp1 z0.h, z0.h, z1.h
SDValue is usually passed by value, not as a pointer. It might also be able to generate the DL from SDLoc DL(Srl);, depending on where it is best for the debug loc to come from.