https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110748

--- Comment #12 from Vineet Gupta <vineetg at gcc dot gnu.org> ---
> void znd(double *d) { *d = -0.0; }
> void znf(float *f)  { *f = -0.0; }

The rough approach I'm thinking of is to 

(1) Introduce a constraint for -0.0 and perhaps a predicate as well for
"*movdf_hardfloat_rv64". That way df expander can elide the const pool.

(2) Add a combiner pattern to recog a set of -0.0 to bit set, which would be
automatically optim to BSETI if zbs is passed.

Reply via email to