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