James Greenhalgh <james.greenha...@arm.com> writes: > On Mon, Jun 24, 2019 at 04:33:40PM +0100, Dennis Zhang wrote: >> Hi, >> >> 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.
My fault, sorry, but... Kyrill pointed out when the corresponding arm patch was posted that it removes constraints from reload expanders that actually need them. This patch has the same problem and so shouldn't go in as-is. I'd thought at the time that Kyrill's comment applied to both patches, but I see now that it really was specific to arm. Thanks, Richard > > Thanks, > James > >> gcc/ChangeLog: >> >> 2019-06-21 Dennis Zhang <dennis.zh...@arm.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.