Skip to content
Snippets Groups Projects

tools: Make ARM cpu flags imply relevant lower level flags

Merged Martin Storsjö requested to merge mstorsjo/dav1d:arm-cpumask into master
All threads resolved!

The --cpumask flag only takes one single flag name, one can't set a combination like neon+dotprod.

Therefore, apply the same pattern as for x86, by adding mask values that contain all the implied lower level flags.

This is somewhat complicated, as the set of features isn't entirely linear - in particular, SVE doesn't imply either dotprod or i8mm, and SVE2 only implies dotprod, but not i8mm.

This makes sure that dav1d --cpumask dotprod actually uses any SIMD at all, as it previously only set the dotprod flag but not neon, which essentially opted out from all SIMD.

CC @another - this is relevant for !1644 (merged).

CC @arpadpanyik-arm - are the feature implications correct? I.e. setting i8mm implies dotprod. But does having SVE imply having dotprod or i8mm? SVE2 obviously implies SVE, but I guessed that SVE2 also implies i8mm, is that right?

If these flags are more decoupled than this, we probably should improve the flags parser, to allow setting combinations of more than one flag.

Edited by Martin Storsjö

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
Please register or sign in to reply
Loading