x86: harmonize disp with imm handling
[binutils-gdb.git] / gas / ChangeLog
index b5686eed778dda6ea734b0753546d7477bfdf903..0a59cd74d6ab8669cda171b7c2f6a77397e956b1 100644 (file)
@@ -1,3 +1,134 @@
+2021-06-15  Jan Beulich  <jbeulich@suse.com>
+
+       * config/tc-i386.c (optimize_disp): Generalize disp32 part of
+       the BFD64-only logic to also apply to non-64-bit code.
+       (i386_finalize_displacement): Use extend_to_32bit_address for
+       non-64-bit code. Drop now redundant O_constant checks.
+       * testsuite/gas/i386/disp-imm-32.s,
+       testsuite/gas/i386/disp-imm-32.d: New.
+       * testsuite/gas/i386/i386.exp: Run new test.
+
+2021-06-15  Jan Beulich  <jbeulich@suse.com>
+
+       * config/tc-i386.c (offset_in_range): Replace uses of
+       bfd_sprintf_vma.
+
+2021-06-15  Jan Beulich  <jbeulich@suse.com>
+
+       * config/tc-i386.c (offset_in_range): Adjust conditional.
+       * testsuite/gas/i386/disp-imm-16.s,
+       testsuite/gas/i386/disp-imm-16.l,
+       testsuite/gas/i386/disp-imm-64.s,
+       testsuite/gas/i386/disp-imm-64.l: New.
+       * testsuite/gas/i386/i386.exp: Run new tests.
+
+2021-06-15  Jan Beulich  <jbeulich@suse.com>
+
+       * config/tc-i386.c (i386_att_operand): Re-introduce (now
+       properly named) parens_not_balanced.
+       * testsuite/gas/i386/sib.s: Add more cases.
+       * testsuite/gas/i386/sib.d, testsuite/gas/i386/sib-intel.d:
+       Adjust expectations.
+
+2021-06-14  Jan Beulich  <jbeulich@suse.com>
+
+       * read.c (emit_expr_with_reloc): Fold three as_warn().
+
+2021-06-14  Jan Beulich  <jbeulich@suse.com>
+
+       * doc/internals.texi (TC_ADDRESS_BYTES): Mention generic default.
+       * read.c (potable, cons_worker): Drop TC_ADDRESS_BYTES
+       conditional.
+
+2021-06-11  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/tc-i386.c (x86_cons): Handle GOT/PLT relocations only
+       if needed.
+       * config/tc-i386.h (TC_PARSE_CONS_EXPRESSION): Always define.
+
+2021-06-11  Nelson Chu  <nelson.chu@sifive.com>
+
+       * config/tc-riscv.c (riscv_set_arch): Call riscv_set_rvc
+       and riscv_set_rve both for -march and elf attributes.
+       (riscv_after_parse_args): Likewise.
+
+2021-06-10  Jan Beulich  <jbeulich@suse.com>
+
+       * config/tc-arm.c (do_bfloat_vfma): Rename index to idx.
+       (do_vusdot): Likewise.
+       (do_vsudot): Likewise.
+       (check_cde_operand): Likewise.
+       (do_vdot): Likewise.
+
+2021-06-10  Jan Beulich  <jbeulich@suse.com>
+
+       * config/tc-arm.c (reg_expected_msgs): Add REG_TYPE_ZR entry.
+
+2021-06-10  Jan Beulich  <jbeulich@suse.com>
+
+       * config/tc-i386.c (optimize_encoding): Suppress LEA conversion
+       when it would grow code size in 16-bit mode.
+       * testsuite/gas/i386/lea16-optimize.d: Adjust expectations.
+       * testsuite/gas/i386/lea16-optimize2.d: New.
+       * testsuite/gas/i386/i386.exp: Run new test.
+
+2021-06-08  Jan Beulich  <jbeulich@suse.com>
+
+       * testsuite/gas/i386/quoted.d, testsuite/gas/i386/wrap32-text.d:
+       Adjust expectations.
+       * testsuite/gas/i386/wrap32-data.d: Likewise. Correct name.
+
+2021-06-08  Jan Beulich  <jbeulich@suse.com>
+
+       * config/tc-i386.c (optimize_imm): Use fits_in_unsigned_word
+       and fits_in_unsigned_long.
+
+2021-06-08  Jan Beulich  <jbeulich@suse.com>
+
+       * config/tc-i386.c (optimize_disp): Use fits_in_unsigned_word
+       and fits_in_unsigned_long. Combine if()s.
+
+2021-06-08  Jan Beulich  <jbeulich@suse.com>
+
+       * config/tc-i386.c (optimize_disp): Write back updated value.
+       * testsuite/gas/i386/lea16.s, testsuite/gas/i386/lea64.s: New
+       cases.
+       * testsuite/gas/i386/lea16-optimize.d,
+       testsuite/gas/i386/lea64.d, testsuite/gas/i386/lea64-optimize.d:
+       Adjust expectations.
+       * testsuite/gas/i386/lea16.d: New.
+       * testsuite/gas/i386/i386.exp: Run new test.
+
+2021-06-08  Jan Beulich  <jbeulich@suse.com>
+
+       * config/tc-i386.c (optimize_disp): Drop redundant masking.
+       Re-order.
+
+2021-06-07  Jan Beulich  <jbeulich@suse.com>
+
+       * config/tc-i386.c (i386_att_operand): Re-write handling of
+       vector operations operand suffix.
+       * testsuite/gas/i386/unary.s: Add more cases.
+       * testsuite/gas/i386/unary.d: Adjust expectations.
+
+2021-06-07  Jan Beulich  <jbeulich@suse.com>
+
+       * config/tc-i386.c (parse_operands): Reduce scope of
+       paren_not_balanced, to match the new in_quotes. Skip over quoted
+       regions of operands.
+       (i386_att_operand): Remove (mis-named) parens_balanced. Respect
+       double quote.
+       * testsuite/gas/i386/unary.s: Add more cases.
+       * testsuite/gas/i386/unary.d: Adjust expectations.
+
+2021-06-07  Jan Beulich  <jbeulich@suse.com>
+
+       * config/tc-i386.c (digit_chars, is_digit_char): Delete.
+       (md_begin): Fold digit and lower-case letter handling.
+       (starts_memory_operand): Permit more characters.
+       * testsuite/gas/i386/unary.s, testsuite/gas/i386/unary.d: New.
+       * testsuite/gas/i386/i386.exp: Run new test.
+
 2021-06-07  Jan Beulich  <jbeulich@suse.com>
 
        * config/tc-i386.c (starts_memory_operand): New.