Hi all,

With the SABDL and UABDL patterns converted, the accumulating forms of them 
UABAL and SABAL are not much more complicated.
There's an accumulator argument that we, err, accumulate into with a PLUS once 
all the widening is done.
Some necessary renaming of patterns relating to the removal of UNSPEC_SABAL and 
UNSPEC_UABAL is included.

Bootstrapped and tested on aarch64-none-linux-gnu.
Pushing to trunk.
Thanks,
Kyrill

gcc/ChangeLog:

        * config/aarch64/aarch64-simd.md (aarch64_<sur>abal<mode>): Rename to...
        (aarch64_<su>abal<mode>): ... This.  Use RTL codes instead of unspec.
        (<sur>sadv16qi): Rename to...
        (<su>sadv16qi): ... This.  Adjust for the above.
        * config/aarch64/aarch64-sve.md (<sur>sad<vsi2qi>): Rename to...
        (<su>sad<vsi2qi>): ... This.  Adjust for the above.
        * config/aarch64/aarch64.md (UNSPEC_SABAL, UNSPEC_UABAL): Delete.
        * config/aarch64/iterators.md (ABAL): Delete.
        (sur): Remove handling of UNSPEC_SABAL and UNSPEC_UABAL.

Attachment: abal.patch
Description: abal.patch

Reply via email to