x86: adjust 4-XMM-register-group related warning
Drop "second": For one there's no other source register (the other source operand is in memory), and in Intel syntax such numbering would also be wrong. Take the opportunity and also - properly place declarations ahead of statements - use %u format for unsigned int arguments - fix indentation
This commit is contained in:
parent
2907c2f555
commit
a477a8c4f4
|
@ -1,3 +1,11 @@
|
|||
2018-03-08 Jan Beulich <jbeulich@suse.com>
|
||||
|
||||
* config/tc-i386.c (process_operands): Access operands only
|
||||
after operand count assertion. Sanitize warning text. Fix
|
||||
indentation.
|
||||
* testsuite/gas/i386/avx512_4fmaps-warn.l,
|
||||
gas/i386/x86-64-avx512_4fmaps-warn.l: Adjust expectations.
|
||||
|
||||
2018-03-08 Jan Beulich <jbeulich@suse.com>
|
||||
|
||||
* testsuite/gas/i386/x86-64-movd.s: Drop bogus vmovd memory forms.
|
||||
|
|
|
@ -6414,20 +6414,21 @@ duplicate:
|
|||
}
|
||||
else if (i.tm.opcode_modifier.implicitquadgroup)
|
||||
{
|
||||
unsigned int regnum, first_reg_in_group, last_reg_in_group;
|
||||
|
||||
/* The second operand must be {x,y,z}mmN, where N is a multiple of 4. */
|
||||
gas_assert (i.operands >= 2 && i.types[1].bitfield.regsimd);
|
||||
unsigned int regnum = register_number (i.op[1].regs);
|
||||
unsigned int first_reg_in_group = regnum & ~3;
|
||||
unsigned int last_reg_in_group = first_reg_in_group + 3;
|
||||
if (regnum != first_reg_in_group) {
|
||||
as_warn (_("the second source register `%s%s' implicitly denotes"
|
||||
" `%s%.3s%d' to `%s%.3s%d' source group in `%s'"),
|
||||
register_prefix, i.op[1].regs->reg_name,
|
||||
register_prefix, i.op[1].regs->reg_name, first_reg_in_group,
|
||||
register_prefix, i.op[1].regs->reg_name, last_reg_in_group,
|
||||
i.tm.name);
|
||||
}
|
||||
}
|
||||
regnum = register_number (i.op[1].regs);
|
||||
first_reg_in_group = regnum & ~3;
|
||||
last_reg_in_group = first_reg_in_group + 3;
|
||||
if (regnum != first_reg_in_group)
|
||||
as_warn (_("source register `%s%s' implicitly denotes"
|
||||
" `%s%.3s%u' to `%s%.3s%u' source group in `%s'"),
|
||||
register_prefix, i.op[1].regs->reg_name,
|
||||
register_prefix, i.op[1].regs->reg_name, first_reg_in_group,
|
||||
register_prefix, i.op[1].regs->reg_name, last_reg_in_group,
|
||||
i.tm.name);
|
||||
}
|
||||
else if (i.tm.opcode_modifier.regkludge)
|
||||
{
|
||||
/* The imul $imm, %reg instruction is converted into
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
.*: Assembler messages:
|
||||
.*:5: Warning: the second source register `%zmm1' implicitly denotes `%zmm0' to `%zmm3' source group in `v4fmaddps'
|
||||
.*:6: Warning: the second source register `%zmm2' implicitly denotes `%zmm0' to `%zmm3' source group in `v4fmaddps'
|
||||
.*:7: Warning: the second source register `%zmm3' implicitly denotes `%zmm0' to `%zmm3' source group in `v4fmaddps'
|
||||
.*:10: Warning: the second source register `%zmm1' implicitly denotes `%zmm0' to `%zmm3' source group in `v4fnmaddps'
|
||||
.*:11: Warning: the second source register `%zmm2' implicitly denotes `%zmm0' to `%zmm3' source group in `v4fnmaddps'
|
||||
.*:12: Warning: the second source register `%zmm3' implicitly denotes `%zmm0' to `%zmm3' source group in `v4fnmaddps'
|
||||
.*:15: Warning: the second source register `%xmm1' implicitly denotes `%xmm0' to `%xmm3' source group in `v4fmaddss'
|
||||
.*:16: Warning: the second source register `%xmm2' implicitly denotes `%xmm0' to `%xmm3' source group in `v4fmaddss'
|
||||
.*:17: Warning: the second source register `%xmm3' implicitly denotes `%xmm0' to `%xmm3' source group in `v4fmaddss'
|
||||
.*:20: Warning: the second source register `%xmm1' implicitly denotes `%xmm0' to `%xmm3' source group in `v4fnmaddss'
|
||||
.*:21: Warning: the second source register `%xmm2' implicitly denotes `%xmm0' to `%xmm3' source group in `v4fnmaddss'
|
||||
.*:22: Warning: the second source register `%xmm3' implicitly denotes `%xmm0' to `%xmm3' source group in `v4fnmaddss'
|
||||
.*:5: Warning: source register `%zmm1' implicitly denotes `%zmm0' to `%zmm3' source group in `v4fmaddps'
|
||||
.*:6: Warning: source register `%zmm2' implicitly denotes `%zmm0' to `%zmm3' source group in `v4fmaddps'
|
||||
.*:7: Warning: source register `%zmm3' implicitly denotes `%zmm0' to `%zmm3' source group in `v4fmaddps'
|
||||
.*:10: Warning: source register `%zmm1' implicitly denotes `%zmm0' to `%zmm3' source group in `v4fnmaddps'
|
||||
.*:11: Warning: source register `%zmm2' implicitly denotes `%zmm0' to `%zmm3' source group in `v4fnmaddps'
|
||||
.*:12: Warning: source register `%zmm3' implicitly denotes `%zmm0' to `%zmm3' source group in `v4fnmaddps'
|
||||
.*:15: Warning: source register `%xmm1' implicitly denotes `%xmm0' to `%xmm3' source group in `v4fmaddss'
|
||||
.*:16: Warning: source register `%xmm2' implicitly denotes `%xmm0' to `%xmm3' source group in `v4fmaddss'
|
||||
.*:17: Warning: source register `%xmm3' implicitly denotes `%xmm0' to `%xmm3' source group in `v4fmaddss'
|
||||
.*:20: Warning: source register `%xmm1' implicitly denotes `%xmm0' to `%xmm3' source group in `v4fnmaddss'
|
||||
.*:21: Warning: source register `%xmm2' implicitly denotes `%xmm0' to `%xmm3' source group in `v4fnmaddss'
|
||||
.*:22: Warning: source register `%xmm3' implicitly denotes `%xmm0' to `%xmm3' source group in `v4fnmaddss'
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
.*: Assembler messages:
|
||||
.*:5: Warning: the second source register `%zmm1' implicitly denotes `%zmm0' to `%zmm3' source group in `v4fmaddps'
|
||||
.*:6: Warning: the second source register `%zmm2' implicitly denotes `%zmm0' to `%zmm3' source group in `v4fmaddps'
|
||||
.*:7: Warning: the second source register `%zmm3' implicitly denotes `%zmm0' to `%zmm3' source group in `v4fmaddps'
|
||||
.*:10: Warning: the second source register `%zmm1' implicitly denotes `%zmm0' to `%zmm3' source group in `v4fnmaddps'
|
||||
.*:11: Warning: the second source register `%zmm2' implicitly denotes `%zmm0' to `%zmm3' source group in `v4fnmaddps'
|
||||
.*:12: Warning: the second source register `%zmm3' implicitly denotes `%zmm0' to `%zmm3' source group in `v4fnmaddps'
|
||||
.*:5: Warning: source register `%zmm1' implicitly denotes `%zmm0' to `%zmm3' source group in `v4fmaddps'
|
||||
.*:6: Warning: source register `%zmm2' implicitly denotes `%zmm0' to `%zmm3' source group in `v4fmaddps'
|
||||
.*:7: Warning: source register `%zmm3' implicitly denotes `%zmm0' to `%zmm3' source group in `v4fmaddps'
|
||||
.*:10: Warning: source register `%zmm1' implicitly denotes `%zmm0' to `%zmm3' source group in `v4fnmaddps'
|
||||
.*:11: Warning: source register `%zmm2' implicitly denotes `%zmm0' to `%zmm3' source group in `v4fnmaddps'
|
||||
.*:12: Warning: source register `%zmm3' implicitly denotes `%zmm0' to `%zmm3' source group in `v4fnmaddps'
|
||||
|
|
Loading…
Reference in New Issue