Hi,
Attached is a patch that fixes the acceptance of all legal symbolic
operands for DMB, DSB and ISB barrier instructions. it also fixes the
acceptance of legal immediate values for operands which was previously
considered as garbage.
--
Tejas Belagod
ARM.
Proposed ChangeLog:
2010-07-08 Tejas Belagod<tejas.belagod@arm.com>
gas/testsuite
* gas/arm/barrier.s: New file.
* gas/arm/barrier.d: New file.
* gas/arm/barrier-thumb.s: New file.
* gas/arm/barrier-thumb.d: New file.
* gas/arm/barrier-bad.s: New file.
* gas/arm/barrier-bad.d: New file.
* gas/arm/barrier-bad.l: New file.
* gas/arm/barrier-bad-thumb.s: New file.
* gas/arm/barrier-bad-thumb.d: New file.
* gas/arm/barrier-bad-thumb.l: New file.
gas/config
* tc-arm.c (OP_oBARRIER): Remove.
(OP_oBARRIER_I15): Add.
(po_barrier_or_imm): Add macro.
(parse_operands): Improve OP_oBARRIER_I15 operand parsing.
(do_barrier): Check correct immediate range.
(do_t_barrier): Likewise.
(barrier_opt_names): Add entries for more symbolic operands.
(insns): Replace OP_oBARRIER with OP_oBARRIER_I15 for barriers.
opcodes/
* arm-dis.c (print_insn_arm): Add cases for printing more
symbolic operands.
(print_insn_thumb32): Likewise.