mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-20 07:43:36 +08:00
66e8546085
This patch fixes a problem with disassembly of branch instructions
for processors complying with PowerPC ISA versions prior to version
2.0, ie. those that use "y" bit branch taken hints. Many of the
extended bcctr and bclr mnemonics that should have disassembled with a
"-" suffix, ie. not taken, did not display the "-" due to the ordering
in powerpc_opcodes. I believe it's been that way from the original
85dcf36d72
commit of ppc-opc.c.
I've also added a BH field (optional) to a few opcodes. This gives
better disassembly in raw mode, showing the branch taken hint in the
mnemonic as is done for bc. It would be reasonable to add a BH
field to all bcctr, bclr, and bctar extended mnemonics but that runs
into a small difficulty: Currently we print all or none of the
optional operands. That means for example that "bgectr cr2" would
display as "bgectr cr2,0" if a BH field is added to bgectr.
* ppc-opc.c (XLBH_MASK): Subtract off BH field from BB_MASK.
(powerpc_opcodes): Reorder bcctr and bclr extended mnemonics
to favour printing of "-" branch hint when using the "y" bit.
Allow BH field on bc{ctr,lr,tar}{,l}{-,+}.
231 lines
7.4 KiB
Plaintext
231 lines
7.4 KiB
Plaintext
2019-04-05 Alan Modra <amodra@gmail.com>
|
||
|
||
* ppc-opc.c (XLBH_MASK): Subtract off BH field from BB_MASK.
|
||
(powerpc_opcodes): Reorder bcctr and bclr extended mnemonics
|
||
to favour printing of "-" branch hint when using the "y" bit.
|
||
Allow BH field on bc{ctr,lr,tar}{,l}{-,+}.
|
||
|
||
2019-04-05 Alan Modra <amodra@gmail.com>
|
||
|
||
* ppc-dis.c (print_insn_powerpc): Delay printing spaces after
|
||
opcode until first operand is output.
|
||
|
||
2019-04-04 Peter Bergner <bergner@linux.ibm.com>
|
||
|
||
PR gas/24349
|
||
* ppc-opc.c (valid_bo_pre_v2): Add comments.
|
||
(valid_bo_post_v2): Add support for 'at' branch hints.
|
||
(insert_bo): Only error on branch on ctr.
|
||
(get_bo_hint_mask): New function.
|
||
(insert_boe): Add new 'branch_taken' formal argument. Add support
|
||
for inserting 'at' branch hints.
|
||
(extract_boe): Add new 'branch_taken' formal argument. Add support
|
||
for extracting 'at' branch hints.
|
||
(insert_bom, extract_bom, insert_bop, extract_bop): New functions.
|
||
(BOE): Delete operand.
|
||
(BOM, BOP): New operands.
|
||
(RM): Update value.
|
||
(XLYLK, XLYLK_MASK, XLYBB_MASK): Delete.
|
||
(powerpc_opcodes) <bc-, bcl-, bca-, bcla-, bclr-, bclrl-, bcctr-,
|
||
bcctrl-, bctar-, bctarl->: Replace BOE with BOM.
|
||
(powerpc_opcodes) <bc+, bcl+, bca+, bcla+, bclr+, bclrl+, bcctr+,
|
||
bcctrl+, bctar+, bctarl+>: Replace BOE with BOP.
|
||
<bdnztar, bdnztarl, bdztar, bdztarl, btar, btarl, bdnztar-, bdnztarl-,
|
||
bdnztar+, bdnztarl+, bdztar-, bdztarl-, bdztar+, bdztarl+, bgetar,
|
||
bnltar, bgetarl, bnltarl, bletar, bngtar, bletarl, bngtarl, bnetar,
|
||
bnetarl, bnstar, bnutar, bnstarl, bnutarl, bgetar-, bnltar-, bgetarl-,
|
||
bnltarl-, bletar-, bngtar-, bletarl-, bngtarl-, bnetar-, bnetarl-,
|
||
bnstar-, bnutar-, bnstarl-, bnutarl-, bgetar+, bnltar+, bgetarl+,
|
||
bnltarl+, bletar+, bngtar+, bletarl+, bngtarl+, bnetar+, bnetarl+,
|
||
bnstar+, bnutar+, bnstarl+, bnutarl+, blttar, blttarl, bgttar, bgttarl,
|
||
beqtar, beqtarl, bsotar, buntar, bsotarl, buntarl, blttar-, blttarl-,
|
||
bgttar-, bgttarl-, beqtar-, beqtarl-, bsotar-, buntar-, bsotarl-,
|
||
buntarl-, blttar+, blttarl+, bgttar+, bgttarl+, beqtar+, beqtarl+,
|
||
bsotar+, buntar+, bsotarl+, buntarl+, bdnzftar, bdnzftarl, bdzftar,
|
||
bdzftarl, bftar, bftarl, bftar-, bftarl-, bftar+, bftarl+, bdnzttar,
|
||
bdnzttarl, bdzttar, bdzttarl, bttar, bttarl, bttar-, bttarl-, bttar+,
|
||
bttarl+>: New extended mnemonics.
|
||
|
||
2019-03-28 Alan Modra <amodra@gmail.com>
|
||
|
||
PR 24390
|
||
* ppc-opc.c (BTF): Define.
|
||
(powerpc_opcodes): Use for mtfsb*.
|
||
* ppc-dis.c (print_insn_powerpc): Print fields with both
|
||
PPC_OPERAND_CR_REG and PPC_OPERAND_CR_BIT as a plain number.
|
||
|
||
2019-03-25 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
* arm-dis.c (struct arm_private_data): Remove has_mapping_symbols.
|
||
(mapping_symbol_for_insn): Implement new algorithm.
|
||
(print_insn): Remove duplicate code.
|
||
|
||
2019-03-25 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
* aarch64-dis.c (print_insn_aarch64):
|
||
Implement override.
|
||
|
||
2019-03-25 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
* aarch64-dis.c (print_insn_aarch64): Update the mapping symbol search
|
||
order.
|
||
|
||
2019-03-25 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
* aarch64-dis.c (last_stop_offset): New.
|
||
(print_insn_aarch64): Use stop_offset.
|
||
|
||
2019-03-19 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR gas/24359
|
||
* i386-gen.c (cpu_flag_init): Add CPU_ANY_AVX512F_FLAGS to
|
||
CPU_ANY_AVX2_FLAGS.
|
||
* i386-init.h: Regenerated.
|
||
|
||
2019-03-18 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR gas/24348
|
||
* i386-opc.tbl: Add Optimize to vmovdqa32, vmovdqa64, vmovdqu8,
|
||
vmovdqu16, vmovdqu32 and vmovdqu64.
|
||
* i386-tbl.h: Regenerated.
|
||
|
||
2019-03-12 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
* s390-opc.txt: Rename selhhhr to selfhr. Remove optional operand
|
||
from vstrszb, vstrszh, and vstrszf.
|
||
|
||
2019-03-12 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
* s390-opc.txt: Add instruction descriptions.
|
||
|
||
2019-02-08 Jim Wilson <jimw@sifive.com>
|
||
|
||
* riscv-opc.c (riscv_opcodes) <beq>: Use Cz to compress 3 operand form.
|
||
<bne>: Likewise.
|
||
|
||
2019-02-07 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
* arm-dis.c (arm_opcodes): Redefine hlt to armv1.
|
||
|
||
2019-02-07 Tamar Christina <tamar.christina@arm.com>
|
||
|
||
PR binutils/23212
|
||
* aarch64-opc.h (enum aarch64_field_kind): Add FLD_sz.
|
||
* aarch64-opc.c (verify_elem_sd): New.
|
||
(fields): Add FLD_sz entr.
|
||
* aarch64-tbl.h (_SIMD_INSN): New.
|
||
(aarch64_opcode_table): Add elem_sd verifier to fmla, fmls, fmul and
|
||
fmulx scalar and vector by element isns.
|
||
|
||
2019-02-07 Nick Clifton <nickc@redhat.com>
|
||
|
||
* po/sv.po: Updated Swedish translation.
|
||
|
||
2019-01-31 Andreas Krebbel <krebbel@linux.ibm.com>
|
||
|
||
* s390-mkopc.c (main): Accept arch13 as cpu string.
|
||
* s390-opc.c: Add new instruction formats and instruction opcode
|
||
masks.
|
||
* s390-opc.txt: Add new arch13 instructions.
|
||
|
||
2019-01-25 Sudakshina Das <sudi.das@arm.com>
|
||
|
||
* aarch64-tbl.h (QL_LDST_AT): Update macro.
|
||
(aarch64_opcode): Change encoding for stg, stzg
|
||
st2g and st2zg.
|
||
* aarch64-asm-2.c: Regenerated.
|
||
* aarch64-dis-2.c: Regenerated.
|
||
* aarch64-opc-2.c: Regenerated.
|
||
|
||
2019-01-25 Sudakshina Das <sudi.das@arm.com>
|
||
|
||
* aarch64-asm-2.c: Regenerated.
|
||
* aarch64-dis-2.c: Likewise.
|
||
* aarch64-opc-2.c: Likewise.
|
||
* aarch64-tbl.h (aarch64_opcode): Add new stzgm.
|
||
|
||
2019-01-25 Sudakshina Das <sudi.das@arm.com>
|
||
Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
|
||
|
||
* aarch64-asm.c (aarch64_ins_addr_simple_2): Remove.
|
||
* aarch64-asm.h (ins_addr_simple_2): Likeiwse.
|
||
* aarch64-dis.c (aarch64_ext_addr_simple_2): Likewise.
|
||
* aarch64-dis.h (ext_addr_simple_2): Likewise.
|
||
* aarch64-opc.c (operand_general_constraint_met_p): Remove
|
||
case for ldstgv_indexed.
|
||
(aarch64_print_operand): Remove case for AARCH64_OPND_ADDR_SIMPLE_2.
|
||
* aarch64-tbl.h (struct aarch64_opcode): Remove ldgv and stgv.
|
||
(AARCH64_OPERANDS): Remove ADDR_SIMPLE_2.
|
||
* aarch64-asm-2.c: Regenerated.
|
||
* aarch64-dis-2.c: Regenerated.
|
||
* aarch64-opc-2.c: Regenerated.
|
||
|
||
2019-01-23 Nick Clifton <nickc@redhat.com>
|
||
|
||
* po/pt_BR.po: Updated Brazilian Portuguese translation.
|
||
|
||
2019-01-21 Nick Clifton <nickc@redhat.com>
|
||
|
||
* po/de.po: Updated German translation.
|
||
* po/uk.po: Updated Ukranian translation.
|
||
|
||
2019-01-20 Chenghua Xu <paul.hua.gm@gmail.com>
|
||
* mips-dis.c (mips_arch_choices): Fix typo in
|
||
gs464, gs464e and gs264e descriptors.
|
||
|
||
2019-01-19 Nick Clifton <nickc@redhat.com>
|
||
|
||
* configure: Regenerate.
|
||
* po/opcodes.pot: Regenerate.
|
||
|
||
2018-06-24 Nick Clifton <nickc@redhat.com>
|
||
|
||
2.32 branch created.
|
||
|
||
2019-01-09 John Darrington <john@darrington.wattle.id.au>
|
||
|
||
* s12z-dis.c (print_insn_s12z): Do not dereference an operand
|
||
if it is null.
|
||
-dis.c (opr_emit_disassembly): Do not omit an index if it is
|
||
zero.
|
||
|
||
2019-01-09 Andrew Paprocki <andrew@ishiboo.com>
|
||
|
||
* configure: Regenerate.
|
||
|
||
2019-01-07 Alan Modra <amodra@gmail.com>
|
||
|
||
* configure: Regenerate.
|
||
* po/POTFILES.in: Regenerate.
|
||
|
||
2019-01-03 John Darrington <john@darrington.wattle.id.au>
|
||
|
||
* s12z-opc.c: New file.
|
||
* s12z-opc.h: New file.
|
||
* s12z-dis.c: Removed all code not directly related to display
|
||
of instructions. Used the interface provided by the new files
|
||
instead.
|
||
* Makefile.am (TARGET_LIBOPCODES_CFILES) Add s12z-opc.c.
|
||
* Makefile.in: Regenerate.
|
||
* configure.ac (bfd_s12z_arch): Correct the dependencies.
|
||
* configure: Regenerate.
|
||
|
||
2019-01-01 Alan Modra <amodra@gmail.com>
|
||
|
||
Update year range in copyright notice of all files.
|
||
|
||
For older changes see ChangeLog-2018
|
||
|
||
Copyright (C) 2019 Free Software Foundation, Inc.
|
||
|
||
Copying and distribution of this file, with or without modification,
|
||
are permitted in any medium without royalty provided the copyright
|
||
notice and this notice are preserved.
|
||
|
||
Local Variables:
|
||
mode: change-log
|
||
left-margin: 8
|
||
fill-column: 74
|
||
version-control: never
|
||
End:
|