On Fri, 20 Mar 2020 10:56:51 +0800 Yibo Cai <yibo....@arm.com> wrote: > I'm revisiting this old thread as I see some avx512 code merged recently[1]. > Code maintenance will be non-trivial if we want to cover more > hardware(sse/avx/avx512/neon/sve/...) and optimize more code in the future. > #ifdef is obviously no-go. > > So I'm selling my proposal again :) > - put all machine dependent code in one place (similar to what linux manages > various cpu arches) > - add runtime dispatcher to select best simd code snippet per running hardware > > I can provide a PR for community review first. Thoughts?
I would separate the two concerns. The effects of a runtime dispatcher can be negative for short runs (e.g. when decoding RLE-encoded Parquet data). Regards Antoine.