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?