• Alan Modra's avatar
    include/opcode/ · b84bf58a
    Alan Modra authored
    	* ppc.h (struct powerpc_operand): Replace "bits" with "bitm".
    	(num_powerpc_operands): Declare.
    	(PPC_OPERAND_SIGNED et al): Redefine as hex.
    	(PPC_OPERAND_PLUS1): Define.
    opcodes/
    	* ppc-dis.c (print_insn_powerpc): Adjust for struct powerpc_operand
    	change.
    	* ppc-opc.c (powerpc_operands): Replace bit count with bit mask
    	in all entries.  Add PPC_OPERAND_SIGNED to DE entry.  Remove
    	references to following deleted functions.
    	(insert_bd, extract_bd, insert_dq, extract_dq): Delete.
    	(insert_ds, extract_ds, insert_de, extract_de): Delete.
    	(insert_des, extract_des, insert_li, extract_li): Delete.
    	(insert_nb, insert_rsq, insert_rtq, insert_ev2, extract_ev2): Delete.
    	(insert_ev4, extract_ev4, insert_ev8, extract_ev8): Delete.
    	(num_powerpc_operands): New constant.
    	(XSPRG_MASK): Remove entire SPRG field.
    	(powerpc_opcodes <bcctre, bcctrel>): Use XLBB_MASK not XLYBB_MASK.
    gas/
    	* messages.c (as_internal_value_out_of_range): Extend to report
    	errors for values with invalid low bits set.
    	* config/tc-ppc.c (ppc_setup_opcodes): Check powerpc_operands bitm
    	fields.  Check that operands and opcode fields are disjoint.
    	(ppc_insert_operand): Check operands using mask rather than bit
    	count.   Check low bits too.  Handle PPC_OPERAND_PLUS1.  Adjust
    	insertion code.
    	(md_apply_fix): Adjust for struct powerpc_operand change.
    b84bf58a
ppc.h 11.9 KB