From: Pan Li <pan2...@intel.com>

The widen mul has different source type for differnt machines,
like rv32 or rv64.  The SAT_MUL pattern doesn't works well for
backend like rv32 in previous, thus we would like to refine it
by BITS_PER_WORD for precision check.

The below test suites are passed for this patch:
1. The rv32gcv fully regression tests.
2. The rv64gcv fully regression tests.
3. The x86 bootstrap tests.
4. The x86 fully regression tests.

Pan Li (2):
  Match: Leverage BITS_PER_WORD for unsigned SAT_MUL pattern
  RISC-V: Add testcase for rv32 SAT_MUL from uint64

 gcc/match.pd                                     |  3 +--
 .../riscv/sat/sat_u_mul-1-u16-from-u64.c         | 11 +++++++++++
 .../riscv/sat/sat_u_mul-1-u32-from-u64.c         | 11 +++++++++++
 .../riscv/sat/sat_u_mul-1-u8-from-u64.c          | 11 +++++++++++
 .../riscv/sat/sat_u_mul-run-1-u16-from-u64.c     | 16 ++++++++++++++++
 .../riscv/sat/sat_u_mul-run-1-u32-from-u64.c     | 16 ++++++++++++++++
 .../riscv/sat/sat_u_mul-run-1-u8-from-u64.c      | 16 ++++++++++++++++
 7 files changed, 82 insertions(+), 2 deletions(-)
 create mode 100644 
gcc/testsuite/gcc.target/riscv/sat/sat_u_mul-1-u16-from-u64.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/sat/sat_u_mul-1-u32-from-u64.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/sat/sat_u_mul-1-u8-from-u64.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/sat/sat_u_mul-run-1-u16-from-u64.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/sat/sat_u_mul-run-1-u32-from-u64.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/sat/sat_u_mul-run-1-u8-from-u64.c

-- 
2.43.0

Reply via email to