diff options
author | Kyrylo Tkachov <kyrylo.tkachov@arm.com> | 2021-05-14 10:05:42 +0100 |
---|---|---|
committer | Kyrylo Tkachov <kyrylo.tkachov@arm.com> | 2021-05-14 15:31:25 +0100 |
commit | ff3809b459db881e80f627e81ec946e7bbd7041d (patch) | |
tree | b02afb0aa23c6027c346c5cd5fcc94b1bb3e0889 /gcc/fortran/resolve.c | |
parent | 4206171605de65df9674a14dd9db75bf4f4ed037 (diff) | |
download | gcc-ff3809b459db881e80f627e81ec946e7bbd7041d.zip gcc-ff3809b459db881e80f627e81ec946e7bbd7041d.tar.gz gcc-ff3809b459db881e80f627e81ec946e7bbd7041d.tar.bz2 |
aarch64: Make sqdmlal2 patterns match canonical RTL
The sqdmlal2 patterns are hidden beneath the SBINQOPS iterator and unfortunately they don't match
canonical RTL because the simple accumulate operand comes in the first arm of the SS_PLUS.
This patch splits the SS_PLUS and SS_MINUS forms with the SS_PLUS operands set up to match
the canonical form, where the complex operand comes first.
gcc/ChangeLog:
* config/aarch64/aarch64-simd.md
(aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Split into...
(aarch64_sqdmlsl2_lane<mode>_internal): ... This...
(aarch64_sqdmlal2_lane<mode>_internal): ... And this.
(aarch64_sqdml<SBINQOPS:as>l2_laneq<mode>_internal): Split into ...
(aarch64_sqdmlsl2_laneq<mode>_internal): ... This...
(aarch64_sqdmlal2_laneq<mode>_internal): ... And this.
(aarch64_sqdml<SBINQOPS:as>l2_n<mode>_internal): Split into...
(aarch64_sqdmlsl2_n<mode>_internal): ... This...
(aarch64_sqdmlal2_n<mode>_internal): ... And this.
Diffstat (limited to 'gcc/fortran/resolve.c')
0 files changed, 0 insertions, 0 deletions