Not that you guys need more options, but if you put the parameters to
the add in a volatile variable, that should prevent movement, right?

You could also just create a function for doing the add and that
shouldn't get reordered either.

  Nate

> Bleah, this is ugly!  Reading that one bug report Gabe linked to, it sounds
> like -frounding-math is supposed to make this work, but it's not correctly
> implemented, and as a result there's really no straightforward way to make
> this work.  I think that should be documented somewhere so that one day, if
> -frounding-math does get implemented properly, we can start relying on it
> and not on whatever hack we come up with.
>
> Another idea, assuming m5_fesetround() isn't inlined, would be to have it
> accept a double argument that it just passes back unmodified.  Then you
> could do something like:
>
> Frs1s = m5_fesetround(newrnd, Frs1s);
> Frds = Frs1s + Frs2s;
> Frds = m5_fesetround(oldrnd, Frds);
>
> Would that work?
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to