]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
x86: Add {noimm8s} pseudo prefix
authorH.J. Lu <hjl.tools@gmail.com>
Sat, 22 Mar 2025 15:14:40 +0000 (08:14 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Sat, 29 Mar 2025 14:04:20 +0000 (07:04 -0700)
commit03df259d29dbeae82834f0cfbf7fe2710649662c
tree4d107afb3ee58c9ed8a1660a895bbcadec885a08
parent8497f4cc42399deb9356de7f65f2bba1924e0954
x86: Add {noimm8s} pseudo prefix

Instruction templates with only sign-extended 8-bit immediate operand
also have a second template with full-operand-size immediate operand
under a different opcode.  Add {noimm8s} pseudo prefix to exclude
templates with only sign-extended 8-bit immediate operand.

gas/

PR gas/32811
* config/tc-i386.c (pseudo_prefixes): Add no_imm8s.
(operand_size_match): Return false for templates with only sign-
extended 8-bit immediate operand if {noimm8s} is used.
(parse_insn): Handle Prefix_NoImm8s.
* doc/c-i386.texi: Document {noimm8s}.
* testsuite/gas/i386/pseudos.s: Add tests for {noimm8s}.
* testsuite/gas/i386/x86-64-pseudos.s: Likewise.
* testsuite/gas/i386/pseudos.d: Updated.
* testsuite/gas/i386/x86-64-pseudos.d: Likewise.

opcodes/

PR gas/32811
* opcodes/i386-opc.h (Prefix_NoImm8s): New.
* i386-opc.tbl: Add {noimm8s} pseudo prefix.
* i386-mnem.h: Regenerated.
* i386-tbl.h: Likewise.

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
gas/config/tc-i386.c
gas/doc/c-i386.texi
gas/testsuite/gas/i386/pseudos.d
gas/testsuite/gas/i386/pseudos.s
gas/testsuite/gas/i386/x86-64-pseudos.d
gas/testsuite/gas/i386/x86-64-pseudos.s
opcodes/i386-mnem.h
opcodes/i386-opc.h
opcodes/i386-opc.tbl
opcodes/i386-tbl.h