[arm] Improvements to negvsi4 and negvdi4.
commita7c3ebae9348ccc3cc22fb51d6b98f8d7fbfcf88
authorRichard Earnshaw <rearnsha@arm.com>
Fri, 18 Oct 2019 19:05:16 +0000 (18 19:05 +0000)
committerRichard Earnshaw <rearnsha@gcc.gnu.org>
Fri, 18 Oct 2019 19:05:16 +0000 (18 19:05 +0000)
treeba93587437a2fc3fbad7787cd93802a22b9ad827
parentead327735c15436cc0516f427da107be0d747822
[arm] Improvements to negvsi4 and negvdi4.

The generic expansion code for negv does not try the subv patterns,
but instead emits a sub and a compare separately.  Fortunately, the
patterns can make use of the new subv operations, so just call those.
We can also rewrite this using an iterator to simplify things further.
Finally, we can now make negvdi4 work on Thumb2 as well as Arm.

* config/arm/arm.md (negv<SIDI:mode>3): New expansion rule.
(negvsi3, negvdi3): Delete.
(negdi2_compare): Delete.

From-SVN: r277191
gcc/ChangeLog
gcc/config/arm/arm.md