[PATCH, ARM] Clean up arm backend using the @ construct for MD patterns
This patch removes some of the machine mode checks from the arm backend when emitting instructions by using the '@' construct (Parameterized Names[2]). It is based on the previous AArch64 patch[1]. [1] https://gcc.gnu.org/ml/gcc-patches/2018-07/msg00673.html [2] https://gcc.gnu.org/onlinedocs/gccint/Parameterized-Names.html#Parameterized-Names 2018-23-11 Mihail Ionescu <mihail.ionescu@arm.com> * config/arm/arm.c (arm_expand_compare_and_swap): Simplify and call gen_atomic_compare_swap_1. (arm_evpc_neon_vuzp): Likewise gen_neon_vuzp_internal. (arm_evpc_neon_vtrn): Likewise gen_neon_vtrn_internal. (arm_evpc_neon_vext): Likewise gen_neon_vext_internal. (arm_evpc_neon_vzip): Likewise gen_neon_vzip_internal. (arm_evpc_neon_vrev): Replace the function pointer and simplify the mode checks. * config/arm/arm.md (neon_vext<mode>), (neon_vrev64<mode>, neon_vrev32<mode>), (neon_vrev16<mode>, neon_vtrn<mode>_internal), (neon_vzip<mode>_internal, neon_vuzp<mode>_internal): Add an '@'character before the pattern name. * config/arm/sync.md: (atomic_compare_and_swap<CCSI:arch><NARROW:mode>_1), (atomic_compare_and_swap<CCSI:arch><SIDI:mode>_1): Likewise. From-SVN: r266404
Showing
Please
register
or
sign in
to comment