https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89929

--- Comment #9 from H.J. Lu <hjl.tools at gmail dot com> ---
(In reply to Martin Liška from comment #8)
> Ok, let me first focus on the functional part of the patch.
> If I'm correct feature_list in get_builtin_code_for_version function should
> be basically aligned with isa_names_table in fold_builtin_cpu. Difference is
> following:
> 
> +"avx5124fmaps"
> +"avx5124vnniw"
> +"avx512bitalg"
> +"avx512bw"
> +"avx512cd"
> +"avx512dq"
> +"avx512er"
> +"avx512ifma"
> +"avx512pf"
> +"avx512vbmi"
> +"avx512vbmi2"
> +"avx512vl"
> +"avx512vnni"
> +"avx512vpopcntdq"
> +"cmov"
> +"gfni"
> +"vpclmulqdq"
> 
> Adding that should be possible, but one needs to define a priorities of
> these as seen here:
> 
> ```
>   /* Priority of i386 features, greater value is higher priority.   This is
>      used to decide the order in which function dispatch must happen.  For
>      instance, a version specialized for SSE4.2 should be checked for
> dispatch
>      before a version for SSE3, as SSE4.2 implies SSE3.  */
>   enum feature_priority
> ```
> 
> H.J. can you please help me with the priorities?

What do we gain with these extra target attributes for function
multiversioning?

Reply via email to