binutils/ChangeLog
* doc/binutils.texi (objdump): Document ppc -M options. gas/ChangeLog * config/tc-ppc.c (ppc_insert_operand): Pass (ppc_cpu | ppc_size) to operand->insert. (md_assemble): Likewise. gas/testsuite/ChangeLog * gas/ppc/booke.d: Modify reloc and target matches for powerpc64. include/opcode/ChangeLog * ppc.h (struct powerpc_operand <insert, extract>): Add dialect param. opcodes/ChangeLog * ppc-opc.c (PPC64): Revert 2001-10-12. Do include PPC_OPCODE_PPC. (insert_bat, extract_bat, insert_bba, extract_bba, insert_bd, extract_bd, insert_bdm, extract_bdm, insert_bdp, extract_bdp, valid_bo, insert_bo, extract_bo, insert_boe, extract_boe, insert_ds, extract_ds, insert_de, extract_de, insert_des, extract_des, insert_li, extract_li, insert_mbe, extract_mbe, insert_mb6, extract_mb6, insert_nb, extract_nb, insert_nsi, extract_nsi, insert_ral, insert_ram, insert_ras, insert_rbs, extract_rbs, insert_sh6, extract_sh6, insert_spr, extract_spr, insert_tbr, extract_tbr): Add dialect param. (extract_bd, extract_bdm, extract_bdp, extract_ds, extract_des, extract_li, extract_nsi): Implement sign extension without conditional. (insert_bdm, extract_bdm, insert_bdp, extract_bdp, valid_bo): Handle 64 bit branch hints. (extract_bdm, extract_bdp): Correct 32 bit validation. (AT1_MASK, AT2_MASK): Define. (BBOAT_MASK): Define. (BBOATCB_MASK, BBOAT2CB_MASK, BBOATBI_MASK): Define. (BOFM64, BOFP64, BOTM64, BOTP64): Define. (BODNZM64, BODNZP64, BODZM64, BODZP64): Define. (PPCCOM32, PPCCOM64): Define. (powerpc_opcodes): Modify existing 32 bit insns with branch hints and add new patterns to implement 64 bit branches with hints. Move booke instructions so they match before ppc64. * ppc-dis.c (powerpc_dialect): Set PPC_OPCODE_64 in dialect for 64 bit default targets, and parse "32" and "64" in options. Formatting fixes. (print_insn_powerpc): Pass dialect to operand->extract.
This commit is contained in:
		| @@ -1,3 +1,7 @@ | |||||||
|  | 2001-11-15  Alan Modra  <amodra@bigpond.net.au> | ||||||
|  |  | ||||||
|  | 	* ppc.h (struct powerpc_operand <insert, extract>): Add dialect param. | ||||||
|  |  | ||||||
| 2001-11-11  Timothy Wall  <twall@alum.mit.edu> | 2001-11-11  Timothy Wall  <twall@alum.mit.edu> | ||||||
|  |  | ||||||
| 	* tic54x.h: Revise opcode layout; don't really need a separate | 	* tic54x.h: Revise opcode layout; don't really need a separate | ||||||
|   | |||||||
| @@ -130,6 +130,7 @@ struct powerpc_operand | |||||||
|      operand value is legal, *ERRMSG will be unchanged (most operands |      operand value is legal, *ERRMSG will be unchanged (most operands | ||||||
|      can accept any value).  */ |      can accept any value).  */ | ||||||
|   unsigned long (*insert) PARAMS ((unsigned long instruction, long op, |   unsigned long (*insert) PARAMS ((unsigned long instruction, long op, | ||||||
|  | 				   int dialect, | ||||||
| 				   const char **errmsg)); | 				   const char **errmsg)); | ||||||
|  |  | ||||||
|   /* Extraction function.  This is used by the disassembler.  To |   /* Extraction function.  This is used by the disassembler.  To | ||||||
| @@ -149,7 +150,8 @@ struct powerpc_operand | |||||||
|      non-zero if this operand type can not actually be extracted from |      non-zero if this operand type can not actually be extracted from | ||||||
|      this operand (i.e., the instruction does not match).  If the |      this operand (i.e., the instruction does not match).  If the | ||||||
|      operand is valid, *INVALID will not be changed.  */ |      operand is valid, *INVALID will not be changed.  */ | ||||||
|   long (*extract) PARAMS ((unsigned long instruction, int *invalid)); |   long (*extract) PARAMS ((unsigned long instruction, int dialect, | ||||||
|  | 			   int *invalid)); | ||||||
|  |  | ||||||
|   /* One bit syntax flags.  */ |   /* One bit syntax flags.  */ | ||||||
|   unsigned long flags; |   unsigned long flags; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user