diff options
author | Jan Beulich <jbeulich@suse.com> | 2019-11-14 08:47:44 +0100 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2019-11-14 08:47:44 +0100 |
commit | 0cfa3eb3525d46ff6cfc94559a796c6a67bdcb27 (patch) | |
tree | c3c6882b59791bd6de53c3713dae30232e084348 /gas/config/tc-i386-intel.c | |
parent | 6f2f06bea87613a6851607829e5893d74007f5bf (diff) | |
download | gdb-0cfa3eb3525d46ff6cfc94559a796c6a67bdcb27.zip gdb-0cfa3eb3525d46ff6cfc94559a796c6a67bdcb27.tar.gz gdb-0cfa3eb3525d46ff6cfc94559a796c6a67bdcb27.tar.bz2 |
x86: fold individual Jump* attributes into a single Jump one
..., taking just 3 bits instead of 5. No two of them are used together.
Diffstat (limited to 'gas/config/tc-i386-intel.c')
-rw-r--r-- | gas/config/tc-i386-intel.c | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/gas/config/tc-i386-intel.c b/gas/config/tc-i386-intel.c index fd71afb..49f558d 100644 --- a/gas/config/tc-i386-intel.c +++ b/gas/config/tc-i386-intel.c @@ -658,8 +658,9 @@ i386_intel_operand (char *operand_string, int got_a_float) || current_templates->start->base_opcode == 0x62 /* bound */) suffix = WORD_MNEM_SUFFIX; else if (flag_code == CODE_16BIT - && (current_templates->start->opcode_modifier.jump - || current_templates->start->opcode_modifier.jumpdword)) + && (current_templates->start->opcode_modifier.jump == JUMP + || current_templates->start->opcode_modifier.jump + == JUMP_DWORD)) suffix = LONG_DOUBLE_MNEM_SUFFIX; else if (got_a_float == 1) /* "f..." */ suffix = SHORT_MNEM_SUFFIX; @@ -717,8 +718,8 @@ i386_intel_operand (char *operand_string, int got_a_float) suffix = LONG_DOUBLE_MNEM_SUFFIX; /* FALLTHROUGH */ case O_near_ptr: - if (!current_templates->start->opcode_modifier.jump - && !current_templates->start->opcode_modifier.jumpdword) + if (current_templates->start->opcode_modifier.jump != JUMP + && current_templates->start->opcode_modifier.jump != JUMP_DWORD) suffix = got_a_float /* so it will cause an error */ ? BYTE_MNEM_SUFFIX : LONG_DOUBLE_MNEM_SUFFIX; @@ -739,9 +740,9 @@ i386_intel_operand (char *operand_string, int got_a_float) } /* Operands for jump/call need special consideration. */ - if (current_templates->start->opcode_modifier.jump - || current_templates->start->opcode_modifier.jumpdword - || current_templates->start->opcode_modifier.jumpintersegment) + if (current_templates->start->opcode_modifier.jump == JUMP + || current_templates->start->opcode_modifier.jump == JUMP_DWORD + || current_templates->start->opcode_modifier.jump == JUMP_INTERSEGMENT) { bfd_boolean jumpabsolute = FALSE; @@ -857,9 +858,9 @@ i386_intel_operand (char *operand_string, int got_a_float) ljmp 0x9090,0x90909090 */ - if ((current_templates->start->opcode_modifier.jumpintersegment - || current_templates->start->opcode_modifier.jumpdword - || current_templates->start->opcode_modifier.jump) + if ((current_templates->start->opcode_modifier.jump == JUMP_INTERSEGMENT + || current_templates->start->opcode_modifier.jump == JUMP_DWORD + || current_templates->start->opcode_modifier.jump == JUMP) && this_operand == 1 && intel_state.seg == NULL && i.mem_operands == 1 |