0351b70c21
* config/tc-i386.c: REPNE renamed to REPNE_PREFIX_OPCODE, and likewise for REPE. * config/tc-i386.c (reloc): Add braces. * config/tc-i386.c (struct _i386_insn): Rename bi to sib to be consistent with Intel naming. * config/tc-i386.h (base_index_byte): Rename to sib_byte. Don't use bitfields in sib_byte. (modrm_byte): Don't use bitfields here either. * config/tc-i386.c (current_templates): Add const. (parse_register): Add const to return, param, and char *s. (i386_operand): Add const to reg_entry *r. * config/tc-i386.h (templates): Add const to start, end. Inspired by code for 16 bit gas support from Martynas Kunigelis <martynas@nm3.ktu.lt>: * config/tc-i386.c (md_assemble): Add full support for 16 bit modrm, and Jump, JumpByte, JumpDword, JumpInterSegment insns. (uses_mem_addrmode): Remove. (md_estimate_size_before_relax): Add support here too. (md_relax_table): Rewrite interface to md_relax for 16 bit support. (BYTE, WORD, DWORD, UNKNOWN_SIZE): Remove. (opcode_suffix_to_type): Remove. (CODE16, SMALL, SMALL16, BIG, BIG16): Define. (SIZE_FROM_RELAX_STATE): Modify to suit above. (md_convert_frag): Likewise. (i386_operand): Add support for 16 bit base/index regs, immediates, and displacements. Remove some unnecessary casts, and localise end_of_operand_string, displacement_string_start, displacement_string_end variables. Add GCC_ASM_O_HACK. * config/tc-i386.h (NO_BASE_REGISTER_16): Define. * config/tc-i386.c (prefix_hash): Remove. (md_begin): Rewrite without obstacks. Remove prefix hash table handling. Rewrite lexical table handling. (i386_print_statistics): Don't print prefix statistics. (md_assemble): Rewrite instruction parser so that line is not converted to lower case. Don't do a hash_find for prefixes, instead recognise them via opcode modifier. (expecting_operand, paren_not_balanced): Localise variables. * config/tc-i386.h (IsPrefix): Define. (prefix_entry): Remove. * config/tc-i386.h (PREFIX_SEPERATOR): Don't define. * config/tc-i386.c (PREFIX_SEPARATOR): Define here instead, using '\\' in case where comment_chars contains '/'. * config/tc-i386.c (MATCH): Ensure given operand and template match for JumpAbsolute. Makes e.g. `ljmp table(%ebx)' invalid; you must write `ljmp *table(%ebx)'. From H.J. Lu <hjl@gnu.org>: * config/tc-i386.c (BFD_RELOC_16, BFD_RELOC_16_PCREL): Define as 0 ifndef BFD_ASSEMBLER. (md_assemble): Allow immediate operands without suffix or other reg operand to default in size to the current code size. |
||
---|---|---|
.. | ||
.Sanitize | ||
aout_gnu.h | ||
atof-ieee.c | ||
atof-tahoe.c | ||
atof-vax.c | ||
e-i386coff.c | ||
e-i386elf.c | ||
e-mipsecoff.c | ||
e-mipself.c | ||
go32.cfg | ||
itbl-mips.h | ||
m68k-parse.h | ||
m68k-parse.y | ||
m88k-opcode.h | ||
obj-aout.c | ||
obj-aout.h | ||
obj-bout.c | ||
obj-bout.h | ||
obj-coff.c | ||
obj-coff.h | ||
obj-ecoff.c | ||
obj-ecoff.h | ||
obj-elf.c | ||
obj-elf.h | ||
obj-evax.c | ||
obj-evax.h | ||
obj-generic.c | ||
obj-generic.h | ||
obj-hp300.c | ||
obj-hp300.h | ||
obj-ieee.c | ||
obj-ieee.h | ||
obj-multi.c | ||
obj-multi.h | ||
obj-som.c | ||
obj-som.h | ||
obj-vms.c | ||
obj-vms.h | ||
tc-a29k.c | ||
tc-a29k.h | ||
tc-alpha.c | ||
tc-alpha.h | ||
tc-arc.c | ||
tc-arc.h | ||
tc-arm.c | ||
tc-arm.h | ||
tc-d10v.c | ||
tc-d10v.h | ||
tc-d30v.c | ||
tc-d30v.h | ||
tc-dvp.c | ||
tc-dvp.h | ||
tc-generic.c | ||
tc-generic.h | ||
tc-h8300.c | ||
tc-h8300.h | ||
tc-h8500.c | ||
tc-h8500.h | ||
tc-hppa.c | ||
tc-hppa.h | ||
tc-i386.c | ||
tc-i386.h | ||
tc-i860.c | ||
tc-i860.h | ||
tc-i960.c | ||
tc-i960.h | ||
tc-m32r.c | ||
tc-m68k.c | ||
tc-m68k.h | ||
tc-m88k.c | ||
tc-m88k.h | ||
tc-m68851.h | ||
tc-mips.c | ||
tc-mips.h | ||
tc-mn10200.c | ||
tc-mn10200.h | ||
tc-mn10300.c | ||
tc-ns32k.c | ||
tc-ns32k.h | ||
tc-ppc.c | ||
tc-ppc.h | ||
tc-sh.c | ||
tc-sh.h | ||
tc-sparc.c | ||
tc-sparc.h | ||
tc-tahoe.c | ||
tc-tahoe.h | ||
tc-tic30.c | ||
tc-tic30.h | ||
tc-tic80.c | ||
tc-tic80.h | ||
tc-v850.c | ||
tc-v850.h | ||
tc-vax.c | ||
tc-vax.h | ||
tc-w65.c | ||
tc-w65.h | ||
tc-z8k.c | ||
tc-z8k.h | ||
te-aux.h | ||
te-delt88.h | ||
te-delta.h | ||
te-dpx2.h | ||
te-dynix.h | ||
te-generic.h | ||
te-go32.h | ||
te-hp300.h | ||
te-hppa.h | ||
te-i386aix.h | ||
te-ic960.h | ||
te-lnews.h | ||
te-lynx.h | ||
te-mach.h | ||
te-macos.h | ||
te-multi.h | ||
te-nbsd532.h | ||
te-nbsd.h | ||
te-pc532mach.h | ||
te-pe.h | ||
te-ppcnw.h | ||
te-psos.h | ||
te-riscix.h | ||
te-sparcaout.h | ||
te-sun3.h | ||
te-svr4.h | ||
te-sysv32.h | ||
vax-inst.h | ||
vms-a-conf.h | ||
vms-conf.h |