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

Reply via email to