https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64306
--- Comment #1 from Oleg Endo <olegendo at gcc dot gnu.org> ---
If the alignment/offset of an unaligned 32 bit store is known to be 16 bit, it
can be done with something like:
mov r5,r0
mov.w r0,@({0|2},r4)
shlr16 r0
mov.w r0,@({2|0},r4)