]> git.ipfire.org Git - thirdparty/gcc.git/commit
arc.h (SYMBOL_FLAG_CMEM): Define.
authorJoern Rennecke <joern.rennecke@embecosm.com>
Thu, 28 Apr 2016 18:21:42 +0000 (18:21 +0000)
committerJoern Rennecke <amylaar@gcc.gnu.org>
Thu, 28 Apr 2016 18:21:42 +0000 (19:21 +0100)
commit4d03dc2fdfb459f6ff9f5a913d7d48588ca48bf9
treec92cdbd7e8ce52f3a6b0c28d4df390eee9b2fad1
parentc0b47f4bf9e1a6be6371d715640c2f4a39f1167b
arc.h (SYMBOL_FLAG_CMEM): Define.

2016-04-28  Joern Rennecke  <joern.rennecke@embecosm.com>
            Andrew Burgess  <andrew.burgess@embecosm.com>
gcc:
        * config/arc/arc.h (SYMBOL_FLAG_CMEM): Define.
        (TARGET_NPS_CMEM_DEFAULT): Provide default definition.
        * config/arc/arc.c (arc_address_cost): Return 0 for cmem_address.
        (arc_encode_section_info): Set SYMBOL_FLAG_CMEM where indicated.
        * config/arc/arc.opt (mcmem): New option.
        * config/arc/arc.md (*extendqihi2_i): Add r/Uex alternative,
        supply length for r/m alternative.
        (*extendqisi2_ac): Likewise.
        (*extendhisi2_i): Add r/Uex alternative, supply length for r/m and
        r/Uex alternative.
        (movqi_insn): Add r/Ucm and Ucm/?Rac alternatives.
        (movhi_insn): Likewise.
        (movsi_insn): Add r/Ucm,Ucm/w alternatives.
        (*zero_extendqihi2_i): Add r/Ucm alternative.
        (*zero_extendqisi2_ac): Likewise.
        (*zero_extendhisi2_i): Likewise.
        * config/arc/constraints.md (Uex): New memory constraint.
        (Ucm): New define_constraint.
        * config/arc/predicates.md (long_immediate_loadstore_operand):
        Return 0 for MEM with cmem_address address.
        (cmem_address_0): New predicates.
        (cmem_address_1): Likewise.
        (cmem_address_2): Likewise.
        (cmem_address): Likewise.
gcc/testsuite:
        * gcc.target/arc/cmem-1.c: New file.
        * gcc.target/arc/cmem-2.c: New file.
        * gcc.target/arc/cmem-3.c: New file.
        * gcc.target/arc/cmem-4.c: New file.
        * gcc.target/arc/cmem-5.c: New file.
        * gcc.target/arc/cmem-6.c: New file.
        * gcc.target/arc/cmem-7.c: New file.
        * gcc.target/arc/cmem-ld.inc: New file.
        * gcc.target/arc/cmem-st.inc: New file.

Co-Authored-By: Andrew Burgess <andrew.burgess@embecosm.com>
From-SVN: r235590
17 files changed:
gcc/ChangeLog
gcc/config/arc/arc.c
gcc/config/arc/arc.h
gcc/config/arc/arc.md
gcc/config/arc/arc.opt
gcc/config/arc/constraints.md
gcc/config/arc/predicates.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/arc/cmem-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arc/cmem-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arc/cmem-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arc/cmem-4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arc/cmem-5.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arc/cmem-6.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arc/cmem-7.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arc/cmem-ld.inc [new file with mode: 0644]
gcc/testsuite/gcc.target/arc/cmem-st.inc [new file with mode: 0644]