Use `trn[1,2]` for _mm_move[l,h]dup_ps on A64
Use `trn[1,2]` for _mm_move[l,h]dup_ps on A64

This results in no code generation difference w/ GCC 11.2.0 since
__builtin_shuffle support was added. However, it is worth adding an
explicit trn1/trn2 implementation regardless for compilers that do not
have __builtin_shuffle or __builtin_shufflevector and to avoid
potentially suboptimal code generation.

DLTcollab/sse2neon,DLTcollab/sse2neon,DLTcollab/sse2neon