[Webkit-unassigned] [Bug 75528] Optimize the multiply-add in Biquad.cpp::process

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Mar 22 02:41:26 PDT 2012


https://bugs.webkit.org/show_bug.cgi?id=75528





--- Comment #51 from xingnan.wang at intel.com  2012-03-22 02:41:26 PST ---
(From update of attachment 132760)
View in context: https://bugs.webkit.org/attachment.cgi?id=132760&action=review

>>>> Source/WebCore/platform/audio/Biquad.cpp:126
>>>> +        mm7 = _mm_load_ss(sourceP); // Load next x value, mm7 = (0, 0, 0, x)
>>> 
>>> We load mm7 from memory here, but use it in the very next instruction.  Could this be moved further up to lessen any pipeline issues?  We're not using the value of mm7 until line 127.
>> 
>> There is little difference of performance after moving this line up, I think it is not in the key path of the pipeline.
> 
> Ok.  I'm happy with this patch as it is now.  Looks good.
> 
> I do wonder, though, if you moved load_ss to be after line 124 and changed line 125 to do the shuffle (removing the shuffle at line 129) would improve performance.  Or maybe move the (new) shuffle down a few lines since we don't need mm6 until line 130.  Perhaps these changes will help the pipeline.
> 
> You don't have to do this experiment if you don't want to.  I'm just kind of curious.  Otherwise, the patch looks good to me and is ready to go.

It does not matter, I did it. But it seems it does not work, a tiny slowing down. Hard to explain, we cannot exactly schedule the pipeline by intrinsics as the way by assembly, I guess.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list