Where a processor has not been targeted for optimization, the slow
generic code path may be selected by default. Another code path
could perform much better, even if not specifically optimized for
this processor.
Changes to enable this:
- Always call bli_cpuid_query_id() to get actual hardware info, even
if the user is overriding the choice at build time or by setting
BLIS_ARCH_TYPE.
- Use bli_cpuid_query_id() to gather availability of AVX2 and AVX512
instructions.
- Include AVX-512 fallback test to select zen4 code path on future
AMD processors (that don't yet have a specific codepath).
- Also use AVX-512 and AVX2 tests on Intel processors to select
zen4 or zen3 code paths over the generic code path. If both zen
and skx/haswell code paths are enabled, the zen code path will be
given preference as zen paths have additional optimizations that
should, in general, benefit Intel processors too.
AMD-Internal: [CPUPL-3031]
Change-Id: Ib7d0ebdb02fec872f9443a1d20070026f2020516