Skip to content
Snippets Groups Projects

aarch64: Enable detection of SVE/SVE2 on Windows

Merged Martin Storsjö requested to merge mstorsjo/dav1d:win-detect-sve into master
1 unresolved thread
1 file
+ 15
2
Compare changes
  • Side-by-side
  • Inline
+ 15
2
@@ -159,8 +159,21 @@ COLD unsigned dav1d_get_cpu_flags_arm(void) {
if (IsProcessorFeaturePresent(PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE))
flags |= DAV1D_ARM_CPU_FLAG_DOTPROD;
#endif
/* No I8MM or SVE feature detection available on Windows at the time of
* writing. */
#ifdef PF_ARM_SVE_INSTRUCTIONS_AVAILABLE
if (IsProcessorFeaturePresent(PF_ARM_SVE_INSTRUCTIONS_AVAILABLE))
flags |= DAV1D_ARM_CPU_FLAG_SVE;
#endif
#ifdef PF_ARM_SVE2_INSTRUCTIONS_AVAILABLE
if (IsProcessorFeaturePresent(PF_ARM_SVE2_INSTRUCTIONS_AVAILABLE))
flags |= DAV1D_ARM_CPU_FLAG_SVE2;
#endif
#ifdef PF_ARM_SVE_I8MM_INSTRUCTIONS_AVAILABLE
/* There's no PF_* flag that indicates whether plain I8MM is available
* or not. But if SVE_I8MM is available, that also implies that
* regular I8MM is available. */
if (IsProcessorFeaturePresent(PF_ARM_SVE_I8MM_INSTRUCTIONS_AVAILABLE))
flags |= DAV1D_ARM_CPU_FLAG_I8MM;
#endif
return flags;
}
Loading