[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: sse{2,3,4.2}, altivec, neon, ...

On Wed, Aug 09, 2017 at 05:31:08PM -0400, A. Maitland Bottoms wrote:
> Let me just mention in this thread the volk package.  Vector Optimized
> Library of Kernels implements a high level set of DSP operations, with
> fast implementations chosen at runtime depending on available CPU SIMD
> instructions.
> There is always a generic fallback implementation that runs on any CPU.
> So a tool looking for special instructions will certainly find them in
> volk.

Yeah, that's why the high number of false positives.  I expect the vast
majority of ISA extension users to implement such a fallback.  There are,
though, some quite prominent exceptions like chromium-browser on i386
(sse2) or rustc compiled software (new versions of firefox) on armhf (neon)
that have a hard dependency.

Thus, it'd be nice to have a way to automatically detect such cases, but I
don't know of a anything better than testing manually.  Which is extra unfun
as any pre-sse2 (or pre-sse3) machine is crummy to the extreme, making
unaccelerated qemu significantly faster than real silicon.  And neither is
fast enough to not make such testing a pain in the posterior.

⣾⠁⢰⠒⠀⣿⡁ James Damore is a hero.  Even mild criticism of bigots these days
⢿⡄⠘⠷⠚⠋⠀ comes at great personal risk.

Reply to: