1 |
On Mon, Feb 25, 2013 at 5:11 PM, Diego Elio Pettenò |
2 |
<flameeyes@×××××××××.eu> wrote: |
3 |
> Of course dealing with flags _per functions_ is not possible, as flags |
4 |
> apply at the very least to a translation unit... |
5 |
|
6 |
A translation unit can contain a single function, or a bunch of |
7 |
functions that you want to apply the flag to. |
8 |
|
9 |
> |
10 |
>> If you're just using it to calculate how many pixels down it is, it |
11 |
>> certainly shouldn't be that inaccurate. |
12 |
> |
13 |
> But you're not just calculating how many pixels down to draw it... |
14 |
> you're calculating a bunch of parameters, including shades, shadows, |
15 |
> sub-pixel positioning, .... |
16 |
|
17 |
Maybe it wasn't a great example - I wasn't the one who first brought |
18 |
it up in the thread. However, if the optimization were appropriate to |
19 |
apply to some things and not to others, then you'd only apply it to |
20 |
those things. |
21 |
|
22 |
> But if you add 1% error to hundreds of small calculations ... well, you |
23 |
> should get the point, don't you? |
24 |
|
25 |
If you add a randomly distributed 1% error to hundreds of small |
26 |
calculations you end up with a 1% error in the result, roughly |
27 |
speaking. The exact impact can in fact be calculated using |
28 |
propagation of error. Of course, if -ffast-math introduces a |
29 |
non-uniform bias and the calculations are sensitive to that then that |
30 |
could carry things further off. |
31 |
|
32 |
> |
33 |
> There are decent use cases for -ffast-math... none of which involve a |
34 |
> desktop system, in my opinion. |
35 |
|
36 |
Likely not. In which case, we won't have any blockers reported, will we? |
37 |
|
38 |
My point was just that: |
39 |
1. No, the fact that entire packages fail to build/operate using |
40 |
-ffast-math is not a valid bug. |
41 |
2. If individual packages DO carefully use -ffast-math and that |
42 |
breaks, it might be a valid bug, and may or may not be a blocker |
43 |
depending on real-world impact. That doesn't mean users sticking it |
44 |
in their CFLAGS - it means the ebuild or upstream build system |
45 |
carefully applied the flag appropriately. |
46 |
|
47 |
Whether any instances of #2 exist, I cannot say. |
48 |
|
49 |
Rich |