]> git.ipfire.org Git - thirdparty/gcc.git/commit
Match: Add widen_mul based unsigned SAT_MUL after gimple_convert refactor
authorPan Li <pan2.li@intel.com>
Sat, 11 Oct 2025 15:12:59 +0000 (23:12 +0800)
committerPan Li <pan2.li@intel.com>
Mon, 13 Oct 2025 13:30:59 +0000 (21:30 +0800)
commit51b76ec931c8bbd388a7d7fa706df8d1d6ce0829
tree4dc4659c8d09cd99238c11fb9ce1434c46c7c551
parent7dbb61de21e5576f876c5b8fcde39def7d2b2b13
Match: Add widen_mul based unsigned SAT_MUL after gimple_convert refactor

The build_and_insert_cast refactored to go the gimple_convert way, to
take care of the widen_mul.  Thus, the gimple layout from uint64_t
widen_mul to uint128_t doesn't need additional cast like other types
(uint32_t, uint16_t, uint8_t) widen to uint128_t for mul.  Thus, add
the simplifed pattern match for such forms of unsigned SAT_MUL.

The below test suites are passed for this patch:
1. The rv64gcv fully regression tests.
2. Fix rv64gcv SAT_MUL test failure of optimized .SAT_MUL check.
3. The x86 bootstrap tests.
4. The x86 fully regression tests.

gcc/ChangeLog:

* match.pd: Add simplifed pattern for widen_mul based unsigned
SAT_MUL.

Signed-off-by: Pan Li <pan2.li@intel.com>
gcc/match.pd