2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
commit804de48f8b7b51653944857f702117ea645b5346
authorsandra <sandra@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 14 Jul 2015 23:43:48 +0000 (14 23:43 +0000)
committersandra <sandra@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 14 Jul 2015 23:43:48 +0000 (14 23:43 +0000)
treea1ebc88c554b085e5722372d81bb1fb10519908b
parentf22b250dbdcd0bb213963d40c97f726a46f64cfa
2015-07-14  Sandra Loosemore  <sandra@codesourcery.com>
    Cesar Philippidis  <cesar@codesourcery.com>
    Chung-Lin Tang  <cltang@codesourcery.com>

gcc/
* config/nios2/constraints.md (U, v): New constraints.
* config/nios2/predicates.md (rdprs_dcache_operand): New.
(ldstex_memory_operand): New.
* config/nios2/sync.md: New file.
* config/nios2/nios2.md (unspecv): Add new builtin function
UNSPECV codes.
(rdprs, flushd, flushda, wrpie, eni): New patterns.
(top-level): Include sync.md.
* config/nios2/nios2.c (N2_FTYPES): Add function types for
new builtins.
(N2_BUILTINS): Add arch field setting, add new builtins.
(enum nios2_builtin_code,nios2_builtins): Update N2_BUILTIN_DEF
for arch field.
(nios2_expand_ldst_builtin): Rename from nios2_expand_ldstio_builtin.
Also handle ldex/stex/ldsex/stsex builtins.
(nios2_expand_rdprs_builtin): New function.
(nios2_expand_cache_builtin): New function.
(nios2_expand_wrpie_builtin): New function.
(nios2_expand_eni_builtin): New function.
(nios2_expand_builtin): Add arch field handling and new builtin
        cases.
* doc/extend.texi (Altera Nios II Built-in Functions): Document
new builtins.
* doc/md.texi (Machine Constraints): Document U and v constraints.

gcc/testsuite/
* gcc.target/nios2/nios2-flushd.c: New.
* gcc.target/nios2/nios2-rdprs.c: New.
* gcc.target/nios2/r2-atomic.c: New.
* gcc.target/nios2/r2-eni.c: New.
* gcc.target/nios2/r2-wrpie.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225800 138bc75d-0d04-0410-961f-82ee72b054a4
14 files changed:
gcc/ChangeLog
gcc/config/nios2/constraints.md
gcc/config/nios2/nios2.c
gcc/config/nios2/nios2.md
gcc/config/nios2/predicates.md
gcc/config/nios2/sync.md [new file with mode: 0644]
gcc/doc/extend.texi
gcc/doc/md.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/nios2/nios2-flushd.c [new file with mode: 0644]
gcc/testsuite/gcc.target/nios2/nios2-rdprs.c [new file with mode: 0644]
gcc/testsuite/gcc.target/nios2/r2-atomic.c [new file with mode: 0644]
gcc/testsuite/gcc.target/nios2/r2-eni.c [new file with mode: 0644]
gcc/testsuite/gcc.target/nios2/r2-wrpie.c [new file with mode: 0644]