Commit 548d0ee6 authored by Jan Beulich's avatar Jan Beulich Committed by Jan Beulich

x86: simplify result processing of cpu_flags_match()

Make more obvious what the success and failure paths are, and in
particular that what used to be at the "skip" label can't be reached
by what used to be straight line code.
parent 929f69fa
2018-03-08 Jan Beulich <jbeulich@suse.com>
* config/tc-i386.c (parse_insn): Move success return up. Combine
failure returns.
2018-03-08 Jan Beulich <jbeulich@suse.com>
* config/tc-i386.c (cpu_flags_match): Add GFNI check to AVX
......
......@@ -4487,34 +4487,26 @@ check_suffix:
{
supported |= cpu_flags_match (t);
if (supported == CPU_FLAGS_PERFECT_MATCH)
goto skip;
}
{
if (!cpu_arch_flags.bitfield.cpui386 && (flag_code != CODE_16BIT))
as_warn (_("use .code16 to ensure correct addressing mode"));
if (!(supported & CPU_FLAGS_64BIT_MATCH))
{
as_bad (flag_code == CODE_64BIT
? _("`%s' is not supported in 64-bit mode")
: _("`%s' is only supported in 64-bit mode"),
current_templates->start->name);
return NULL;
}
if (supported != CPU_FLAGS_PERFECT_MATCH)
{
as_bad (_("`%s' is not supported on `%s%s'"),
current_templates->start->name,
cpu_arch_name ? cpu_arch_name : default_arch,
cpu_sub_arch_name ? cpu_sub_arch_name : "");
return NULL;
return l;
}
}
skip:
if (!cpu_arch_flags.bitfield.cpui386
&& (flag_code != CODE_16BIT))
{
as_warn (_("use .code16 to ensure correct addressing mode"));
}
if (!(supported & CPU_FLAGS_64BIT_MATCH))
as_bad (flag_code == CODE_64BIT
? _("`%s' is not supported in 64-bit mode")
: _("`%s' is only supported in 64-bit mode"),
current_templates->start->name);
else
as_bad (_("`%s' is not supported on `%s%s'"),
current_templates->start->name,
cpu_arch_name ? cpu_arch_name : default_arch,
cpu_sub_arch_name ? cpu_sub_arch_name : "");
return l;
return NULL;
}
static char *
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment