Hi all, This patch series adds support for 2 new cases of unsigned scalar saturating arithmetic (one addition, one subtraction). This results in more valid patterns being recognised, which results in a call to .SAT_ADD or .SAT_SUB where relevant.
Regression tests for aarch64-none-linux-gnu all pass with no failures. v2 changes: - add new tests for both patterns (these will fail on targets which don't implement the standard insn names for IFN_SAT_ADD and IFN_SAT_SUB; another patch series adds support for this in aarch64). - minor adjustment to the constraints on the match statement for usadd_left_part_1. Many thanks, Akram --- Akram Ahmad (2): Match: support new case of unsigned scalar SAT_SUB Match: make SAT_ADD case 7 commutative gcc/match.pd | 12 +++++++++-- .../gcc.dg/tree-ssa/sat-u-add-match-1-u16.c | 21 +++++++++++++++++++ .../gcc.dg/tree-ssa/sat-u-add-match-1-u32.c | 21 +++++++++++++++++++ .../gcc.dg/tree-ssa/sat-u-add-match-1-u64.c | 21 +++++++++++++++++++ .../gcc.dg/tree-ssa/sat-u-add-match-1-u8.c | 21 +++++++++++++++++++ .../gcc.dg/tree-ssa/sat-u-sub-match-1-u16.c | 14 +++++++++++++ .../gcc.dg/tree-ssa/sat-u-sub-match-1-u32.c | 14 +++++++++++++ .../gcc.dg/tree-ssa/sat-u-sub-match-1-u64.c | 14 +++++++++++++ .../gcc.dg/tree-ssa/sat-u-sub-match-1-u8.c | 14 +++++++++++++ 9 files changed, 150 insertions(+), 2 deletions(-) create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/sat-u-add-match-1-u16.c create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/sat-u-add-match-1-u32.c create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/sat-u-add-match-1-u64.c create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/sat-u-add-match-1-u8.c create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/sat-u-sub-match-1-u16.c create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/sat-u-sub-match-1-u32.c create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/sat-u-sub-match-1-u64.c create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/sat-u-sub-match-1-u8.c -- 2.34.1