On 6/24/2021 10:30 AM, Alan Kelly wrote:
Hi,

Sorry for the late reply, busy oncall week. Thanks for your responses. I
have looked at the code for cpuflags and what you suggested makes sense. I
just have a question about naming. EXTERNAL_AVX2_FAST is already used in
many places - it checks whether the flag AV_CPU_FLAG_AVXSLOW is set so I
can't use this as it would change the meaning of it. Could I define a flag
like for AV_CPU_FLAG_CMOV? AV_CPU_FLAG_FAST_GATHER or similar? Or could you
please suggest a better solution.

Add a new AV_CPU_FLAG_AVX2SLOW public define (use the available value 0x2000000), then maybe add an internal EXTERNAL_AVX2_FAST_GATHER() helper macro that expands to CPUEXT_SUFFIX_FAST(flags, _EXTERNAL, AVX2).

The AV_CPU_FLAG_AVX2SLOW flag should be set for all cpus currently being flagged as AV_CPU_FLAG_AVXSLOW, plus Haswell and all AMD cpus prior to Zen 3.

Also, please don't top post when replying to an email.


Thanks

On Mon, Jun 14, 2021 at 2:17 PM James Almer <jamr...@gmail.com> wrote:

On 6/14/2021 8:53 AM, Ronald S. Bultje wrote:
Hi Alan,

On Mon, Jun 14, 2021 at 7:20 AM Alan Kelly <
alankelly-at-google....@ffmpeg.org> wrote:

Broadwell and later have fast gather instructions.
---
   This is so that the avx2 version of ff_hscale8to15X which uses gather
   instructions is only selected on machines where it will actually be
   faster.


We've in the past typically done this with a bit in the cpuflags return
value. Can this be added there instead of being its own function?

Also, what is the cycle count of ssse3/avx2 implementation for this
specific function on Haswell? It would be good to note that in the
respective patch so that we understand why the check was added.

Between 9 and 12 on Haswell, 5 to 7 on Broadwell, and about 2 to 5 on
Skylake and newer, acording to Agner's pdf if i'm reading it right. It's
also slow on AMD before Zen 3.

And yes, this should if anything be a new cpu flag and not a new function.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".


_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to