diff options
author | Richard Earnshaw <rearnsha@arm.com> | 2019-10-18 19:04:06 +0000 |
---|---|---|
committer | Richard Earnshaw <rearnsha@gcc.gnu.org> | 2019-10-18 19:04:06 +0000 |
commit | ed6588f239790be8437515ca2dc5e44568963342 (patch) | |
tree | e02ef04cedeb6f4c9d2bdef71f0186bcfd86ff10 /gcc/json.cc | |
parent | f9f6247d14dde9cd7202743ec60d253050a60d58 (diff) | |
download | gcc-ed6588f239790be8437515ca2dc5e44568963342.zip gcc-ed6588f239790be8437515ca2dc5e44568963342.tar.gz gcc-ed6588f239790be8437515ca2dc5e44568963342.tar.bz2 |
[arm] Handle immediate values in uaddvsi4
The uaddv patterns in the arm back-end do not currenty handle immediates
during expansion. This patch adds this support for uaddvsi4. It's really
a stepping-stone towards early expansion of uaddvdi4, but it complete and
a useful change in its own right.
Whilst making this change I also observed that we really had two patterns
that did exactly the same thing, but with slightly different properties;
consequently I've cleaned up all of the add-and-compare patterns to bring
some consistency.
* config/arm/arm.md (adddi3): Call gen_addsi3_compare_op1.
* (uaddv<mode>4): Delete expansion pattern.
(uaddvsi4): New pattern.
(uaddvdi4): Likewise.
(addsi3_compareC): Delete pattern, change callers to use
addsi3_compare_op1.
(addsi3_compare_op1): No-longer anonymous. Clean up constraints to
reduce the number of alternatives and re-work type attribute handling.
(addsi3_compare_op2): Clean up constraints to reduce the number of
alternatives and re-work type attribute handling.
(compare_addsi2_op0): Likewise.
(compare_addsi2_op1): Likewise.
From-SVN: r277182
Diffstat (limited to 'gcc/json.cc')
0 files changed, 0 insertions, 0 deletions