mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-30 12:44:10 +08:00
x86: don't mistake ordinary immediates for SAE / rounding control
The way SAE templates are constructed was always puzzling me (including the need for separate templates in the first place), and expressing the extzra attribute via Imm8 actually has a bad effect: Ordinary immediates would also be accepted, leading to an extra byte being added after the instruction (i.e. generating bad code). Before re-working this (in particular to accept proper Intel syntax there), fix the immediate issue by adding the so far missing check.
This commit is contained in:
parent
bb80cf5b42
commit
2aaee75f81
@ -6287,6 +6287,11 @@ check_VecOperands (const insn_template *t)
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
else if (t->opcode_modifier.sae)
|
||||
{
|
||||
i.error = unsupported_syntax;
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* Check the special Imm4 cases; must be the first operand. */
|
||||
if (t->cpu_flags.bitfield.cpuxop && t->operands == 5)
|
||||
|
@ -218,6 +218,8 @@
|
||||
.*:313: Error: .*unsupported broadcast for `vcvtneps2bf16'
|
||||
.*:316: Error: .*unsupported broadcast for `vcvtneps2bf16'
|
||||
.*:319: Error: .*unsupported broadcast for `vcvtneps2bf16'
|
||||
.*:321: Error: .*vaddps.*
|
||||
.*:322: Error: .*vcmpss.*
|
||||
GAS LISTING .*
|
||||
|
||||
|
||||
@ -569,6 +571,7 @@ GAS LISTING .*
|
||||
[ ]*318 \?\?\?\? 62F27E38[ ]+vcvtneps2bf16 \(%eax\)\{1to8\}, %xmm1
|
||||
[ ]*318[ ]+7208
|
||||
[ ]*319[ ]+vcvtneps2bf16 \(%eax\)\{1to16\}, %xmm1
|
||||
[ ]*320[ ]+\?\?\?\? 8DB42600 \.p2align 4
|
||||
[ ]*320[ ]+0000008D
|
||||
[ ]*320[ ]+7600
|
||||
[ ]*320[ ]*
|
||||
[ ]*321[ ]+vaddps \$0xcc, %zmm0, %zmm0, %zmm0
|
||||
[ ]*322[ ]+vcmpss \$0, \$0xcc, %xmm0, %xmm0, %k0
|
||||
#pass
|
||||
|
@ -317,4 +317,8 @@ _start:
|
||||
vcvtneps2bf16 (%eax){1to4}, %xmm1
|
||||
vcvtneps2bf16 (%eax){1to8}, %xmm1
|
||||
vcvtneps2bf16 (%eax){1to16}, %xmm1
|
||||
|
||||
vaddps $0xcc, %zmm0, %zmm0, %zmm0
|
||||
vcmpss $0, $0xcc, %xmm0, %xmm0, %k0
|
||||
|
||||
.p2align 4
|
||||
|
Loading…
Reference in New Issue
Block a user