xstormy16: New test directory.
* gcc.target/xstormy16: New test directory. * gcc.target/xstormy16/xstormy16.exp: Run the new tests. * gcc.target/xstormy16/bp.c: Check the generation of bp instructions. * gcc.target/xstormy16/below_100.c: Check the generation of bp and bn instructions and the BELOW100 attribute. From-SVN: r91627
This commit is contained in:
parent
4cf93d7c05
commit
1a06672a3b
@ -1,3 +1,12 @@
|
||||
2004-12-02 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* gcc.target/xstormy16: New test directory.
|
||||
* gcc.target/xstormy16/xstormy16.exp: Run the new tests.
|
||||
* gcc.target/xstormy16/bp.c: Check the generation of bp
|
||||
instructions.
|
||||
* gcc.target/xstormy16/below_100.c: Check the generation of bp and
|
||||
bn instructions and the BELOW100 attribute.
|
||||
|
||||
2004-12-02 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
PR target/16952
|
||||
|
30
gcc/testsuite/gcc.target/xstormy16/below_100.c
Normal file
30
gcc/testsuite/gcc.target/xstormy16/below_100.c
Normal file
@ -0,0 +1,30 @@
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-O2" } */
|
||||
/* { dg-final { scan-assembler "bn " } } */
|
||||
/* { dg-final { scan-assembler "bp " } } */
|
||||
|
||||
unsigned short a_below __attribute__((__BELOW100__));
|
||||
unsigned short b_below __attribute__((__BELOW100__));
|
||||
unsigned short * a_ptr = & a_below;
|
||||
unsigned short * b_ptr = & b_below;
|
||||
|
||||
char *
|
||||
foo (void)
|
||||
{
|
||||
if (a_below & 0x0100)
|
||||
{
|
||||
if (b_below & 0x0100)
|
||||
return "Fail";
|
||||
return "Success";
|
||||
}
|
||||
|
||||
return "Fail";
|
||||
}
|
||||
|
||||
char *
|
||||
bar (void)
|
||||
{
|
||||
*a_ptr = 0x0100;
|
||||
*b_ptr = 0xfeff;
|
||||
return foo ();
|
||||
}
|
34
gcc/testsuite/gcc.target/xstormy16/bp.c
Normal file
34
gcc/testsuite/gcc.target/xstormy16/bp.c
Normal file
@ -0,0 +1,34 @@
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-O2" } */
|
||||
/* { dg-final { scan-assembler "bp " } } */
|
||||
|
||||
#define a_val (*((volatile unsigned char *) 0x7f14))
|
||||
#define b_val (*((volatile unsigned char *) 0x7f10))
|
||||
|
||||
unsigned char * a_ptr = (unsigned char *) 0x7f14;
|
||||
unsigned char * b_ptr = (unsigned char *) 0x7f10;
|
||||
|
||||
int
|
||||
foo (void)
|
||||
{
|
||||
if (a_val & 0x08)
|
||||
{
|
||||
if (b_val & 0x08)
|
||||
return -1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
int
|
||||
bar (void)
|
||||
{
|
||||
*a_ptr = 0x08;
|
||||
*b_ptr = 0xf7;
|
||||
|
||||
return foo ();
|
||||
}
|
||||
|
||||
|
23
gcc/testsuite/gcc.target/xstormy16/xstormy16.exp
Normal file
23
gcc/testsuite/gcc.target/xstormy16/xstormy16.exp
Normal file
@ -0,0 +1,23 @@
|
||||
# Tests for the xstormy16
|
||||
|
||||
if {![istarget xstormy16-*-*]} {
|
||||
return 0
|
||||
}
|
||||
|
||||
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
|
Loading…
Reference in New Issue
Block a user