On Tue, Mar 10, 2009 at 9:45 AM, Sylvain Pion <sylvain.p...@sophia.inria.fr> wrote: > - Show quoted text - > Joseph S. Myers wrote: >> >> On Mon, 9 Mar 2009, Sylvain Pion wrote: >> >>> Later, 1) started to be taken care of, and it was unfortunately >>> added under the control of the same -frounding-math option. >>> Which now, makes it harder to come back, since we want different >>> defaults for these two aspects. >>> >>> I have already mentioned in a bugzilla PR that it could be nice >>> to have 2 options, but IIRC, I did not get any reply to this. >> >> Patches to split the option into two *clearly-defined* options are more >> likely to be accepted than changing the defaults, given that the fast-math >> and related flags have been split more than once before. > > My goal is to have interval arithmetic work with the default flags, > without more workarounds in the code (and as efficiently as possible). > So, I'm not going to work on anything if it means only splitting it > in separate flags, if we don't agree a priori on changing the default > for at least one of those sub flags after that. > That would be the opposite of progress for my usage, and so I would > not volunteer. > > > Currently, typical interval arithmetic code has to work around the fact that > there is no good way to stop constant propagation reliably (so it's using > some volatile or asm, or a big hammer like rounding-math, all these > solutions > having a performance cost).
It is not clear that constant propagation is the evil that needs to be stopped at all cost. Remember, there is lot under the heading 'constant propagation'. > It would be nice to improve this, but a global flag, be it dedicated, > strikes > me as a clearly suboptimal solution here anyway (and, as has been mentioned, > it causes problems with code which really needs cprop in other places). > For IA, having a __builtin_stop_constant_propagation(expression) would be > OK, I'm not too sure you really want this, or anybody serious about scientific computations and performance really wants that. And how would you reconcile that with constexpr? -- Gaby