
	* config/tc-arm.c (struct arm_it): Add postind field to operands;
	reorder operands bitfields to put all address bits together.
	(CP_T_PRE, CP_T_UD, CP_T_WB): Delete.
	(cp_address_required_here): Split into parse_cp_address and
	encode_cp_address_arm.  Restructure for use via parse_operands.
	(OP_I4): Rename OP_bI4.
	(OP_CADDR, OP_RIWR_RIWC): New operand parse codes.
	(parse_operands): Support new codes.  Do not require prefix for bI4.
	(do_lstc, do_vfp_sp_ldst, do_vfp_dp_ldst, dp_fpa_ldst, do_fpa_ldmstm)
	(do_iwmmxt_wldst, do_iwmmxt_wldstw, do_mav_ldst): Use parse_operands.
	(do_mav_ldst_1, do_mav_ldst_2, do_mav_ldst_3, do_mav_ldst_4):
	Update to match.
	(md_apply_fix3): Share most code between BFD_RELOC_ARM_CP_OFF_IMM and
	BFD_RELOC_ARM_CP_OFF_IMM_S2.  For these, clear WRITE_BACK if value is
	zero.
	* testsuite/gas/arm/vfp-bad.l: Adjust expected diagnostics.

