[AArch64] Remove constraint strings from define_expand constructs
authorDennis Zhang <dennis.zhang@arm.com>
Wed, 3 Jul 2019 19:52:04 +0000 (19:52 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Wed, 3 Jul 2019 19:52:04 +0000 (19:52 +0000)
commit1bbffb87a9ecc3e27a4074145e55e3315df57b7d
tree2e3992be667b85cec674ef4bcb9bc7e31f32034e
parent03eddfb3b57152121154cf64fcd5c145000ee7f3
[AArch64] Remove constraint strings from define_expand constructs

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.

2019-07-03  Dennis Zhang  <dennis.zhang@arm.com>

gcc/
* config/aarch64/aarch64.md: Remove redundant constraints from
define_expand but keep some patterns untouched if they are
specially selected by TARGET_SECONDARY_RELOAD hook.
* config/aarch64/aarch64-sve.md: Likewise.
* config/aarch64/atomics.md: Remove redundant constraints from
define_expand.
* config/aarch64/aarch64-simd.md: Likewise.

From-SVN: r273021
gcc/ChangeLog
gcc/config/aarch64/aarch64-simd.md
gcc/config/aarch64/aarch64-sve.md
gcc/config/aarch64/aarch64.md
gcc/config/aarch64/atomics.md