From 9146926ac3e07a1ae01e35ead53cc59e872138f1 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Fri, 12 Jul 2002 03:47:36 +0000 Subject: [PATCH] * config/tc-i386.c (process_suffix): Merge CODE_64BIT JumpByte case with non CODE_64BIT case. Don't warn on "qword ptr" if not CODE_64BIT. --- gas/ChangeLog | 6 ++++++ gas/config/tc-i386.c | 24 ++++++------------------ 2 files changed, 12 insertions(+), 18 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 17717417b1..bf3c845a0d 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2002-07-12 Alan Modra + + * config/tc-i386.c (process_suffix): Merge CODE_64BIT JumpByte + case with non CODE_64BIT case. Don't warn on "qword ptr" if + not CODE_64BIT. + 2002-07-11 Alan Modra * config/tc-ppc.c (ppc_elf_frob_symbol): Delete. diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index 2711fee236..c7dbfbdfa6 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -2228,8 +2228,10 @@ process_suffix () size prefix, except for instructions that will ignore this prefix anyway. */ if (i.suffix != QWORD_MNEM_SUFFIX - && (i.suffix == LONG_MNEM_SUFFIX) == (flag_code == CODE_16BIT) - && !(i.tm.opcode_modifier & IgnoreSize)) + && !(i.tm.opcode_modifier & IgnoreSize) + && ((i.suffix == LONG_MNEM_SUFFIX) == (flag_code == CODE_16BIT) + || (flag_code == CODE_64BIT + && (i.tm.opcode_modifier & JumpByte)))) { unsigned int prefix = DATA_PREFIX_OPCODE; if (i.tm.opcode_modifier & JumpByte) /* jcxz, loop */ @@ -2239,25 +2241,11 @@ process_suffix () return 0; } - if (i.suffix != QWORD_MNEM_SUFFIX && (flag_code == CODE_64BIT) - && !(i.tm.opcode_modifier & IgnoreSize) - && (i.tm.opcode_modifier & JumpByte)) - { - if (!add_prefix (ADDR_PREFIX_OPCODE)) - return 0; - } - /* Set mode64 for an operand. */ if (i.suffix == QWORD_MNEM_SUFFIX + && flag_code == CODE_64BIT && (i.tm.opcode_modifier & NoRex64) == 0) - { - i.rex |= REX_MODE64; - if (flag_code < CODE_64BIT) - { - as_bad (_("64bit operations available only in 64bit modes.")); - return 0; - } - } + i.rex |= REX_MODE64; /* Size floating point instruction. */ if (i.suffix == LONG_MNEM_SUFFIX) -- 2.34.1