On 25 September 2014 04:45, Michael Collison <michael.colli...@linaro.org> wrote: > On certain patterns in atomics.md the constraint 'n' is used in combination > with the predicate atomic_op_operand. The constraint is too general and > allows constants that are disallowed by the predicate. This causes an ICE In > final_scan_insn when the insn cannot be split because the constraint and > predicate do not match. > > Tested on aarch64-none-elf, aarch64-linux-gnu. Additionally the originally > reporter of the bug, (d...@ubuntu.com), applied the patch and successfully > bootstrapped and tested with no regressions. > > 2014-09-23 Michael Collison <michael.colli...@linaro.org> > > * config/aarch64/iterators.md (lconst_atomic): New mode attribute to > support constraints for CONST_INT in atomic operations. > * config/aarch64/atomics.md > (atomic_<atomic_optab><mode>): Use lconst_atomic constraint. > (atomic_nand<mode>): Likewise. > (atomic_fetch_<atomic_optab><mode>): Likewise. > (atomic_fetch_nand<mode>): Likewise. > (atomic_<atomic_optab>_fetch<mode>): Likewise. > (atomic_nand_fetch<mode>): Likewise.
OK Thanks. /Marcus