diff options
author | Ben Cheng <bccheng@google.com> | 2014-03-25 22:37:19 -0700 |
---|---|---|
committer | Ben Cheng <bccheng@google.com> | 2014-03-25 22:37:19 -0700 |
commit | 1bc5aee63eb72b341f506ad058502cd0361f0d10 (patch) | |
tree | c607e8252f3405424ff15bc2d00aa38dadbb2518 /gcc-4.9/gcc/testsuite/gcc.target/nds32 | |
parent | 283a0bf58fcf333c58a2a92c3ebbc41fb9eb1fdb (diff) | |
download | toolchain_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')
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 |