Ah, shifts on ARM-NEON. The sign-ness is easy to miss.
There is of course an arithmetic shift right instruction, and it is the same as the logical shift right instruction. You decide if you want to shift arithmetic or logic by picking the data-type.
E.g.
int8x8_t vshr_n_s8(int8x8_t a, int b);
Will shift arithmetic because the data-type is s8 while:
uint8x8_t vshr_n_u8(uint8x8_t a, int b);
will shift logically (shifing in zeros instead of replicating the sign bit) because the data-type is unsigned.