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

Reply via email to