[PATCH 0/3] aarch64: Implement uaddc/usubc expansion and carry/borrow round-trip cleanup
Andrew Pinski
andrew.pinski@oss.qualcomm.com
Wed Mar 18 00:54:32 GMT 2026
On Thu, Mar 12, 2026 at 2:56 AM Muhammad Kamran <muhammad.kamran@arm.com> wrote:
>
> The patch series adds uaddc<m>5 and usubc<m>5 expansion patterns.
Note I filed https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122525 for
implmenting of uaddc5 and usubc5 optab, a few months ago so it would
be useful to add the PR # to patches.
Thanks,
Andrew
>
> It also adds post combine no-op split patterns for chained carry
> operations by deleting the rewrite to C flag.
>
> The uaddc<mode>5 triggered a bug in add<mode>3_carryinC when the
> mode is SImode. The first patch contains fixes it.
>
> Muhammad Kamran (3):
> aarch64: Fix crash in add<mode>3_carryinC due to wide_int precision
> mismatch
> aarch64: add uaddc<m>5 expansion pattern to machine description
> aarch64: add usubc<m>5 expansion pattern to machine description
>
> gcc/config/aarch64/aarch64.md | 106 ++++++++++++++++++++-
> gcc/testsuite/gcc.target/aarch64/uaddcm5.c | 26 +++++
> gcc/testsuite/gcc.target/aarch64/usubcm5.c | 27 ++++++
> 3 files changed, 157 insertions(+), 2 deletions(-)
> create mode 100644 gcc/testsuite/gcc.target/aarch64/uaddcm5.c
> create mode 100644 gcc/testsuite/gcc.target/aarch64/usubcm5.c
>
> --
> 2.43.0
>
More information about the Gcc-patches
mailing list