Disable usage of fused multiply-add instructions for JSC with compiler flag
Created attachment 338641 [details] Patch
Comment on attachment 338641 [details] Patch Can you limit the scope of this change? If fused-multiply-add works well, we do not need this flag.
Fused multiply-add gives a precision boost that results in double math returning a result that does not match bit-for-bit what you would have gotten without the fusion. Based on this, I think it might be a good idea to disable it for all of JSC. I would definitely want to disable it if it’s free to disable it.
(In reply to Filip Pizlo from comment #3) > Fused multiply-add gives a precision boost that results in double math > returning a result that does not match bit-for-bit what you would have > gotten without the fusion. Based on this, I think it might be a good idea to > disable it for all of JSC. > > I would definitely want to disable it if it’s free to disable it. Interesting. After considering about this, I think, in JSC, we do not have performance sensitive FMAs (I believe). So disabling is OK. I'm a bit worried about disabling this in the entire WebKit tree due to, 1. performance reason. If we have a non-result-sensitive performance-sensitive FMAs, this can affect on that (like, implementing some graphic filters) 2. coordination with third party libraries. what do you think of?
(In reply to Yusuke Suzuki from comment #4) > (In reply to Filip Pizlo from comment #3) > > Fused multiply-add gives a precision boost that results in double math > > returning a result that does not match bit-for-bit what you would have > > gotten without the fusion. Based on this, I think it might be a good idea to > > disable it for all of JSC. > > > > I would definitely want to disable it if it’s free to disable it. > > Interesting. After considering about this, I think, in JSC, we do not have > performance sensitive FMAs (I believe). So disabling is OK. > I'm a bit worried about disabling this in the entire WebKit tree due to, > > 1. performance reason. If we have a non-result-sensitive > performance-sensitive FMAs, this can affect on that (like, implementing some > graphic filters) > 2. coordination with third party libraries. > > what do you think of? Sounds like a good reason to only disable fused fma in JSC and leave it elsewhere.
The patch was already reviewed, is there anything for me left to do?
Comment on attachment 338641 [details] Patch Clearing flags on attachment: 338641 Committed r231301: <https://trac.webkit.org/changeset/231301>
All reviewed patches have been landed. Closing bug.
<rdar://problem/39938586>