https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64660

--- Comment #2 from Oleg Endo <olegendo at gcc dot gnu.org> ---
Author: olegendo
Date: Tue Feb  3 20:24:13 2015
New Revision: 220376

URL: https://gcc.gnu.org/viewcvs?rev=220376&root=gcc&view=rev
Log:
gcc/
    PR target/64660
    * config/sh/sync.md (atomic_<fetchop_name><mode>_hard,
    atomic_not<mode>_hard, atomic_<fetchop_name><mode>_soft_tcb,
    atomic_not<mode>_soft_tcb, atomic_nand<mode>_hard,
    atomic_nand<mode>_soft_tcb): New insns.
    (atomic_fetch_<fetchop_name>si_hard): Convert to insn_and_split.
    Split into atomic_<fetchop_name>_fetchsi_hard if operands[0] is unused.
    (define_insn "atomic_fetch_notsi_hard): Convert to insn_and_split.
    Split into atomic_not_fetchsi_hard if operands[0] is unused.
    (atomic_fetch_<fetchop_name><mode>_hard): Convert to insn_and_split.
    Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
    (atomic_fetch_not<mode>_hard): Convert to insn_and_split.  Split into
    atomic_not<mode>_hard if operands[0] is unused.
    (atomic_fetch_<fetchop_name><mode>_soft_gusa): Convert to
    insn_and_split.  Split into atomic_<fetchop_name>_fetch<mode>_soft_gusa
    if operands[0] is unused.
    (atomic_fetch_not<mode>_soft_gusa): Convert to insn_and_split.  Split
    into atomic_not_fetch<mode>_soft_gusa if operands[0] is unused.
    (atomic_fetch_<fetchop_name><mode>_soft_tcb): Convert to insn_and_split.
    Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
    unused.
    (atomic_fetch_not<mode>_soft_tcb): Convert to insn_and_split.  Split
    into atomic_not<mode>_soft_tcb if operands[0] is unused.
    (atomic_fetch_<fetchop_name><mode>_soft_imask): Convert to
    insn_and_split.  Split into atomic_<fetchop_name>_fetch<mode>_soft_imask
    if operands[0] is unused.
    (atomic_fetch_not<mode>_soft_imask): Convert to insn_and_split.  Split
    into atomic_not_fetch<mode>_soft_imask is operands[0] is unused.
    (atomic_fetch_nandsi_hard): Convert to insn_and_split.  Split into
    atomic_nand_fetchsi_hard if operands[0] is unused.
    (atomic_fetch_nand<mode>_hard): Convert to insn_and_split.  Split into
    atomic_nand<mode>_hard if operands[0] is unused.
    (atomic_fetch_nand<mode>_soft_gusa): Convert to insn_and_split.  Split
    into atomic_nand_fetch<mode>_soft_gusa if operands[0] is unused.
    (atomic_fetch_nand<mode>_soft_tcb): Convert to insn_and_split.  Split
    into atomic_nand<mode>_soft_tcb if operands[0] is unused.
    (atomic_fetch_nand<mode>_soft_imask): Convert to insn_and_split.  Split
    into atomic_nand_fetch<mode>_soft_imask if operands[0] is unused.
    (atomic_<fetchop_name>_fetch<mode>_hard): Convert to insn_and_split.
    Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
    (atomic_not_fetch<mode>_hard): Convert to insn_and_split.  Split into
    atomic_not<mode>_hard if operands[0] is unused.
    (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Convert to insn_and_split.
    Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
    unused.
    (atomic_not_fetch<mode>_soft_tcb): Convert to insn_and_split.  Split
    into atomic_not<mode>_soft_tcb if operands[0] is unused.
    (atomic_nand_fetch<mode>_hard): Convert to insn_and_split.  Split into
    atomic_nand<mode>_hard if operands[0] is unused.
    (atomic_nand_fetch<mode>_soft_tcb): Convert to insn_and_split.  Split
    into atomic_nand<mode>_soft_tcb if operands[0] is unused.

gcc/testsuite/
    PR target/64660
    * gcc.target/sh/pr64660-0.h: New.
    * gcc.target/sh/pr64660-1.c: New.
    * gcc.target/sh/pr64660-2.c: New.
    * gcc.target/sh/pr64660-3.c: New.
    * gcc.target/sh/pr64660-4.c: New.

Added:
    trunk/gcc/testsuite/gcc.target/sh/pr64660-0.h
    trunk/gcc/testsuite/gcc.target/sh/pr64660-1.c
    trunk/gcc/testsuite/gcc.target/sh/pr64660-2.c
    trunk/gcc/testsuite/gcc.target/sh/pr64660-3.c
    trunk/gcc/testsuite/gcc.target/sh/pr64660-4.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/sh/sync.md
    trunk/gcc/testsuite/ChangeLog

Reply via email to