[Webkit-unassigned] [Bug 54456] Optimizing lightning filter to ARM-neon SIMD instruction set

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Mar 2 04:37:01 PST 2011


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





--- Comment #29 from Zoltan Herczeg <zherczeg at webkit.org>  2011-03-02 04:37:00 PST ---
This work is raised a lot of interesting questions, and it is time to summarize them.

Future work:
- All alignment macros should go to a separate wtf header file.
- Extend Qt build system with allowing compile files with different compiler options.

Note: neither of them is blocking this patch.

Other issues:
- Make the code easier to understand. Naturally, it is still required to know the SVG standard to understand it.
  - I have added several comments.
- Using intrinsics: unfortunately intrinsics offers to access only a small subset of Advanced SIMD features, and nothing more. This is a whole function, including a mixture of ARM, VFP and Advanced SIMD instructions. According to an ARM expert, the normal assembly code is the best soultion for this at the moment.
  - Moreover, at the moment the GCC support for intrinsics is poor. Maybe it will change in the future, but it is not recommended to use at the moment.
- Building for neon. To enable this code, you need to pass -mfpu=neon compiler option, and in that case, you cannot deploy the resulting binary on a non-neon system anyway, since the compiler itself will generate neon opcodes. Thus, the current approach is safe now.

If you have any further questions, please let me know.

Please don't misunderstand me, I don't say we could not improve the things in the future, just that this patch is ready for landing. This function could be made dynamically detectable, or speeding up even further with SMP, but this is not the task of this patch. It just aims to offer a performace increase with -mfpu=neon compiler option.

I soon upload the hopefully final patch.

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