aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.target/nds32
diff options
context:
space:
mode:
authorBen Cheng <bccheng@google.com>2014-03-25 22:37:19 -0700
committerBen Cheng <bccheng@google.com>2014-03-25 22:37:19 -0700
commit1bc5aee63eb72b341f506ad058502cd0361f0d10 (patch)
treec607e8252f3405424ff15bc2d00aa38dadbb2518 /gcc-4.9/gcc/testsuite/gcc.target/nds32
parent283a0bf58fcf333c58a2a92c3ebbc41fb9eb1fdb (diff)
downloadtoolchain_gcc-1bc5aee63eb72b341f506ad058502cd0361f0d10.tar.gz
toolchain_gcc-1bc5aee63eb72b341f506ad058502cd0361f0d10.tar.bz2
toolchain_gcc-1bc5aee63eb72b341f506ad058502cd0361f0d10.zip
Initial checkin of GCC 4.9.0 from trunk (r208799).
Change-Id: I48a3c08bb98542aa215912a75f03c0890e497dba
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.target/nds32')
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.target/nds32/basic-main.c9
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.target/nds32/builtin-isb.c11
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.target/nds32/builtin-isync.c12
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.target/nds32/builtin-mfsr-mtsr.c17
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.target/nds32/builtin-mfusr-mtusr.c17
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.target/nds32/builtin-setgie-dis.c11
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.target/nds32/builtin-setgie-en.c11
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.target/nds32/nds32.exp45
8 files changed, 133 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.target/nds32/basic-main.c b/gcc-4.9/gcc/testsuite/gcc.target/nds32/basic-main.c
new file mode 100644
index 000000000..6fdbc357f
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.target/nds32/basic-main.c
@@ -0,0 +1,9 @@
+/* This is a basic main function test program. */
+
+/* { dg-do run } */
+/* { dg-options "-O0" } */
+
+int main(void)
+{
+ return 0;
+}
diff --git a/gcc-4.9/gcc/testsuite/gcc.target/nds32/builtin-isb.c b/gcc-4.9/gcc/testsuite/gcc.target/nds32/builtin-isb.c
new file mode 100644
index 000000000..e65061bae
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.target/nds32/builtin-isb.c
@@ -0,0 +1,11 @@
+/* Verify that we generate isb instruction with builtin function. */
+
+/* { dg-do compile } */
+/* { dg-options "-O0" } */
+/* { dg-final { scan-assembler "\\tisb" } } */
+
+void
+test (void)
+{
+ __builtin_nds32_isb ();
+}
diff --git a/gcc-4.9/gcc/testsuite/gcc.target/nds32/builtin-isync.c b/gcc-4.9/gcc/testsuite/gcc.target/nds32/builtin-isync.c
new file mode 100644
index 000000000..3160e4ad3
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.target/nds32/builtin-isync.c
@@ -0,0 +1,12 @@
+/* Verify that we generate isync instruction with builtin function. */
+
+/* { dg-do compile } */
+/* { dg-options "-O0" } */
+/* { dg-final { scan-assembler "\\tisync" } } */
+
+void
+test (void)
+{
+ int *addr = (int *) 0x53000000;
+ __builtin_nds32_isync (addr);
+}
diff --git a/gcc-4.9/gcc/testsuite/gcc.target/nds32/builtin-mfsr-mtsr.c b/gcc-4.9/gcc/testsuite/gcc.target/nds32/builtin-mfsr-mtsr.c
new file mode 100644
index 000000000..db4c55845
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.target/nds32/builtin-mfsr-mtsr.c
@@ -0,0 +1,17 @@
+/* Verify that we generate mfsr/mtsr instruction with builtin function. */
+
+/* { dg-do compile } */
+/* { dg-options "-O0" } */
+/* { dg-final { scan-assembler "\\tmfsr" } } */
+/* { dg-final { scan-assembler "\\tmtsr" } } */
+
+#include <nds32_intrinsic.h>
+
+void
+test (void)
+{
+ int ipsw_value;
+
+ ipsw_value = __builtin_nds32_mfsr (__NDS32_REG_IPSW__);
+ __builtin_nds32_mtsr (ipsw_value, __NDS32_REG_IPSW__);
+}
diff --git a/gcc-4.9/gcc/testsuite/gcc.target/nds32/builtin-mfusr-mtusr.c b/gcc-4.9/gcc/testsuite/gcc.target/nds32/builtin-mfusr-mtusr.c
new file mode 100644
index 000000000..3cfaab951
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.target/nds32/builtin-mfusr-mtusr.c
@@ -0,0 +1,17 @@
+/* Verify that we generate mfusr/mtusr instruction with builtin function. */
+
+/* { dg-do compile } */
+/* { dg-options "-O0" } */
+/* { dg-final { scan-assembler "\\tmfusr" } } */
+/* { dg-final { scan-assembler "\\tmtusr" } } */
+
+#include <nds32_intrinsic.h>
+
+void
+test (void)
+{
+ int itype_value;
+
+ itype_value = __builtin_nds32_mfusr (__NDS32_REG_ITYPE__);
+ __builtin_nds32_mtusr (itype_value, __NDS32_REG_ITYPE__);
+}
diff --git a/gcc-4.9/gcc/testsuite/gcc.target/nds32/builtin-setgie-dis.c b/gcc-4.9/gcc/testsuite/gcc.target/nds32/builtin-setgie-dis.c
new file mode 100644
index 000000000..2dceed98a
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.target/nds32/builtin-setgie-dis.c
@@ -0,0 +1,11 @@
+/* Verify that we generate setgie.d instruction with builtin function. */
+
+/* { dg-do compile } */
+/* { dg-options "-O0" } */
+/* { dg-final { scan-assembler "\\tsetgie.d" } } */
+
+void
+test (void)
+{
+ __builtin_nds32_setgie_dis ();
+}
diff --git a/gcc-4.9/gcc/testsuite/gcc.target/nds32/builtin-setgie-en.c b/gcc-4.9/gcc/testsuite/gcc.target/nds32/builtin-setgie-en.c
new file mode 100644
index 000000000..892887019
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.target/nds32/builtin-setgie-en.c
@@ -0,0 +1,11 @@
+/* Verify that we generate setgie.e instruction with builtin function. */
+
+/* { dg-do compile } */
+/* { dg-options "-O0" } */
+/* { dg-final { scan-assembler "\\tsetgie.e" } } */
+
+void
+test (void)
+{
+ __builtin_nds32_setgie_en ();
+}
diff --git a/gcc-4.9/gcc/testsuite/gcc.target/nds32/nds32.exp b/gcc-4.9/gcc/testsuite/gcc.target/nds32/nds32.exp
new file mode 100644
index 000000000..14665653a
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.target/nds32/nds32.exp
@@ -0,0 +1,45 @@
+# Target test cases 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/>.
+
+# GCC testsuite that uses the `dg.exp' driver.
+
+# Exit immediately if this isn't a nds32 target.
+if ![istarget nds32*-*-*] then {
+ return
+}
+
+# Load support procs.
+load_lib gcc-dg.exp
+
+# If a testcase doesn't have special options, use these.
+global DEFAULT_CFLAGS
+if ![info exists DEFAULT_CFLAGS] then {
+ set DEFAULT_CFLAGS " -ansi -pedantic-errors"
+}
+
+# Initialize `dg'.
+dg-init
+
+# Main loop.
+dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cS\]]] \
+ "" $DEFAULT_CFLAGS
+
+# All done.
+dg-finish