aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorChung-Ju Wu <jasonwucj@gmail.com>2014-07-04 07:18:19 +0000
committerChung-Ju Wu <jasonwucj@gcc.gnu.org>2014-07-04 07:18:19 +0000
commitc0c935b507bc4b8d8489956da1f35edc529233bd (patch)
tree14f32e91286ed5b26e527d72db2ff1f67914c0a0 /gcc
parenta03bd0056c58764adeda4797f5829ff031859646 (diff)
downloadgcc-c0c935b507bc4b8d8489956da1f35edc529233bd.zip
gcc-c0c935b507bc4b8d8489956da1f35edc529233bd.tar.gz
gcc-c0c935b507bc4b8d8489956da1f35edc529233bd.tar.bz2
Add several new files for preparation of providing modules
that are going to be separated from nds32.c source. gcc/ * config.gcc (nds32*): Add new modules to extra_objs. (nds32le-*-*): Use t-nds32 makefile fragment for new modules. (nds32be-*-*): Likewise. * config/nds32/nds32-cost.c: New file. * config/nds32/nds32-fp-as-gp.c: New file. * config/nds32/nds32-intrinsic.c: New file. * config/nds32/nds32-isr.c: New file. * config/nds32/nds32-md-auxiliary.c: New file. * config/nds32/nds32-memory-manipulation.c: New file. * config/nds32/nds32-pipelines-auxiliary.c: New file. * config/nds32/nds32-predicates.c: New file. * config/nds32/t-nds32: New file. Co-Authored-By: Kito Cheng <kito@0xlab.org> Co-Authored-By: Monk Chiang <sh.chiang04@gmail.com> From-SVN: r212280
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog17
-rw-r--r--gcc/config.gcc5
-rw-r--r--gcc/config/nds32/nds32-cost.c19
-rw-r--r--gcc/config/nds32/nds32-fp-as-gp.c19
-rw-r--r--gcc/config/nds32/nds32-intrinsic.c19
-rw-r--r--gcc/config/nds32/nds32-isr.c19
-rw-r--r--gcc/config/nds32/nds32-md-auxiliary.c20
-rw-r--r--gcc/config/nds32/nds32-memory-manipulation.c20
-rw-r--r--gcc/config/nds32/nds32-pipelines-auxiliary.c20
-rw-r--r--gcc/config/nds32/nds32-predicates.c19
-rw-r--r--gcc/config/nds32/t-nds3251
11 files changed, 226 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c1a2afb..0f7bfd2 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,20 @@
+2014-07-04 Chung-Ju Wu <jasonwucj@gmail.com>
+ Kito Cheng <kito@0xlab.org>
+ Monk Chiang <sh.chiang04@gmail.com>
+
+ * config.gcc (nds32*): Add new modules to extra_objs.
+ (nds32le-*-*): Use t-nds32 makefile fragment for new modules.
+ (nds32be-*-*): Likewise.
+ * config/nds32/nds32-cost.c: New file.
+ * config/nds32/nds32-fp-as-gp.c: New file.
+ * config/nds32/nds32-intrinsic.c: New file.
+ * config/nds32/nds32-isr.c: New file.
+ * config/nds32/nds32-md-auxiliary.c: New file.
+ * config/nds32/nds32-memory-manipulation.c: New file.
+ * config/nds32/nds32-pipelines-auxiliary.c: New file.
+ * config/nds32/nds32-predicates.c: New file.
+ * config/nds32/t-nds32: New file.
+
2014-07-03 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/61682
diff --git a/gcc/config.gcc b/gcc/config.gcc
index dc5cdca..cfb5014 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -414,6 +414,7 @@ mips*-*-*)
nds32*)
cpu_type=nds32
extra_headers="nds32_intrinsic.h"
+ extra_objs="nds32-cost.o nds32-intrinsic.o nds32-isr.o nds32-md-auxiliary.o nds32-pipelines-auxiliary.o nds32-predicates.o nds32-memory-manipulation.o nds32-fp-as-gp.o"
;;
nios2-*-*)
cpu_type=nios2
@@ -2117,13 +2118,13 @@ nds32le-*-*)
target_cpu_default="0"
tm_defines="${tm_defines}"
tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
- tmake_file="nds32/t-mlibs"
+ tmake_file="nds32/t-nds32 nds32/t-mlibs"
;;
nds32be-*-*)
target_cpu_default="0|MASK_BIG_ENDIAN"
tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
- tmake_file="nds32/t-mlibs"
+ tmake_file="nds32/t-nds32 nds32/t-mlibs"
;;
nios2-*-*)
tm_file="elfos.h ${tm_file}"
diff --git a/gcc/config/nds32/nds32-cost.c b/gcc/config/nds32/nds32-cost.c
new file mode 100644
index 0000000..d1e4e9d
--- /dev/null
+++ b/gcc/config/nds32/nds32-cost.c
@@ -0,0 +1,19 @@
+/* Subroutines used for calculate rtx costs of Andes NDS32 cpu for GNU compiler
+ Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Contributed by Andes Technology Corporation.
+
+ This file is part of GCC.
+
+ GCC is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published
+ by the Free Software Foundation; either version 3, or (at your
+ option) any later version.
+
+ GCC is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with GCC; see the file COPYING3. If not see
+ <http://www.gnu.org/licenses/>. */
diff --git a/gcc/config/nds32/nds32-fp-as-gp.c b/gcc/config/nds32/nds32-fp-as-gp.c
new file mode 100644
index 0000000..a292358
--- /dev/null
+++ b/gcc/config/nds32/nds32-fp-as-gp.c
@@ -0,0 +1,19 @@
+/* The fp-as-gp pass of Andes NDS32 cpu for GNU compiler
+ Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Contributed by Andes Technology Corporation.
+
+ This file is part of GCC.
+
+ GCC is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published
+ by the Free Software Foundation; either version 3, or (at your
+ option) any later version.
+
+ GCC is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with GCC; see the file COPYING3. If not see
+ <http://www.gnu.org/licenses/>. */
diff --git a/gcc/config/nds32/nds32-intrinsic.c b/gcc/config/nds32/nds32-intrinsic.c
new file mode 100644
index 0000000..9261f5e
--- /dev/null
+++ b/gcc/config/nds32/nds32-intrinsic.c
@@ -0,0 +1,19 @@
+/* Intrinsic functions of Andes NDS32 cpu for GNU compiler
+ Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Contributed by Andes Technology Corporation.
+
+ This file is part of GCC.
+
+ GCC is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published
+ by the Free Software Foundation; either version 3, or (at your
+ option) any later version.
+
+ GCC is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with GCC; see the file COPYING3. If not see
+ <http://www.gnu.org/licenses/>. */
diff --git a/gcc/config/nds32/nds32-isr.c b/gcc/config/nds32/nds32-isr.c
new file mode 100644
index 0000000..bf0f84a
--- /dev/null
+++ b/gcc/config/nds32/nds32-isr.c
@@ -0,0 +1,19 @@
+/* Subroutines used for ISR of Andes NDS32 cpu for GNU compiler
+ Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Contributed by Andes Technology Corporation.
+
+ This file is part of GCC.
+
+ GCC is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published
+ by the Free Software Foundation; either version 3, or (at your
+ option) any later version.
+
+ GCC is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with GCC; see the file COPYING3. If not see
+ <http://www.gnu.org/licenses/>. */
diff --git a/gcc/config/nds32/nds32-md-auxiliary.c b/gcc/config/nds32/nds32-md-auxiliary.c
new file mode 100644
index 0000000..c3dcbba
--- /dev/null
+++ b/gcc/config/nds32/nds32-md-auxiliary.c
@@ -0,0 +1,20 @@
+/* Auxiliary functions for output asm template or expand rtl
+ pattern of Andes NDS32 cpu for GNU compiler
+ Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Contributed by Andes Technology Corporation.
+
+ This file is part of GCC.
+
+ GCC is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published
+ by the Free Software Foundation; either version 3, or (at your
+ option) any later version.
+
+ GCC is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with GCC; see the file COPYING3. If not see
+ <http://www.gnu.org/licenses/>. */
diff --git a/gcc/config/nds32/nds32-memory-manipulation.c b/gcc/config/nds32/nds32-memory-manipulation.c
new file mode 100644
index 0000000..aece10b
--- /dev/null
+++ b/gcc/config/nds32/nds32-memory-manipulation.c
@@ -0,0 +1,20 @@
+/* Auxiliary functions for expand movmem, setmem, cmpmem, load_multiple
+ and store_multiple pattern of Andes NDS32 cpu for GNU compiler
+ Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Contributed by Andes Technology Corporation.
+
+ This file is part of GCC.
+
+ GCC is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published
+ by the Free Software Foundation; either version 3, or (at your
+ option) any later version.
+
+ GCC is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with GCC; see the file COPYING3. If not see
+ <http://www.gnu.org/licenses/>. */
diff --git a/gcc/config/nds32/nds32-pipelines-auxiliary.c b/gcc/config/nds32/nds32-pipelines-auxiliary.c
new file mode 100644
index 0000000..720e889
--- /dev/null
+++ b/gcc/config/nds32/nds32-pipelines-auxiliary.c
@@ -0,0 +1,20 @@
+/* Auxiliary functions for pipeline descriptions pattern of Andes
+ NDS32 cpu for GNU compiler
+ Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Contributed by Andes Technology Corporation.
+
+ This file is part of GCC.
+
+ GCC is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published
+ by the Free Software Foundation; either version 3, or (at your
+ option) any later version.
+
+ GCC is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with GCC; see the file COPYING3. If not see
+ <http://www.gnu.org/licenses/>. */
diff --git a/gcc/config/nds32/nds32-predicates.c b/gcc/config/nds32/nds32-predicates.c
new file mode 100644
index 0000000..2c0ac0b
--- /dev/null
+++ b/gcc/config/nds32/nds32-predicates.c
@@ -0,0 +1,19 @@
+/* Predicate functions of Andes NDS32 cpu for GNU compiler
+ Copyright (C) 2012-2014 Free Software Foundation, Inc.
+ Contributed by Andes Technology Corporation.
+
+ This file is part of GCC.
+
+ GCC is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published
+ by the Free Software Foundation; either version 3, or (at your
+ option) any later version.
+
+ GCC is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with GCC; see the file COPYING3. If not see
+ <http://www.gnu.org/licenses/>. */
diff --git a/gcc/config/nds32/t-nds32 b/gcc/config/nds32/t-nds32
new file mode 100644
index 0000000..489e910
--- /dev/null
+++ b/gcc/config/nds32/t-nds32
@@ -0,0 +1,51 @@
+# General rules that all nds32/ targets must have.
+# Copyright (C) 2012-2014 Free Software Foundation, Inc.
+# Contributed by Andes Technology Corporation.
+#
+# This file is part of GCC.
+#
+# GCC is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# GCC is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GCC; see the file COPYING3. If not see
+# <http://www.gnu.org/licenses/>.
+
+nds32-cost.o: $(srcdir)/config/nds32/nds32-cost.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
+
+nds32-intrinsic.o: $(srcdir)/config/nds32/nds32-intrinsic.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
+
+nds32-isr.o: $(srcdir)/config/nds32/nds32-isr.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
+
+nds32-md-auxiliary.o: $(srcdir)/config/nds32/nds32-md-auxiliary.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
+
+nds32-pipelines-auxiliary.o: $(srcdir)/config/nds32/nds32-pipelines-auxiliary.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
+
+nds32-predicates.o: $(srcdir)/config/nds32/nds32-predicates.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
+
+nds32-memory-manipulation.o: $(srcdir)/config/nds32/nds32-memory-manipulation.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
+
+nds32-fp-as-gp.o: $(srcdir)/config/nds32/nds32-fp-as-gp.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)