x86: change AVX512VL handling in cpu_flags_match()
In order to add an AVX512F counterpart to the present AVX checking, it is better to move the AVX512VL check out of the conditional it's currently in.
This commit is contained in:
parent
db12e14ea0
commit
ab592e757e
|
@ -1,3 +1,7 @@
|
||||||
|
2018-03-08 Jan Beulich <jbeulich@suse.com>
|
||||||
|
|
||||||
|
* config/tc-i386.c (cpu_flags_match): Move AVX512VL check ahead.
|
||||||
|
|
||||||
2018-03-08 Jan Beulich <jbeulich@suse.com>
|
2018-03-08 Jan Beulich <jbeulich@suse.com>
|
||||||
|
|
||||||
* config/tc-i386.c (CPU_FLAGS_32BIT_MATCH): Delete.
|
* config/tc-i386.c (CPU_FLAGS_32BIT_MATCH): Delete.
|
||||||
|
|
|
@ -1712,6 +1712,11 @@ cpu_flags_match (const insn_template *t)
|
||||||
/* This instruction is available only on some archs. */
|
/* This instruction is available only on some archs. */
|
||||||
i386_cpu_flags cpu = cpu_arch_flags;
|
i386_cpu_flags cpu = cpu_arch_flags;
|
||||||
|
|
||||||
|
/* AVX512VL is no standalone feature - match it and then strip it. */
|
||||||
|
if (x.bitfield.cpuavx512vl && !cpu.bitfield.cpuavx512vl)
|
||||||
|
return match;
|
||||||
|
x.bitfield.cpuavx512vl = 0;
|
||||||
|
|
||||||
cpu = cpu_flags_and (x, cpu);
|
cpu = cpu_flags_and (x, cpu);
|
||||||
if (!cpu_flags_all_zero (&cpu))
|
if (!cpu_flags_all_zero (&cpu))
|
||||||
{
|
{
|
||||||
|
@ -1724,17 +1729,6 @@ cpu_flags_match (const insn_template *t)
|
||||||
&& (!x.bitfield.cpupclmul || cpu.bitfield.cpupclmul))
|
&& (!x.bitfield.cpupclmul || cpu.bitfield.cpupclmul))
|
||||||
match |= CPU_FLAGS_ARCH_MATCH;
|
match |= CPU_FLAGS_ARCH_MATCH;
|
||||||
}
|
}
|
||||||
else if (x.bitfield.cpuavx512vl)
|
|
||||||
{
|
|
||||||
/* Match AVX512VL. */
|
|
||||||
if (cpu.bitfield.cpuavx512vl)
|
|
||||||
{
|
|
||||||
/* Need another match. */
|
|
||||||
cpu.bitfield.cpuavx512vl = 0;
|
|
||||||
if (!cpu_flags_all_zero (&cpu))
|
|
||||||
match |= CPU_FLAGS_ARCH_MATCH;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
match |= CPU_FLAGS_ARCH_MATCH;
|
match |= CPU_FLAGS_ARCH_MATCH;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue