mirror of
https://github.com/gcc-mirror/gcc.git
synced 2026-05-06 14:59:39 +02:00
Match: Remove unnecessary convert for unsigned SAT_MUL
After we convert from bit_op outer into its captures, some outer convert of unsigned SAT_MUL form 6 is unnecessary any more. Thus, remove it. Meanwhile, add c after outer bit_ior to make the test happy. gcc/ChangeLog: * match.pd: Remove unnecessary outer convert and add c for the outer bit_ior. Signed-off-by: Pan Li <pan2.li@intel.com>
This commit is contained in:
11
gcc/match.pd
11
gcc/match.pd
@@ -3778,12 +3778,11 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
|
||||
return lo | -!!hi;
|
||||
} while WT is uint128_t, uint64_t, uint32_t, uint16_t,
|
||||
and T is uint64_t, uint32_t, uint16_t, uint8_t. */
|
||||
(convert1?
|
||||
(bit_ior
|
||||
(convert?
|
||||
(negate
|
||||
(convert (ne (convert2? (rshift @3 INTEGER_CST@2)) integer_zerop))))
|
||||
(convert (usmul_widen_mult@3 @0 @1))))
|
||||
(bit_ior:c
|
||||
(convert?
|
||||
(negate
|
||||
(convert (ne (convert2? (rshift @3 INTEGER_CST@2)) integer_zerop))))
|
||||
(convert (usmul_widen_mult@3 @0 @1)))
|
||||
(if (types_match (type, @0, @1))
|
||||
(with
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user