RESOLVED FIXED 184909
Disable usage of fused multiply-add instructions for JSC with compiler flag
https://bugs.webkit.org/show_bug.cgi?id=184909
Summary Disable usage of fused multiply-add instructions for JSC with compiler flag
Dominik Inführ
Reported 2018-04-24 00:46:25 PDT
Disable usage of fused multiply-add instructions for JSC with compiler flag
Attachments
Patch (1.66 KB, patch)
2018-04-24 00:59 PDT, Dominik Inführ
no flags
Dominik Inführ
Comment 1 2018-04-24 00:59:09 PDT
Yusuke Suzuki
Comment 2 2018-04-26 13:08:03 PDT
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.
Filip Pizlo
Comment 3 2018-04-26 13:14:44 PDT
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.
Yusuke Suzuki
Comment 4 2018-04-26 13:53:17 PDT
(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?
Filip Pizlo
Comment 5 2018-04-26 14:16:26 PDT
(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.
Dominik Inführ
Comment 6 2018-05-03 02:47:25 PDT
The patch was already reviewed, is there anything for me left to do?
WebKit Commit Bot
Comment 7 2018-05-03 04:58:55 PDT
Comment on attachment 338641 [details] Patch Clearing flags on attachment: 338641 Committed r231301: <https://trac.webkit.org/changeset/231301>
WebKit Commit Bot
Comment 8 2018-05-03 04:58:57 PDT
All reviewed patches have been landed. Closing bug.
Radar WebKit Bug Importer
Comment 9 2018-05-03 04:59:20 PDT
Note You need to log in before you can comment on or make changes to this bug.