gnu/gcc/95540e74f33dad23ce29efd7dcade29fc7b2e7bf Match: Support unsigned scalar SAT_MUL form 14
This patch would like to try to match the the unsigned
SAT_MUL form 14, aka below
#define DEF_SAT_U_MUL_FMT_14(NT, WT) \
NT __attribute__((noinline)) \
sat_u_mul_##NT##_from_##WT##_fmt_14 (NT a, NT b) \
{ \
WT x = (WT)a * (WT)b; \
NT hi = x >> (sizeof(NT) * 8); \
NT lo = (NT)x; \
return hi == 0 ? lo : -1; \
}
while WT is uint128_t, uint64_t, uint32_t and uint16_t, and
NT is uint64_t, uint32_t, uint16_t or uint8_t.
gcc/ChangeLog:
* match-sat-alu.pd: Add pattern for unsigned scalar
SAT_MUL form 14.
Signed-off-by: Pan Li <pan2.li@intel.com>
1 file changed