← Back to context

Comment by gameswithgo

8 years ago

In an LLVM context it also means you don't get runtime feature detection. You would need to build N dlls and then write code to load the proper one at runtime based on feature detection.

JITs could solve that problem, but few JITs currently do very much auto vectorization, because they don't have time.

> In an LLVM context it also means you don't get runtime feature detection. You would need to build N dlls and then write code to load the proper one at runtime based on feature detection.

Does LLVM not support GCC-style function multiversioning?

Intel has made quite a few contributions to Hotspot, including AVX support.

ART started supporting SIMD on Oreo, and it was further expanded on Pie. Naturally very few devices have gotten those improvements thanks the state of Android's updates.

So on Android's case Renderscript is still the best way for a JIT like approach for SIMD.

  • As far as I know the JVM will only auto-vectorize integers. Is there a way to tag a function such that you want floats vectorized too now?

    ART is a good point, compile on install lets you do this.