Deleted Added
full compact
tc-i386.c (78840) tc-i386.c (85824)
1/* i386.c -- Assemble code for the Intel 80386
2 Copyright 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
3 2000, 2001
4 Free Software Foundation, Inc.
5
6 This file is part of GAS, the GNU Assembler.
7
8 GAS is free software; you can redistribute it and/or modify

--- 7 unchanged lines hidden (view full) ---

16 GNU General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with GAS; see the file COPYING. If not, write to the Free
20 Software Foundation, 59 Temple Place - Suite 330, Boston, MA
21 02111-1307, USA. */
22
23
1/* i386.c -- Assemble code for the Intel 80386
2 Copyright 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
3 2000, 2001
4 Free Software Foundation, Inc.
5
6 This file is part of GAS, the GNU Assembler.
7
8 GAS is free software; you can redistribute it and/or modify

--- 7 unchanged lines hidden (view full) ---

16 GNU General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with GAS; see the file COPYING. If not, write to the Free
20 Software Foundation, 59 Temple Place - Suite 330, Boston, MA
21 02111-1307, USA. */
22
23
24/* $FreeBSD: head/contrib/binutils/gas/config/tc-i386.c 78840 2001-06-26 17:56:02Z obrien $ */
24/* $FreeBSD: head/contrib/binutils/gas/config/tc-i386.c 85824 2001-11-01 10:07:26Z obrien $ */
25
26
27/* Intel 80386 machine specific gas.
28 Written by Eliot Dresselhaus (eliot@mgm.mit.edu).
29 x86_64 support by Jan Hubicka (jh@suse.cz)
30 Bugs & suggestions are completely welcome. This is free software.
31 Please help us make it better. */
32

--- 1869 unchanged lines hidden (view full) ---

1902 as_bad (_("`%s' operand %d must use `%%es' segment"),
1903 i.tm.name,
1904 mem_op + 2);
1905 return;
1906 }
1907 }
1908 }
1909
25
26
27/* Intel 80386 machine specific gas.
28 Written by Eliot Dresselhaus (eliot@mgm.mit.edu).
29 x86_64 support by Jan Hubicka (jh@suse.cz)
30 Bugs & suggestions are completely welcome. This is free software.
31 Please help us make it better. */
32

--- 1869 unchanged lines hidden (view full) ---

1902 as_bad (_("`%s' operand %d must use `%%es' segment"),
1903 i.tm.name,
1904 mem_op + 2);
1905 return;
1906 }
1907 }
1908 }
1909
1910 if (i.reg_operands && flag_code < CODE_64BIT)
1911 {
1912 int op;
1913 for (op = i.operands; --op >= 0;)
1914 if ((i.types[op] & Reg)
1915 && (i.op[op].regs->reg_flags & (RegRex64|RegRex)))
1916 {
1917 as_bad (_("Extended register `%%%s' available only in 64bit mode."),
1918 i.op[op].regs->reg_name);
1919 return;
1920 }
1921 }
1922
1923 /* If matched instruction specifies an explicit instruction mnemonic
1924 suffix, use it. */
1925 if (i.tm.opcode_modifier & (Size16 | Size32 | Size64))
1926 {
1927 if (i.tm.opcode_modifier & Size16)
1928 i.suffix = WORD_MNEM_SUFFIX;
1929 else if (i.tm.opcode_modifier & Size64)
1930 i.suffix = QWORD_MNEM_SUFFIX;

--- 2549 unchanged lines hidden (view full) ---

4480 return r;
4481 }
4482 }
4483 /* We have "%st(" then garbage. */
4484 return (const reg_entry *) NULL;
4485 }
4486 }
4487
1910 /* If matched instruction specifies an explicit instruction mnemonic
1911 suffix, use it. */
1912 if (i.tm.opcode_modifier & (Size16 | Size32 | Size64))
1913 {
1914 if (i.tm.opcode_modifier & Size16)
1915 i.suffix = WORD_MNEM_SUFFIX;
1916 else if (i.tm.opcode_modifier & Size64)
1917 i.suffix = QWORD_MNEM_SUFFIX;

--- 2549 unchanged lines hidden (view full) ---

4467 return r;
4468 }
4469 }
4470 /* We have "%st(" then garbage. */
4471 return (const reg_entry *) NULL;
4472 }
4473 }
4474
4475 if (r != NULL
4476 && r->reg_flags & (RegRex64|RegRex)
4477 && flag_code != CODE_64BIT)
4478 {
4479 return (const reg_entry *) NULL;
4480 }
4481
4488 return r;
4489}
4490
4491#if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)
4492const char *md_shortopts = "kVQ:sq";
4493#else
4494const char *md_shortopts = "q";
4495#endif

--- 1350 unchanged lines hidden ---
4482 return r;
4483}
4484
4485#if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)
4486const char *md_shortopts = "kVQ:sq";
4487#else
4488const char *md_shortopts = "q";
4489#endif

--- 1350 unchanged lines hidden ---