[PATCH, ARM] Clean up arm backend using the @ construct for MD patterns
authorMihail Ionescu <mihail.ionescu@arm.com>
Fri, 23 Nov 2018 10:48:52 +0000 (10:48 +0000)
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>
Fri, 23 Nov 2018 10:48:52 +0000 (10:48 +0000)
commitff03f2d18df99b3ca637b81c35e516bbf5454687
tree2fe1af838f938b176284d7dc056b60dc60de9255
parent21150aba6ac0b00ce22b01a8d6104e5ea4e7c6ec
[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
gcc/ChangeLog
gcc/config/arm/arm.c
gcc/config/arm/neon.md
gcc/config/arm/sync.md