This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH][AArch64] Remove constraint strings from define_expand constructs in the back end
- From: James Greenhalgh <james dot greenhalgh at arm dot com>
- To: Dennis Zhang <Dennis dot Zhang at arm dot com>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, nd <nd at arm dot com>, Richard Earnshaw <Richard dot Earnshaw at arm dot com>, Marcus Shawcroft <Marcus dot Shawcroft at arm dot com>
- Date: Mon, 1 Jul 2019 17:32:07 +0100
- Subject: Re: [PATCH][AArch64] Remove constraint strings from define_expand constructs in the back end
- References: <firstname.lastname@example.org>
On Mon, Jun 24, 2019 at 04:33:40PM +0100, Dennis Zhang wrote:
> A number of AArch64 define_expand patterns have specified constraints
> for their operands. But the constraint strings are ignored at expand
> time and are therefore redundant/useless. We now avoid specifying
> constraints in new define_expands, but we should clean up the existing
> define_expand definitions.
> For example, the constraint "=w" is removed in the following case:
> (define_expand "sqrt<mode>2"
> [(set (match_operand:GPF_F16 0 "register_operand" "=w")
> The "" marks with an empty constraint in define_expand are removed as well.
> The patch is tested with the build configuration of
> --target=aarch64-none-linux-gnu, and it passes gcc/testsuite.
This is OK for trunk.
> 2019-06-21 Dennis Zhang <email@example.com>
> * config/aarch64/aarch64-simd.md: Remove redundant constraints
> from define_expand.
> * config/aarch64/aarch64-sve.md: Likewise.
> * config/aarch64/aarch64.md: Likewise.
> * config/aarch64/atomics.md: Likewise.