Adapt atomic compare and swap to ARMv8-M Baseline
authorThomas Preud'homme <thomas.preudhomme@arm.com>
Wed, 26 Oct 2016 16:17:54 +0000 (16:17 +0000)
committerThomas Preud'homme <thopre01@gcc.gnu.org>
Wed, 26 Oct 2016 16:17:54 +0000 (16:17 +0000)
commit3a5a75b53a278188c21a2a2dc53ebf309a2b1a09
treee2400171a48808237a6f4ea911f76f522370f9ef
parent12286f25cddbf8e8b3a810442ffa4959da315c31
Adapt atomic compare and swap to ARMv8-M Baseline

2016-10-26  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config/arm/sync.md (atomic_compare_and_swap<mode>_1): Add new ARMv8-M
    Baseline only alternatives to (i) hold store atomic success value in a
    return register rather than a scratch register, (ii) use a low register
    for it and to (iii) ensure the cbranchsi insn generated by the split
    respect the constraints of Thumb-1 cbranchsi4_insn and
    cbranchsi4_scratch.
    * config/arm/thumb1.md (cbranchsi4_insn): Add comment to indicate
    constraints must match those in atomic_compare_and_swap.
    (cbranchsi4_scratch): Likewise.

From-SVN: r241578
gcc/ChangeLog
gcc/config/arm/sync.md
gcc/config/arm/thumb1.md