On 4/18/23 06:59, Aldy Hernandez via Gcc-patches wrote:
Negating dconst0 is getting pretty old, and we will keep adding copies
of the same idiom.  Fixed by adding a dconstm0 constant to go along
with dconst1, dconstm1, etc.

OK for trunk?

gcc/ChangeLog:

        * emit-rtl.cc (init_emit_once): Initialize dconstm0.
        * gimple-range-op.cc (class cfn_signbit): Remove dconstm0
        declaration.
        * range-op-float.cc (zero_range): Use dconstm0.
        (zero_to_inf_range): Same.
        * real.h (dconstm0): New.
        * value-range.cc (frange::flush_denormals_to_zero): Use dconstm0.
        (frange::set_zero): Do not declare dconstm0.
OK. I had a similar patch at a prior employer. We were covering powers of two from -4 .. 3 as dconsts for a few "unique" instructions we had.


Jeff

Reply via email to