aboutsummaryrefslogtreecommitdiff
path: root/opcodes/i386-opc.tbl
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2023-12-15 12:04:39 +0100
committerJan Beulich <jbeulich@suse.com>2023-12-15 12:04:39 +0100
commit7d3182d6aad5f456305892641c761460275cec46 (patch)
treef3afdd57aeb335180587d4a17e88376c9ec1ea14 /opcodes/i386-opc.tbl
parent4f53c99c998bccac241aca9e540c4f55acdc7da2 (diff)
downloadbinutils-7d3182d6aad5f456305892641c761460275cec46.zip
binutils-7d3182d6aad5f456305892641c761460275cec46.tar.gz
binutils-7d3182d6aad5f456305892641c761460275cec46.tar.bz2
x86: Intel syntax implies Intel mnemonics
As noted in the context of d53e6b98a259 ("x86/Intel: correct disassembly of fsub*/fdiv*") there's no such thing as Intel syntax without Intel mnemonics. Enforce this on the assembler side, and disentangle command line option handling on the disassembler side accordingly. As a result in the opcode table specifying ATTMnemonic|ATTSyntax becomes redundant with just ATTMnemonic. Drop the now meaningless ATTSyntax and remove the then no longer accessible templates.
Diffstat (limited to 'opcodes/i386-opc.tbl')
-rw-r--r--opcodes/i386-opc.tbl36
1 files changed, 16 insertions, 20 deletions
diff --git a/opcodes/i386-opc.tbl b/opcodes/i386-opc.tbl
index d28e75a..dff6d08 100644
--- a/opcodes/i386-opc.tbl
+++ b/opcodes/i386-opc.tbl
@@ -704,14 +704,13 @@ faddp, 0xdec1, FP, NoSuf, {}
fsub, 0xd8/4, FP, Modrm|NoSuf, { FloatReg }
fsub, 0xd8/4, FP, D|Modrm|NoSuf, { FloatReg, FloatAcc }
// alias for fsubp
-fsub, 0xdee1, FP, NoSuf|Ugh|ATTMnemonic|ATTSyntax, {}
-fsub, 0xdee9, FP, NoSuf|Ugh|ATTMnemonic, {}
+fsub, 0xdee1, FP, NoSuf|Ugh|ATTMnemonic, {}
fsub, 0xd8/4, FP, Modrm|FloatMF|No_bSuf|No_wSuf|No_qSuf, { Dword|Qword|Unspecified|BaseIndex }
fisub, 0xde/4, FP, Modrm|FloatMF|No_bSuf|No_wSuf|No_qSuf, { Word|Dword|Unspecified|BaseIndex }
-fsubp, 0xde/4, FP, Modrm|NoSuf|ATTMnemonic|ATTSyntax, { FloatAcc, FloatReg }
-fsubp, 0xde/4, FP, Modrm|NoSuf|ATTMnemonic|ATTSyntax, { FloatReg }
-fsubp, 0xdee1, FP, NoSuf|ATTMnemonic|ATTSyntax, {}
+fsubp, 0xde/4, FP, Modrm|NoSuf|ATTMnemonic, { FloatAcc, FloatReg }
+fsubp, 0xde/4, FP, Modrm|NoSuf|ATTMnemonic, { FloatReg }
+fsubp, 0xdee1, FP, NoSuf|ATTMnemonic, {}
fsubp, 0xde/5, FP, Modrm|NoSuf, { FloatAcc, FloatReg }
fsubp, 0xde/5, FP, Modrm|NoSuf, { FloatReg }
fsubp, 0xdee9, FP, NoSuf, {}
@@ -720,14 +719,13 @@ fsubp, 0xdee9, FP, NoSuf, {}
fsubr, 0xd8/5, FP, Modrm|NoSuf, { FloatReg }
fsubr, 0xd8/5, FP, D|Modrm|NoSuf, { FloatReg, FloatAcc }
// alias for fsubrp
-fsubr, 0xdee9, FP, NoSuf|Ugh|ATTMnemonic|ATTSyntax, {}
-fsubr, 0xdee1, FP, NoSuf|Ugh|ATTMnemonic, {}
+fsubr, 0xdee9, FP, NoSuf|Ugh|ATTMnemonic, {}
fsubr, 0xd8/5, FP, Modrm|FloatMF|No_bSuf|No_wSuf|No_qSuf, { Dword|Qword|Unspecified|BaseIndex }
fisubr, 0xde/5, FP, Modrm|FloatMF|No_bSuf|No_wSuf|No_qSuf, { Word|Dword|Unspecified|BaseIndex }
-fsubrp, 0xde/5, FP, Modrm|NoSuf|ATTMnemonic|ATTSyntax, { FloatAcc, FloatReg }
-fsubrp, 0xde/5, FP, Modrm|NoSuf|ATTMnemonic|ATTSyntax, { FloatReg }
-fsubrp, 0xdee9, FP, NoSuf|ATTMnemonic|ATTSyntax, {}
+fsubrp, 0xde/5, FP, Modrm|NoSuf|ATTMnemonic, { FloatAcc, FloatReg }
+fsubrp, 0xde/5, FP, Modrm|NoSuf|ATTMnemonic, { FloatReg }
+fsubrp, 0xdee9, FP, NoSuf|ATTMnemonic, {}
fsubrp, 0xde/4, FP, Modrm|NoSuf, { FloatAcc, FloatReg }
fsubrp, 0xde/4, FP, Modrm|NoSuf, { FloatReg }
fsubrp, 0xdee1, FP, NoSuf, {}
@@ -749,14 +747,13 @@ fmulp, 0xdec9, FP, NoSuf, {}
fdiv, 0xd8/6, FP, Modrm|NoSuf, { FloatReg }
fdiv, 0xd8/6, FP, D|Modrm|NoSuf, { FloatReg, FloatAcc }
// alias for fdivp
-fdiv, 0xdef1, FP, NoSuf|Ugh|ATTMnemonic|ATTSyntax, {}
-fdiv, 0xdef9, FP, NoSuf|Ugh|ATTMnemonic, {}
+fdiv, 0xdef1, FP, NoSuf|Ugh|ATTMnemonic, {}
fdiv, 0xd8/6, FP, Modrm|FloatMF|No_bSuf|No_wSuf|No_qSuf, { Dword|Qword|Unspecified|BaseIndex }
fidiv, 0xde/6, FP, Modrm|FloatMF|No_bSuf|No_wSuf|No_qSuf, { Word|Dword|Unspecified|BaseIndex }
-fdivp, 0xde/6, FP, Modrm|NoSuf|ATTMnemonic|ATTSyntax, { FloatAcc, FloatReg }
-fdivp, 0xde/6, FP, Modrm|NoSuf|ATTMnemonic|ATTSyntax, { FloatReg }
-fdivp, 0xdef1, FP, NoSuf|ATTMnemonic|ATTSyntax, {}
+fdivp, 0xde/6, FP, Modrm|NoSuf|ATTMnemonic, { FloatAcc, FloatReg }
+fdivp, 0xde/6, FP, Modrm|NoSuf|ATTMnemonic, { FloatReg }
+fdivp, 0xdef1, FP, NoSuf|ATTMnemonic, {}
fdivp, 0xde/7, FP, Modrm|NoSuf, { FloatAcc, FloatReg }
fdivp, 0xde/7, FP, Modrm|NoSuf, { FloatReg }
fdivp, 0xdef9, FP, NoSuf, {}
@@ -765,14 +762,13 @@ fdivp, 0xdef9, FP, NoSuf, {}
fdivr, 0xd8/7, FP, Modrm|NoSuf, { FloatReg }
fdivr, 0xd8/7, FP, D|Modrm|NoSuf, { FloatReg, FloatAcc }
// alias for fdivrp
-fdivr, 0xdef9, FP, NoSuf|Ugh|ATTMnemonic|ATTSyntax, {}
-fdivr, 0xdef1, FP, NoSuf|Ugh|ATTMnemonic, {}
+fdivr, 0xdef9, FP, NoSuf|Ugh|ATTMnemonic, {}
fdivr, 0xd8/7, FP, Modrm|FloatMF|No_bSuf|No_wSuf|No_qSuf, { Dword|Qword|Unspecified|BaseIndex }
fidivr, 0xde/7, FP, Modrm|FloatMF|No_bSuf|No_wSuf|No_qSuf, { Word|Dword|Unspecified|BaseIndex }
-fdivrp, 0xde/7, FP, Modrm|NoSuf|ATTMnemonic|ATTSyntax, { FloatAcc, FloatReg }
-fdivrp, 0xde/7, FP, Modrm|NoSuf|ATTMnemonic|ATTSyntax, { FloatReg }
-fdivrp, 0xdef9, FP, NoSuf|ATTMnemonic|ATTSyntax, {}
+fdivrp, 0xde/7, FP, Modrm|NoSuf|ATTMnemonic, { FloatAcc, FloatReg }
+fdivrp, 0xde/7, FP, Modrm|NoSuf|ATTMnemonic, { FloatReg }
+fdivrp, 0xdef9, FP, NoSuf|ATTMnemonic, {}
fdivrp, 0xde/6, FP, Modrm|NoSuf, { FloatAcc, FloatReg }
fdivrp, 0xde/6, FP, Modrm|NoSuf, { FloatReg }
fdivrp, 0xdef1, FP, NoSuf, {}