DescriptionPort SkUtils opts to SkOpts.
With this new arrangement, the benefits of inlining sk_memset16/32 have changed.
On x86, they're not significantly different, except for small N<=10 where the inlined code is significantly slower.
On ARMv7 with NEON, our custom code is still significantly faster for N>10 (up to 2x faster). For small N<=10 inlining is still significantly faster.
On ARMv7 without NEON, our custom code is still ridiculously faster (up to 10x) than inlining for N>10, though for small N<=10 inlining is still a little faster.
We were not using the NEON memset16 and memset32 procs on ARMv8. At first blush, that seems to be an oversight, but if so it's an extremely lucky one. The ARMv8 code generation for our memset16/32 procs is total garbage, leaving those methods ~8x slower than just inlining the memset, using the compiler's autovectorization.
So, no need to inline any more on x86, and still inline for N<=10 on ARMv7. Always inline for ARMv8.
BUG=skia:4117
Committed: https://skia.googlesource.com/skia/+/7eb0945af254d376df11475150d184623104cf93
Patch Set 1 #Patch Set 2 : return inlining #Patch Set 3 : note #Patch Set 4 : always inline armv8 #
Total comments: 6
Patch Set 5 : derek #
Messages
Total messages: 16 (6 generated)
|