[Webkit-unassigned] [Bug 98131] Add ARM-NEON support to VectorMath in WebAudio

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Oct 3 02:17:14 PDT 2012


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





--- Comment #6 from Gabor Rapcsanyi <rgabor at webkit.org>  2012-10-03 02:17:38 PST ---
(In reply to comment #4)
> (From update of attachment 166684 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=166684&action=review
> 
> Looks good.  Do you have any measurements to show what kind of improvements these instrinsics make?  I'm just curious.
> 

Yes I have made independent tests on the functions.
The vector size was 1000 with float numbers and I ran it 100000 times.
The average results:

vsma:
REF  elasped time is 3747 ms
NEON elasped time is 3642 ms

vsmul:
REF  elasped time is 2654 ms
NEON elasped time is 2375 ms

vadd:
REF  elasped time is 3457 ms
NEON elasped time is 2631 ms

vmul:
REF  elasped time is 3528 ms
NEON elasped time is 2635 ms

vmaxmgv:
REF  elasped time is 5203 ms
NEON elasped time is 2201 ms

vsvesq:
REF  elasped time is 2234 ms
NEON elasped time is 1840 ms

zvmul: (with vmla and vmls)
REF  elasped time is 8778 ms
NEON elasped time is 7963 ms

> > Source/WebCore/platform/audio/VectorMath.cpp:493
> > +            float32x4_t imagResult = vaddq_f32(vmulq_f32(real1, imag2), vmulq_f32(imag1, real2));
> 
> Can the vmla and vmls instrinsics be used here to speed things up slightly?

Yes you're right. We can use it here I will change this.

-- 
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