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 --- |