One of the transforms using nsz is (X < 0.0) ? -X : X
to fabs(X)
. If X
is -0.0
then the original evaluates to X == -0.0
. With nsz
it is allowed to evaluate to 0.0
instead. Having nsz on the fcmp doesn’t help, as it will still evaluate to false even if we flip the signs of the zero. Having nsz on the fneg doesn’t help either, because it’s the not-taken value. So I think this transform requires nsz on select to work.
1 Like