The patch series adds uaddc<m>5 and usubc<m>5 expansion patterns.

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

Reply via email to