OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /openrisc
    from Rev 328 to Rev 329
    Reverse comparison

Rev 328 → Rev 329

/trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/06_b100w_to_var.c
0,0 → 1,22
/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */
/* { dg-final { scan-assembler "mov.w r.,B100" } } */
 
char acDummy[0xf0] __attribute__ ((__BELOW100__));
unsigned short B100 __attribute__ ((__BELOW100__));
unsigned short *p = &B100;
 
unsigned short wData = 0x1234;
 
void
Do (void)
{
wData = B100;
}
 
int
main (void)
{
*p = 0x3456;
Do ();
return (wData == 0x3456) ? 0 : 1;
}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/06_b100w_to_var.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/14_set_b100w_bit_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/14_set_b100w_bit_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/14_set_b100w_bit_0.c (revision 329) @@ -0,0 +1,20 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "set1 B100,#0" } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100 __attribute__ ((__BELOW100__)); +unsigned short *p = &B100; + +void +Do (void) +{ + B100 |= 0x0001; +} + +int +main (void) +{ + *p = 0x1234; + Do (); + return (*p == 0x1235) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/14_set_b100w_bit_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/12_if1_b100b_bit_3.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/12_if1_b100b_bit_3.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/12_if1_b100b_bit_3.c (revision 329) @@ -0,0 +1,31 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#3," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#3," } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned char B100A __attribute__ ((__BELOW100__)); +unsigned char *pA = &B100A; +unsigned char B100B __attribute__ ((__BELOW100__)); +unsigned char *pB = &B100B; + +char * +Do (void) +{ + if (B100A & 0x08) + { + if (B100B & 0x08) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0xcb; + *pB = 0x34; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/12_if1_b100b_bit_3.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/13_if0_b100b_bit_3.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/13_if0_b100b_bit_3.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/13_if0_b100b_bit_3.c (revision 329) @@ -0,0 +1,31 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#3," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#3," } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned char B100A __attribute__ ((__BELOW100__)); +unsigned char *pA = &B100A; +unsigned char B100B __attribute__ ((__BELOW100__)); +unsigned char *pB = &B100B; + +char * +Do (void) +{ + if (!(B100A & 0x08)) + { + if (!(B100B & 0x08)) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0x34; + *pB = 0xcb; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/13_if0_b100b_bit_3.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/11_clr_b100b_bit_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/11_clr_b100b_bit_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/11_clr_b100b_bit_7.c (revision 329) @@ -0,0 +1,20 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "clr1 B100,#7" } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned char B100 __attribute__ ((__BELOW100__)); +unsigned char *p = &B100; + +void +Do (void) +{ + B100 &= ~0x80; +} + +int +main (void) +{ + *p = 0xcb; + Do (); + return (*p == 0x4b) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/11_clr_b100b_bit_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/12_if1_b100b_bit_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/12_if1_b100b_bit_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/12_if1_b100b_bit_7.c (revision 329) @@ -0,0 +1,31 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#7," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#7," } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned char B100A __attribute__ ((__BELOW100__)); +unsigned char *pA = &B100A; +unsigned char B100B __attribute__ ((__BELOW100__)); +unsigned char *pB = &B100B; + +char * +Do (void) +{ + if (B100A & 0x80) + { + if (B100B & 0x80) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0xcb; + *pB = 0x34; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/12_if1_b100b_bit_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/13_if0_b100b_bit_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/13_if0_b100b_bit_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/13_if0_b100b_bit_7.c (revision 329) @@ -0,0 +1,31 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#7," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#7," } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned char B100A __attribute__ ((__BELOW100__)); +unsigned char *pA = &B100A; +unsigned char B100B __attribute__ ((__BELOW100__)); +unsigned char *pB = &B100B; + +char * +Do (void) +{ + if (!(B100A & 0x80)) + { + if (!(B100B & 0x80)) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0x34; + *pB = 0xcb; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/13_if0_b100b_bit_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/24_set_b100w_bitfield_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/24_set_b100w_bitfield_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/24_set_b100w_bitfield_0.c (revision 329) @@ -0,0 +1,40 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "set1 B100,#0" } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100 __attribute__ ((__BELOW100__)); +unsigned short *p = (unsigned short *) &B100; + +void +Do (void) +{ + B100.b0 = 1; +} + +int +main (void) +{ + *p = 0x1234; + Do (); + return (*p == 0x1235) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/24_set_b100w_bitfield_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/16_if1_b100w_bit_b.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/16_if1_b100w_bit_b.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/16_if1_b100w_bit_b.c (revision 329) @@ -0,0 +1,31 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A\\+1,#3," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B\\+1,#3," } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100A __attribute__ ((__BELOW100__)); +unsigned short *pA = &B100A; +unsigned short B100B __attribute__ ((__BELOW100__)); +unsigned short *pB = &B100B; + +char * +Do (void) +{ + if (B100A & 0x0800) + { + if (B100B & 0x0800) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0xedcb; + *pB = 0x1234; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/16_if1_b100w_bit_b.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/14_set_b100w_bit_8.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/14_set_b100w_bit_8.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/14_set_b100w_bit_8.c (revision 329) @@ -0,0 +1,20 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "set1 B100\\+1,#0" } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100 __attribute__ ((__BELOW100__)); +unsigned short *p = &B100; + +void +Do (void) +{ + B100 |= 0x0100; +} + +int +main (void) +{ + *p = 0x1234; + Do (); + return (*p == 0x1334) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/14_set_b100w_bit_8.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/17_if0_b100w_bit_b.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/17_if0_b100w_bit_b.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/17_if0_b100w_bit_b.c (revision 329) @@ -0,0 +1,31 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A\\+1,#3," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B\\+1,#3," } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100A __attribute__ ((__BELOW100__)); +unsigned short *pA = &B100A; +unsigned short B100B __attribute__ ((__BELOW100__)); +unsigned short *pB = &B100B; + +char * +Do (void) +{ + if (!(B100A & 0x0800)) + { + if (!(B100B & 0x0800)) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0x1234; + *pB = 0xedcb; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/17_if0_b100w_bit_b.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/16_if1_b100w_bit_f.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/16_if1_b100w_bit_f.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/16_if1_b100w_bit_f.c (revision 329) @@ -0,0 +1,31 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A\\+1,#7," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B\\+1,#7," } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100A __attribute__ ((__BELOW100__)); +unsigned short *pA = &B100A; +unsigned short B100B __attribute__ ((__BELOW100__)); +unsigned short *pB = &B100B; + +char * +Do (void) +{ + if (B100A & 0x8000) + { + if (B100B & 0x8000) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0xedcb; + *pB = 0x1234; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/16_if1_b100w_bit_f.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/15_clr_b100w_bit_f.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/15_clr_b100w_bit_f.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/15_clr_b100w_bit_f.c (revision 329) @@ -0,0 +1,20 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "clr1 B100\\+1,#7" } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100 __attribute__ ((__BELOW100__)); +unsigned short *p = &B100; + +void +Do (void) +{ + B100 &= ~0x8000; +} + +int +main (void) +{ + *p = 0xedcb; + Do (); + return (*p == 0x6dcb) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/15_clr_b100w_bit_f.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/17_if0_b100w_bit_f.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/17_if0_b100w_bit_f.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/17_if0_b100w_bit_f.c (revision 329) @@ -0,0 +1,31 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A\\+1,#7," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B\\+1,#7," } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100A __attribute__ ((__BELOW100__)); +unsigned short *pA = &B100A; +unsigned short B100B __attribute__ ((__BELOW100__)); +unsigned short *pB = &B100B; + +char * +Do (void) +{ + if (!(B100A & 0x8000)) + { + if (!(B100B & 0x8000)) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0x1234; + *pB = 0xedcb; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/17_if0_b100w_bit_f.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/24_set_b100w_bitfield_8.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/24_set_b100w_bitfield_8.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/24_set_b100w_bitfield_8.c (revision 329) @@ -0,0 +1,40 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "set1 B100\\+1,#0" } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100 __attribute__ ((__BELOW100__)); +unsigned short *p = (unsigned short *) &B100; + +void +Do (void) +{ + B100.b8 = 1; +} + +int +main (void) +{ + *p = 0x1234; + Do (); + return (*p == 0x1334) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/24_set_b100w_bitfield_8.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/20_set_b100b_bitfield_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/20_set_b100b_bitfield_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/20_set_b100b_bitfield_7.c (revision 329) @@ -0,0 +1,32 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "set1 B100,#7" } } */ + +typedef struct +{ + unsigned char b0:1; + unsigned char b1:1; + unsigned char b2:1; + unsigned char b3:1; + unsigned char b4:1; + unsigned char b5:1; + unsigned char b6:1; + unsigned char b7:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100 __attribute__ ((__BELOW100__)); +unsigned char *p = (unsigned char *) &B100; + +void +Do (void) +{ + B100.b7 = 1; +} + +int +main (void) +{ + *p = 0x34; + Do (); + return (*p == 0xb4) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/20_set_b100b_bitfield_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/16_if1_b100w_bit_3.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/16_if1_b100w_bit_3.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/16_if1_b100w_bit_3.c (revision 329) @@ -0,0 +1,31 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#3," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#3," } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100A __attribute__ ((__BELOW100__)); +unsigned short *pA = &B100A; +unsigned short B100B __attribute__ ((__BELOW100__)); +unsigned short *pB = &B100B; + +char * +Do (void) +{ + if (B100A & 0x0008) + { + if (B100B & 0x0008) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0xedcb; + *pB = 0x1234; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/16_if1_b100w_bit_3.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/17_if0_b100w_bit_3.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/17_if0_b100w_bit_3.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/17_if0_b100w_bit_3.c (revision 329) @@ -0,0 +1,31 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#3," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#3," } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100A __attribute__ ((__BELOW100__)); +unsigned short *pA = &B100A; +unsigned short B100B __attribute__ ((__BELOW100__)); +unsigned short *pB = &B100B; + +char * +Do (void) +{ + if (!(B100A & 0x0008)) + { + if (!(B100B & 0x0008)) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0x1234; + *pB = 0xedcb; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/17_if0_b100w_bit_3.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/27_if0_b100w_bitfield_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/27_if0_b100w_bitfield_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/27_if0_b100w_bitfield_0.c (revision 329) @@ -0,0 +1,51 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#0," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#0," } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100A __attribute__ ((__BELOW100__)); +unsigned short *pA = (unsigned short *) &B100A; +BitField B100B __attribute__ ((__BELOW100__)); +unsigned short *pB = (unsigned short *) &B100B; + +char * +Do (void) +{ + if (!B100A.b0) + { + if (!B100B.b0) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0x1234; + *pB = 0xedcb; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/27_if0_b100w_bitfield_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/26_if1_b100w_bitfield_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/26_if1_b100w_bitfield_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/26_if1_b100w_bitfield_0.c (revision 329) @@ -0,0 +1,51 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#0," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#0," } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100A __attribute__ ((__BELOW100__)); +unsigned short *pA = (unsigned short *) &B100A; +BitField B100B __attribute__ ((__BELOW100__)); +unsigned short *pB = (unsigned short *) &B100B; + +char * +Do (void) +{ + if (B100A.b0) + { + if (B100B.b0) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0xedcb; + *pB = 0x1234; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/26_if1_b100w_bitfield_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/25_clr_b100w_bitfield_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/25_clr_b100w_bitfield_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/25_clr_b100w_bitfield_0.c (revision 329) @@ -0,0 +1,40 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "clr1 B100,#0" } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100 __attribute__ ((__BELOW100__)); +unsigned short *p = (unsigned short *) &B100; + +void +Do (void) +{ + B100.b0 = 0; +} + +int +main (void) +{ + *p = 0xedcb; + Do (); + return (*p == 0xedca) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/25_clr_b100w_bitfield_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/03_var_to_b100b.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/03_var_to_b100b.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/03_var_to_b100b.c (revision 329) @@ -0,0 +1,22 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.b B100,r" } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned char B100 __attribute__ ((__BELOW100__)); +unsigned char *p = &B100; + +unsigned char yData = 0x12; + +void +Do (void) +{ + B100 = yData; +} + +int +main (void) +{ + *p = 0x34; + Do (); + return (*p == 0x12) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/03_var_to_b100b.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/17_if0_b100w_bit_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/17_if0_b100w_bit_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/17_if0_b100w_bit_7.c (revision 329) @@ -0,0 +1,31 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#7," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#7," } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100A __attribute__ ((__BELOW100__)); +unsigned short *pA = &B100A; +unsigned short B100B __attribute__ ((__BELOW100__)); +unsigned short *pB = &B100B; + +char * +Do (void) +{ + if (!(B100A & 0x0080)) + { + if (!(B100B & 0x0080)) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0x1234; + *pB = 0xedcb; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/17_if0_b100w_bit_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/15_clr_b100w_bit_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/15_clr_b100w_bit_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/15_clr_b100w_bit_7.c (revision 329) @@ -0,0 +1,20 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "clr1 B100,#7" } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100 __attribute__ ((__BELOW100__)); +unsigned short *p = &B100; + +void +Do (void) +{ + B100 &= ~0x0080; +} + +int +main (void) +{ + *p = 0xedcb; + Do (); + return (*p == 0xed4b) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/15_clr_b100w_bit_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/16_if1_b100w_bit_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/16_if1_b100w_bit_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/16_if1_b100w_bit_7.c (revision 329) @@ -0,0 +1,31 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#7," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#7," } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100A __attribute__ ((__BELOW100__)); +unsigned short *pA = &B100A; +unsigned short B100B __attribute__ ((__BELOW100__)); +unsigned short *pB = &B100B; + +char * +Do (void) +{ + if (B100A & 0x0080) + { + if (B100B & 0x0080) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0xedcb; + *pB = 0x1234; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/16_if1_b100w_bit_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/27_if0_b100w_bitfield_8.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/27_if0_b100w_bitfield_8.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/27_if0_b100w_bitfield_8.c (revision 329) @@ -0,0 +1,51 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A\\+1,#0," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B\\+1,#0," } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100A __attribute__ ((__BELOW100__)); +unsigned short *pA = (unsigned short *) &B100A; +BitField B100B __attribute__ ((__BELOW100__)); +unsigned short *pB = (unsigned short *) &B100B; + +char * +Do (void) +{ + if (!B100A.b8) + { + if (!B100B.b8) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0x1234; + *pB = 0xedcb; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/27_if0_b100w_bitfield_8.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/26_if1_b100w_bitfield_8.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/26_if1_b100w_bitfield_8.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/26_if1_b100w_bitfield_8.c (revision 329) @@ -0,0 +1,51 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A\\+1,#0," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B\\+1,#0," } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100A __attribute__ ((__BELOW100__)); +unsigned short *pA = (unsigned short *) &B100A; +BitField B100B __attribute__ ((__BELOW100__)); +unsigned short *pB = (unsigned short *) &B100B; + +char * +Do (void) +{ + if (B100A.b8) + { + if (B100B.b8) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0xedcb; + *pB = 0x1234; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/26_if1_b100w_bitfield_8.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/25_clr_b100w_bitfield_8.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/25_clr_b100w_bitfield_8.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/25_clr_b100w_bitfield_8.c (revision 329) @@ -0,0 +1,40 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "clr1 B100\\+1,#0" } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100 __attribute__ ((__BELOW100__)); +unsigned short *p = (unsigned short *) &B100; + +void +Do (void) +{ + B100.b8 = 0; +} + +int +main (void) +{ + *p = 0xedcb; + Do (); + return (*p == 0xeccb) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/25_clr_b100w_bitfield_8.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/23_if0_b100b_bitfield_3.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/23_if0_b100b_bitfield_3.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/23_if0_b100b_bitfield_3.c (revision 329) @@ -0,0 +1,43 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#3," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#3," } } */ + +typedef struct +{ + unsigned char b0:1; + unsigned char b1:1; + unsigned char b2:1; + unsigned char b3:1; + unsigned char b4:1; + unsigned char b5:1; + unsigned char b6:1; + unsigned char b7:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100A __attribute__ ((__BELOW100__)); +unsigned char *pA = (unsigned char *) &B100A; +BitField B100B __attribute__ ((__BELOW100__)); +unsigned char *pB = (unsigned char *) &B100B; + +char * +Do (void) +{ + if (!B100A.b3) + { + if (!B100B.b3) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0x34; + *pB = 0xcb; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/23_if0_b100b_bitfield_3.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/22_if1_b100b_bitfield_3.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/22_if1_b100b_bitfield_3.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/22_if1_b100b_bitfield_3.c (revision 329) @@ -0,0 +1,43 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#3," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#3," } } */ + +typedef struct +{ + unsigned char b0:1; + unsigned char b1:1; + unsigned char b2:1; + unsigned char b3:1; + unsigned char b4:1; + unsigned char b5:1; + unsigned char b6:1; + unsigned char b7:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100A __attribute__ ((__BELOW100__)); +unsigned char *pA = (unsigned char *) &B100A; +BitField B100B __attribute__ ((__BELOW100__)); +unsigned char *pB = (unsigned char *) &B100B; + +char * +Do (void) +{ + if (B100A.b3) + { + if (B100B.b3) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0xcb; + *pB = 0x34; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/22_if1_b100b_bitfield_3.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/21_clr_b100b_bitfield_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/21_clr_b100b_bitfield_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/21_clr_b100b_bitfield_7.c (revision 329) @@ -0,0 +1,32 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "clr1 B100,#7" } } */ + +typedef struct +{ + unsigned char b0:1; + unsigned char b1:1; + unsigned char b2:1; + unsigned char b3:1; + unsigned char b4:1; + unsigned char b5:1; + unsigned char b6:1; + unsigned char b7:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100 __attribute__ ((__BELOW100__)); +unsigned char *p = (unsigned char *) &B100; + +void +Do (void) +{ + B100.b7 = 0; +} + +int +main (void) +{ + *p = 0xcb; + Do (); + return (*p == 0x4b) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/21_clr_b100b_bitfield_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/23_if0_b100b_bitfield_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/23_if0_b100b_bitfield_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/23_if0_b100b_bitfield_7.c (revision 329) @@ -0,0 +1,43 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#7," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#7," } } */ + +typedef struct +{ + unsigned char b0:1; + unsigned char b1:1; + unsigned char b2:1; + unsigned char b3:1; + unsigned char b4:1; + unsigned char b5:1; + unsigned char b6:1; + unsigned char b7:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100A __attribute__ ((__BELOW100__)); +unsigned char *pA = (unsigned char *) &B100A; +BitField B100B __attribute__ ((__BELOW100__)); +unsigned char *pB = (unsigned char *) &B100B; + +char * +Do (void) +{ + if (!B100A.b7) + { + if (!B100B.b7) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0x34; + *pB = 0xcb; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/23_if0_b100b_bitfield_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/22_if1_b100b_bitfield_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/22_if1_b100b_bitfield_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/22_if1_b100b_bitfield_7.c (revision 329) @@ -0,0 +1,43 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#7," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#7," } } */ + +typedef struct +{ + unsigned char b0:1; + unsigned char b1:1; + unsigned char b2:1; + unsigned char b3:1; + unsigned char b4:1; + unsigned char b5:1; + unsigned char b6:1; + unsigned char b7:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100A __attribute__ ((__BELOW100__)); +unsigned char *pA = (unsigned char *) &B100A; +BitField B100B __attribute__ ((__BELOW100__)); +unsigned char *pB = (unsigned char *) &B100B; + +char * +Do (void) +{ + if (B100A.b7) + { + if (B100B.b7) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0xcb; + *pB = 0x34; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/22_if1_b100b_bitfield_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/10_set_b100b_bit_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/10_set_b100b_bit_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/10_set_b100b_bit_7.c (revision 329) @@ -0,0 +1,20 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "set1 B100,#7" } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned char B100 __attribute__ ((__BELOW100__)); +unsigned char *p = &B100; + +void +Do (void) +{ + B100 |= 0x80; +} + +int +main (void) +{ + *p = 0x34; + Do (); + return (*p == 0xb4) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/10_set_b100b_bit_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/14_set_b100w_bit_f.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/14_set_b100w_bit_f.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/14_set_b100w_bit_f.c (revision 329) @@ -0,0 +1,20 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "set1 B100\\+1,#7" } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100 __attribute__ ((__BELOW100__)); +unsigned short *p = &B100; + +void +Do (void) +{ + B100 |= 0x8000; +} + +int +main (void) +{ + *p = 0x1234; + Do (); + return (*p == 0x9234) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/14_set_b100w_bit_f.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/24_set_b100w_bitfield_f.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/24_set_b100w_bitfield_f.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/24_set_b100w_bitfield_f.c (revision 329) @@ -0,0 +1,40 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "set1 B100\\+1,#7" } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100 __attribute__ ((__BELOW100__)); +unsigned short *p = (unsigned short *) &B100; + +void +Do (void) +{ + B100.b15 = 1; +} + +int +main (void) +{ + *p = 0x1234; + Do (); + return (*p == 0x9234) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/24_set_b100w_bitfield_f.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/11_clr_b100b_bit_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/11_clr_b100b_bit_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/11_clr_b100b_bit_0.c (revision 329) @@ -0,0 +1,20 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "clr1 B100,#0" } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned char B100 __attribute__ ((__BELOW100__)); +unsigned char *p = &B100; + +void +Do (void) +{ + B100 &= ~0x01; +} + +int +main (void) +{ + *p = 0xcb; + Do (); + return (*p == 0xca) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/11_clr_b100b_bit_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/12_if1_b100b_bit_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/12_if1_b100b_bit_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/12_if1_b100b_bit_0.c (revision 329) @@ -0,0 +1,31 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#0," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#0," } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned char B100A __attribute__ ((__BELOW100__)); +unsigned char *pA = &B100A; +unsigned char B100B __attribute__ ((__BELOW100__)); +unsigned char *pB = &B100B; + +char * +Do (void) +{ + if (B100A & 0x01) + { + if (B100B & 0x01) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0xcb; + *pB = 0x34; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/12_if1_b100b_bit_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/13_if0_b100b_bit_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/13_if0_b100b_bit_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/13_if0_b100b_bit_0.c (revision 329) @@ -0,0 +1,31 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#0," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#0," } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned char B100A __attribute__ ((__BELOW100__)); +unsigned char *pA = &B100A; +unsigned char B100B __attribute__ ((__BELOW100__)); +unsigned char *pB = &B100B; + +char * +Do (void) +{ + if (!(B100A & 0x01)) + { + if (!(B100B & 0x01)) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0x34; + *pB = 0xcb; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/13_if0_b100b_bit_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/14_set_b100w_bit_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/14_set_b100w_bit_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/14_set_b100w_bit_7.c (revision 329) @@ -0,0 +1,20 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "set1 B100,#7" } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100 __attribute__ ((__BELOW100__)); +unsigned short *p = &B100; + +void +Do (void) +{ + B100 |= 0x0080; +} + +int +main (void) +{ + *p = 0x1234; + Do (); + return (*p == 0x12b4) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/14_set_b100w_bit_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/20_set_b100b_bitfield_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/20_set_b100b_bitfield_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/20_set_b100b_bitfield_0.c (revision 329) @@ -0,0 +1,32 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "set1 B100,#0" } } */ + +typedef struct +{ + unsigned char b0:1; + unsigned char b1:1; + unsigned char b2:1; + unsigned char b3:1; + unsigned char b4:1; + unsigned char b5:1; + unsigned char b6:1; + unsigned char b7:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100 __attribute__ ((__BELOW100__)); +unsigned char *p = (unsigned char *) &B100; + +void +Do (void) +{ + B100.b0 = 1; +} + +int +main (void) +{ + *p = 0x34; + Do (); + return (*p == 0x35) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/20_set_b100b_bitfield_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/24_set_b100w_bitfield_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/24_set_b100w_bitfield_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/24_set_b100w_bitfield_7.c (revision 329) @@ -0,0 +1,40 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "set1 B100,#7" } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100 __attribute__ ((__BELOW100__)); +unsigned short *p = (unsigned short *) &B100; + +void +Do (void) +{ + B100.b7 = 1; +} + +int +main (void) +{ + *p = 0x1234; + Do (); + return (*p == 0x12b4) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/24_set_b100w_bitfield_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/27_if0_b100w_bitfield_b.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/27_if0_b100w_bitfield_b.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/27_if0_b100w_bitfield_b.c (revision 329) @@ -0,0 +1,51 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A\\+1,#3," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B\\+1,#3," } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100A __attribute__ ((__BELOW100__)); +unsigned short *pA = (unsigned short *) &B100A; +BitField B100B __attribute__ ((__BELOW100__)); +unsigned short *pB = (unsigned short *) &B100B; + +char * +Do (void) +{ + if (!B100A.b11) + { + if (!B100B.b11) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0x1234; + *pB = 0xedcb; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/27_if0_b100w_bitfield_b.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/02_const_to_b100w.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/02_const_to_b100w.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/02_const_to_b100w.c (revision 329) @@ -0,0 +1,20 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.w B100,#4660" } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100 __attribute__ ((__BELOW100__)); +unsigned short *p = &B100; + +void +Do (void) +{ + B100 = 0x1234; +} + +int +main (void) +{ + *p = 0x9876; + Do (); + return (*p == 0x1234) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/02_const_to_b100w.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/26_if1_b100w_bitfield_b.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/26_if1_b100w_bitfield_b.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/26_if1_b100w_bitfield_b.c (revision 329) @@ -0,0 +1,51 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A\\+1,#3," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B\\+1,#3," } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100A __attribute__ ((__BELOW100__)); +unsigned short *pA = (unsigned short *) &B100A; +BitField B100B __attribute__ ((__BELOW100__)); +unsigned short *pB = (unsigned short *) &B100B; + +char * +Do (void) +{ + if (B100A.b11) + { + if (B100B.b11) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0xedcb; + *pB = 0x1234; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/26_if1_b100w_bitfield_b.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/27_if0_b100w_bitfield_f.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/27_if0_b100w_bitfield_f.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/27_if0_b100w_bitfield_f.c (revision 329) @@ -0,0 +1,51 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A\\+1,#7," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B\\+1,#7," } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100A __attribute__ ((__BELOW100__)); +unsigned short *pA = (unsigned short *) &B100A; +BitField B100B __attribute__ ((__BELOW100__)); +unsigned short *pB = (unsigned short *) &B100B; + +char * +Do (void) +{ + if (!B100A.b15) + { + if (!B100B.b15) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0x1234; + *pB = 0xedcb; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/27_if0_b100w_bitfield_f.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/04_var_to_b100w.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/04_var_to_b100w.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/04_var_to_b100w.c (revision 329) @@ -0,0 +1,22 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.w B100,r" } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100 __attribute__ ((__BELOW100__)); +unsigned short *p = &B100; + +unsigned short wData = 0x1234; + +void +Do (void) +{ + B100 = wData; +} + +int +main (void) +{ + *p = 0x9876; + Do (); + return (*p == 0x1234) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/04_var_to_b100w.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/25_clr_b100w_bitfield_f.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/25_clr_b100w_bitfield_f.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/25_clr_b100w_bitfield_f.c (revision 329) @@ -0,0 +1,40 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "clr1 B100\\+1,#7" } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100 __attribute__ ((__BELOW100__)); +unsigned short *p = (unsigned short *) &B100; + +void +Do (void) +{ + B100.b15 = 0; +} + +int +main (void) +{ + *p = 0xedcb; + Do (); + return (*p == 0x6dcb) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/25_clr_b100w_bitfield_f.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/26_if1_b100w_bitfield_f.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/26_if1_b100w_bitfield_f.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/26_if1_b100w_bitfield_f.c (revision 329) @@ -0,0 +1,51 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A\\+1,#7," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B\\+1,#7," } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100A __attribute__ ((__BELOW100__)); +unsigned short *pA = (unsigned short *) &B100A; +BitField B100B __attribute__ ((__BELOW100__)); +unsigned short *pB = (unsigned short *) &B100B; + +char * +Do (void) +{ + if (B100A.b15) + { + if (B100B.b15) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0xedcb; + *pB = 0x1234; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/26_if1_b100w_bitfield_f.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/17_if0_b100w_bit_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/17_if0_b100w_bit_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/17_if0_b100w_bit_0.c (revision 329) @@ -0,0 +1,31 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#0," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#0," } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100A __attribute__ ((__BELOW100__)); +unsigned short *pA = &B100A; +unsigned short B100B __attribute__ ((__BELOW100__)); +unsigned short *pB = &B100B; + +char * +Do (void) +{ + if (!(B100A & 0x0001)) + { + if (!(B100B & 0x0001)) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0x1234; + *pB = 0xedcb; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/17_if0_b100w_bit_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/16_if1_b100w_bit_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/16_if1_b100w_bit_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/16_if1_b100w_bit_0.c (revision 329) @@ -0,0 +1,31 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#0," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#0," } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100A __attribute__ ((__BELOW100__)); +unsigned short *pA = &B100A; +unsigned short B100B __attribute__ ((__BELOW100__)); +unsigned short *pB = &B100B; + +char * +Do (void) +{ + if (B100A & 0x0001) + { + if (B100B & 0x0001) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0xedcb; + *pB = 0x1234; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/16_if1_b100w_bit_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/15_clr_b100w_bit_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/15_clr_b100w_bit_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/15_clr_b100w_bit_0.c (revision 329) @@ -0,0 +1,20 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "clr1 B100,#0" } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100 __attribute__ ((__BELOW100__)); +unsigned short *p = &B100; + +void +Do (void) +{ + B100 &= ~0x0001; +} + +int +main (void) +{ + *p = 0xedcb; + Do (); + return (*p == 0xedca) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/15_clr_b100w_bit_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/01_const_to_b100b.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/01_const_to_b100b.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/01_const_to_b100b.c (revision 329) @@ -0,0 +1,20 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.b B100,#18" } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned char B100 __attribute__ ((__BELOW100__)); +unsigned char *p = &B100; + +void +Do (void) +{ + B100 = 0x12; +} + +int +main (void) +{ + *p = 0x34; + Do (); + return (*p == 0x12) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/01_const_to_b100b.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/05_b100b_to_var.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/05_b100b_to_var.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/05_b100b_to_var.c (revision 329) @@ -0,0 +1,22 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.b r., *B100" } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned char B100 __attribute__ ((__BELOW100__)); +unsigned char *p = &B100; + +unsigned char yData = 0x12; + +void +Do (void) +{ + yData = B100; +} + +int +main (void) +{ + *p = 0x34; + Do (); + return (yData == 0x34) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/05_b100b_to_var.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/16_if1_b100w_bit_8.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/16_if1_b100w_bit_8.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/16_if1_b100w_bit_8.c (revision 329) @@ -0,0 +1,31 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A\\+1,#0," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B\\+1,#0," } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100A __attribute__ ((__BELOW100__)); +unsigned short *pA = &B100A; +unsigned short B100B __attribute__ ((__BELOW100__)); +unsigned short *pB = &B100B; + +char * +Do (void) +{ + if (B100A & 0x0100) + { + if (B100B & 0x0100) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0xedcb; + *pB = 0x1234; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/16_if1_b100w_bit_8.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/15_clr_b100w_bit_8.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/15_clr_b100w_bit_8.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/15_clr_b100w_bit_8.c (revision 329) @@ -0,0 +1,20 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "clr1 B100\\+1,#0" } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100 __attribute__ ((__BELOW100__)); +unsigned short *p = &B100; + +void +Do (void) +{ + B100 &= ~0x0100; +} + +int +main (void) +{ + *p = 0xedcb; + Do (); + return (*p == 0xeccb) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/15_clr_b100w_bit_8.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/17_if0_b100w_bit_8.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/17_if0_b100w_bit_8.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/17_if0_b100w_bit_8.c (revision 329) @@ -0,0 +1,31 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A\\+1,#0," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B\\+1,#0," } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100A __attribute__ ((__BELOW100__)); +unsigned short *pA = &B100A; +unsigned short B100B __attribute__ ((__BELOW100__)); +unsigned short *pB = &B100B; + +char * +Do (void) +{ + if (!(B100A & 0x0100)) + { + if (!(B100B & 0x0100)) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0x1234; + *pB = 0xedcb; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/17_if0_b100w_bit_8.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/26_if1_b100w_bitfield_3.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/26_if1_b100w_bitfield_3.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/26_if1_b100w_bitfield_3.c (revision 329) @@ -0,0 +1,51 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#3," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#3," } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100A __attribute__ ((__BELOW100__)); +unsigned short *pA = (unsigned short *) &B100A; +BitField B100B __attribute__ ((__BELOW100__)); +unsigned short *pB = (unsigned short *) &B100B; + +char * +Do (void) +{ + if (B100A.b3) + { + if (B100B.b3) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0xedcb; + *pB = 0x1234; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/26_if1_b100w_bitfield_3.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/27_if0_b100w_bitfield_3.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/27_if0_b100w_bitfield_3.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/27_if0_b100w_bitfield_3.c (revision 329) @@ -0,0 +1,51 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#3," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#3," } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100A __attribute__ ((__BELOW100__)); +unsigned short *pA = (unsigned short *) &B100A; +BitField B100B __attribute__ ((__BELOW100__)); +unsigned short *pB = (unsigned short *) &B100B; + +char * +Do (void) +{ + if (!B100A.b3) + { + if (!B100B.b3) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0x1234; + *pB = 0xedcb; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/27_if0_b100w_bitfield_3.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/22_if1_b100b_bitfield_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/22_if1_b100b_bitfield_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/22_if1_b100b_bitfield_0.c (revision 329) @@ -0,0 +1,43 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#0," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#0," } } */ + +typedef struct +{ + unsigned char b0:1; + unsigned char b1:1; + unsigned char b2:1; + unsigned char b3:1; + unsigned char b4:1; + unsigned char b5:1; + unsigned char b6:1; + unsigned char b7:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100A __attribute__ ((__BELOW100__)); +unsigned char *pA = (unsigned char *) &B100A; +BitField B100B __attribute__ ((__BELOW100__)); +unsigned char *pB = (unsigned char *) &B100B; + +char * +Do (void) +{ + if (B100A.b0) + { + if (B100B.b0) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0xcb; + *pB = 0x34; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/22_if1_b100b_bitfield_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/23_if0_b100b_bitfield_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/23_if0_b100b_bitfield_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/23_if0_b100b_bitfield_0.c (revision 329) @@ -0,0 +1,43 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#0," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#0," } } */ + +typedef struct +{ + unsigned char b0:1; + unsigned char b1:1; + unsigned char b2:1; + unsigned char b3:1; + unsigned char b4:1; + unsigned char b5:1; + unsigned char b6:1; + unsigned char b7:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100A __attribute__ ((__BELOW100__)); +unsigned char *pA = (unsigned char *) &B100A; +BitField B100B __attribute__ ((__BELOW100__)); +unsigned char *pB = (unsigned char *) &B100B; + +char * +Do (void) +{ + if (!B100A.b0) + { + if (!B100B.b0) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0x34; + *pB = 0xcb; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/23_if0_b100b_bitfield_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/25_clr_b100w_bitfield_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/25_clr_b100w_bitfield_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/25_clr_b100w_bitfield_7.c (revision 329) @@ -0,0 +1,40 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "clr1 B100,#7" } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100 __attribute__ ((__BELOW100__)); +unsigned short *p = (unsigned short *) &B100; + +void +Do (void) +{ + B100.b7 = 0; +} + +int +main (void) +{ + *p = 0xedcb; + Do (); + return (*p == 0xed4b) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/25_clr_b100w_bitfield_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/26_if1_b100w_bitfield_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/26_if1_b100w_bitfield_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/26_if1_b100w_bitfield_7.c (revision 329) @@ -0,0 +1,51 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#7," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#7," } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100A __attribute__ ((__BELOW100__)); +unsigned short *pA = (unsigned short *) &B100A; +BitField B100B __attribute__ ((__BELOW100__)); +unsigned short *pB = (unsigned short *) &B100B; + +char * +Do (void) +{ + if (B100A.b7) + { + if (B100B.b7) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0xedcb; + *pB = 0x1234; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/26_if1_b100w_bitfield_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/27_if0_b100w_bitfield_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/27_if0_b100w_bitfield_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/27_if0_b100w_bitfield_7.c (revision 329) @@ -0,0 +1,51 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#7," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#7," } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100A __attribute__ ((__BELOW100__)); +unsigned short *pA = (unsigned short *) &B100A; +BitField B100B __attribute__ ((__BELOW100__)); +unsigned short *pB = (unsigned short *) &B100B; + +char * +Do (void) +{ + if (!B100A.b7) + { + if (!B100B.b7) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0x1234; + *pB = 0xedcb; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/27_if0_b100w_bitfield_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/21_clr_b100b_bitfield_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/21_clr_b100b_bitfield_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/21_clr_b100b_bitfield_0.c (revision 329) @@ -0,0 +1,32 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "clr1 B100,#0" } } */ + +typedef struct +{ + unsigned char b0:1; + unsigned char b1:1; + unsigned char b2:1; + unsigned char b3:1; + unsigned char b4:1; + unsigned char b5:1; + unsigned char b6:1; + unsigned char b7:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100 __attribute__ ((__BELOW100__)); +unsigned char *p = (unsigned char *) &B100; + +void +Do (void) +{ + B100.b0 = 0; +} + +int +main (void) +{ + *p = 0xcb; + Do (); + return (*p == 0xca) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/21_clr_b100b_bitfield_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/10_set_b100b_bit_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/10_set_b100b_bit_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/10_set_b100b_bit_0.c (revision 329) @@ -0,0 +1,20 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "set1 B100,#0" } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned char B100 __attribute__ ((__BELOW100__)); +unsigned char *p = &B100; + +void +Do (void) +{ + B100 |= 0x01; +} + +int +main (void) +{ + *p = 0x34; + Do (); + return (*p == 0x35) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bss_below100/10_set_b100b_bit_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bp.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bp.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bp.c (revision 329) @@ -0,0 +1,32 @@ +/* { dg-do compile } */ +/* { dg-options "-O2" } */ +/* { dg-final { scan-assembler "b\[np\] " } } */ + +#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 (); +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/bp.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/06_b100w_to_var.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/06_b100w_to_var.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/06_b100w_to_var.c (revision 329) @@ -0,0 +1,21 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.w r.,B100" } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100 __attribute__ ((__BELOW100__)) = 0x3456; +unsigned short *p = &B100; + +unsigned short wData = 0x1234; + +void +Do (void) +{ + wData = B100; +} + +int +main (void) +{ + Do (); + return (wData == 0x3456) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/06_b100w_to_var.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/14_set_b100w_bit_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/14_set_b100w_bit_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/14_set_b100w_bit_0.c (revision 329) @@ -0,0 +1,19 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "set1 B100,#0" } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100 __attribute__ ((__BELOW100__)) = 0x1234; +unsigned short *p = &B100; + +void +Do (void) +{ + B100 |= 0x0001; +} + +int +main (void) +{ + Do (); + return (*p == 0x1235) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/14_set_b100w_bit_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/12_if1_b100b_bit_3.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/12_if1_b100b_bit_3.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/12_if1_b100b_bit_3.c (revision 329) @@ -0,0 +1,29 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#3," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#3," } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned char B100A __attribute__ ((__BELOW100__)) = 0xcb; +unsigned char *pA = &B100A; +unsigned char B100B __attribute__ ((__BELOW100__)) = 0x34; +unsigned char *pB = &B100B; + +char * +Do (void) +{ + if (B100A & 0x08) + { + if (B100B & 0x08) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/12_if1_b100b_bit_3.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/13_if0_b100b_bit_3.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/13_if0_b100b_bit_3.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/13_if0_b100b_bit_3.c (revision 329) @@ -0,0 +1,29 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#3," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#3," } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned char B100A __attribute__ ((__BELOW100__)) = 0x34; +unsigned char *pA = &B100A; +unsigned char B100B __attribute__ ((__BELOW100__)) = 0xcb; +unsigned char *pB = &B100B; + +char * +Do (void) +{ + if (!(B100A & 0x08)) + { + if (!(B100B & 0x08)) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/13_if0_b100b_bit_3.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/11_clr_b100b_bit_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/11_clr_b100b_bit_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/11_clr_b100b_bit_7.c (revision 329) @@ -0,0 +1,19 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "clr1 B100,#7" } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned char B100 __attribute__ ((__BELOW100__)) = 0xcb; +unsigned char *p = &B100; + +void +Do (void) +{ + B100 &= ~0x80; +} + +int +main (void) +{ + Do (); + return (*p == 0x4b) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/11_clr_b100b_bit_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/12_if1_b100b_bit_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/12_if1_b100b_bit_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/12_if1_b100b_bit_7.c (revision 329) @@ -0,0 +1,29 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#7," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#7," } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned char B100A __attribute__ ((__BELOW100__)) = 0xcb; +unsigned char *pA = &B100A; +unsigned char B100B __attribute__ ((__BELOW100__)) = 0x34; +unsigned char *pB = &B100B; + +char * +Do (void) +{ + if (B100A & 0x80) + { + if (B100B & 0x80) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/12_if1_b100b_bit_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/13_if0_b100b_bit_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/13_if0_b100b_bit_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/13_if0_b100b_bit_7.c (revision 329) @@ -0,0 +1,29 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#7," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#7," } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned char B100A __attribute__ ((__BELOW100__)) = 0x34; +unsigned char *pA = &B100A; +unsigned char B100B __attribute__ ((__BELOW100__)) = 0xcb; +unsigned char *pB = &B100B; + +char * +Do (void) +{ + if (!(B100A & 0x80)) + { + if (!(B100B & 0x80)) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/13_if0_b100b_bit_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/24_set_b100w_bitfield_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/24_set_b100w_bitfield_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/24_set_b100w_bitfield_0.c (revision 329) @@ -0,0 +1,41 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "set1 B100,#0" } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100 __attribute__ ((__BELOW100__)) = +{ +0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0}; +unsigned short *p = (unsigned short *) &B100; + +void +Do (void) +{ + B100.b0 = 1; +} + +int +main (void) +{ + Do (); + return (*p == 0x1235) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/24_set_b100w_bitfield_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/16_if1_b100w_bit_b.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/16_if1_b100w_bit_b.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/16_if1_b100w_bit_b.c (revision 329) @@ -0,0 +1,29 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A\\+1,#3," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B\\+1,#3," } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100A __attribute__ ((__BELOW100__)) = 0xedcb; +unsigned short *pA = &B100A; +unsigned short B100B __attribute__ ((__BELOW100__)) = 0x1234; +unsigned short *pB = &B100B; + +char * +Do (void) +{ + if (B100A & 0x0800) + { + if (B100B & 0x0800) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/16_if1_b100w_bit_b.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/14_set_b100w_bit_8.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/14_set_b100w_bit_8.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/14_set_b100w_bit_8.c (revision 329) @@ -0,0 +1,19 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "set1 B100\\+1,#0" } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100 __attribute__ ((__BELOW100__)) = 0x1234; +unsigned short *p = &B100; + +void +Do (void) +{ + B100 |= 0x0100; +} + +int +main (void) +{ + Do (); + return (*p == 0x1334) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/14_set_b100w_bit_8.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/17_if0_b100w_bit_b.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/17_if0_b100w_bit_b.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/17_if0_b100w_bit_b.c (revision 329) @@ -0,0 +1,29 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A\\+1,#3," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B\\+1,#3," } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100A __attribute__ ((__BELOW100__)) = 0x1234; +unsigned short *pA = &B100A; +unsigned short B100B __attribute__ ((__BELOW100__)) = 0xedcb; +unsigned short *pB = &B100B; + +char * +Do (void) +{ + if (!(B100A & 0x0800)) + { + if (!(B100B & 0x0800)) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/17_if0_b100w_bit_b.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/16_if1_b100w_bit_f.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/16_if1_b100w_bit_f.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/16_if1_b100w_bit_f.c (revision 329) @@ -0,0 +1,29 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A\\+1,#7," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B\\+1,#7," } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100A __attribute__ ((__BELOW100__)) = 0xedcb; +unsigned short *pA = &B100A; +unsigned short B100B __attribute__ ((__BELOW100__)) = 0x1234; +unsigned short *pB = &B100B; + +char * +Do (void) +{ + if (B100A & 0x8000) + { + if (B100B & 0x8000) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/16_if1_b100w_bit_f.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/15_clr_b100w_bit_f.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/15_clr_b100w_bit_f.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/15_clr_b100w_bit_f.c (revision 329) @@ -0,0 +1,19 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "clr1 B100\\+1,#7" } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100 __attribute__ ((__BELOW100__)) = 0xedcb; +unsigned short *p = &B100; + +void +Do (void) +{ + B100 &= ~0x8000; +} + +int +main (void) +{ + Do (); + return (*p == 0x6dcb) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/15_clr_b100w_bit_f.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/17_if0_b100w_bit_f.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/17_if0_b100w_bit_f.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/17_if0_b100w_bit_f.c (revision 329) @@ -0,0 +1,29 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A\\+1,#7," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B\\+1,#7," } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100A __attribute__ ((__BELOW100__)) = 0x1234; +unsigned short *pA = &B100A; +unsigned short B100B __attribute__ ((__BELOW100__)) = 0xedcb; +unsigned short *pB = &B100B; + +char * +Do (void) +{ + if (!(B100A & 0x8000)) + { + if (!(B100B & 0x8000)) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/17_if0_b100w_bit_f.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/24_set_b100w_bitfield_8.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/24_set_b100w_bitfield_8.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/24_set_b100w_bitfield_8.c (revision 329) @@ -0,0 +1,41 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "set1 B100\\+1,#0" } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100 __attribute__ ((__BELOW100__)) = +{ +0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0}; +unsigned short *p = (unsigned short *) &B100; + +void +Do (void) +{ + B100.b8 = 1; +} + +int +main (void) +{ + Do (); + return (*p == 0x1334) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/24_set_b100w_bitfield_8.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/20_set_b100b_bitfield_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/20_set_b100b_bitfield_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/20_set_b100b_bitfield_7.c (revision 329) @@ -0,0 +1,33 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "set1 B100,#7" } } */ + +typedef struct +{ + unsigned char b0:1; + unsigned char b1:1; + unsigned char b2:1; + unsigned char b3:1; + unsigned char b4:1; + unsigned char b5:1; + unsigned char b6:1; + unsigned char b7:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100 __attribute__ ((__BELOW100__)) = +{ +0, 0, 1, 0, 1, 1, 0, 0}; +unsigned char *p = (unsigned char *) &B100; + +void +Do (void) +{ + B100.b7 = 1; +} + +int +main (void) +{ + Do (); + return (*p == 0xb4) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/20_set_b100b_bitfield_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/16_if1_b100w_bit_3.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/16_if1_b100w_bit_3.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/16_if1_b100w_bit_3.c (revision 329) @@ -0,0 +1,29 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#3," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#3," } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100A __attribute__ ((__BELOW100__)) = 0xedcb; +unsigned short *pA = &B100A; +unsigned short B100B __attribute__ ((__BELOW100__)) = 0x1234; +unsigned short *pB = &B100B; + +char * +Do (void) +{ + if (B100A & 0x0008) + { + if (B100B & 0x0008) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/16_if1_b100w_bit_3.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/17_if0_b100w_bit_3.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/17_if0_b100w_bit_3.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/17_if0_b100w_bit_3.c (revision 329) @@ -0,0 +1,29 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#3," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#3," } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100A __attribute__ ((__BELOW100__)) = 0x1234; +unsigned short *pA = &B100A; +unsigned short B100B __attribute__ ((__BELOW100__)) = 0xedcb; +unsigned short *pB = &B100B; + +char * +Do (void) +{ + if (!(B100A & 0x0008)) + { + if (!(B100B & 0x0008)) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/17_if0_b100w_bit_3.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/27_if0_b100w_bitfield_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/27_if0_b100w_bitfield_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/27_if0_b100w_bitfield_0.c (revision 329) @@ -0,0 +1,53 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#0," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#0," } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100A __attribute__ ((__BELOW100__)) = +{ +0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0}; +unsigned short *pA = (unsigned short *) &B100A; +BitField B100B __attribute__ ((__BELOW100__)) = +{ +1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1}; +unsigned short *pB = (unsigned short *) &B100B; + +char * +Do (void) +{ + if (!B100A.b0) + { + if (!B100B.b0) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/27_if0_b100w_bitfield_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/26_if1_b100w_bitfield_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/26_if1_b100w_bitfield_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/26_if1_b100w_bitfield_0.c (revision 329) @@ -0,0 +1,53 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#0," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#0," } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100A __attribute__ ((__BELOW100__)) = +{ +1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1}; +unsigned short *pA = (unsigned short *) &B100A; +BitField B100B __attribute__ ((__BELOW100__)) = +{ +0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0}; +unsigned short *pB = (unsigned short *) &B100B; + +char * +Do (void) +{ + if (B100A.b0) + { + if (B100B.b0) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/26_if1_b100w_bitfield_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/25_clr_b100w_bitfield_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/25_clr_b100w_bitfield_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/25_clr_b100w_bitfield_0.c (revision 329) @@ -0,0 +1,41 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "clr1 B100,#0" } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100 __attribute__ ((__BELOW100__)) = +{ +1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1}; +unsigned short *p = (unsigned short *) &B100; + +void +Do (void) +{ + B100.b0 = 0; +} + +int +main (void) +{ + Do (); + return (*p == 0xedca) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/25_clr_b100w_bitfield_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/03_var_to_b100b.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/03_var_to_b100b.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/03_var_to_b100b.c (revision 329) @@ -0,0 +1,21 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.b B100,r" } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned char B100 __attribute__ ((__BELOW100__)) = 0x34; +unsigned char *p = &B100; + +unsigned char yData = 0x12; + +void +Do (void) +{ + B100 = yData; +} + +int +main (void) +{ + Do (); + return (*p == 0x12) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/03_var_to_b100b.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/17_if0_b100w_bit_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/17_if0_b100w_bit_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/17_if0_b100w_bit_7.c (revision 329) @@ -0,0 +1,29 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#7," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#7," } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100A __attribute__ ((__BELOW100__)) = 0x1234; +unsigned short *pA = &B100A; +unsigned short B100B __attribute__ ((__BELOW100__)) = 0xedcb; +unsigned short *pB = &B100B; + +char * +Do (void) +{ + if (!(B100A & 0x0080)) + { + if (!(B100B & 0x0080)) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/17_if0_b100w_bit_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/15_clr_b100w_bit_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/15_clr_b100w_bit_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/15_clr_b100w_bit_7.c (revision 329) @@ -0,0 +1,19 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "clr1 B100,#7" } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100 __attribute__ ((__BELOW100__)) = 0xedcb; +unsigned short *p = &B100; + +void +Do (void) +{ + B100 &= ~0x0080; +} + +int +main (void) +{ + Do (); + return (*p == 0xed4b) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/15_clr_b100w_bit_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/16_if1_b100w_bit_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/16_if1_b100w_bit_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/16_if1_b100w_bit_7.c (revision 329) @@ -0,0 +1,29 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#7," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#7," } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100A __attribute__ ((__BELOW100__)) = 0xedcb; +unsigned short *pA = &B100A; +unsigned short B100B __attribute__ ((__BELOW100__)) = 0x1234; +unsigned short *pB = &B100B; + +char * +Do (void) +{ + if (B100A & 0x0080) + { + if (B100B & 0x0080) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/16_if1_b100w_bit_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/27_if0_b100w_bitfield_8.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/27_if0_b100w_bitfield_8.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/27_if0_b100w_bitfield_8.c (revision 329) @@ -0,0 +1,53 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A\\+1,#0," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B\\+1,#0," } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100A __attribute__ ((__BELOW100__)) = +{ +0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0}; +unsigned short *pA = (unsigned short *) &B100A; +BitField B100B __attribute__ ((__BELOW100__)) = +{ +1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1}; +unsigned short *pB = (unsigned short *) &B100B; + +char * +Do (void) +{ + if (!B100A.b8) + { + if (!B100B.b8) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/27_if0_b100w_bitfield_8.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/26_if1_b100w_bitfield_8.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/26_if1_b100w_bitfield_8.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/26_if1_b100w_bitfield_8.c (revision 329) @@ -0,0 +1,53 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A\\+1,#0," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B\\+1,#0," } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100A __attribute__ ((__BELOW100__)) = +{ +1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1}; +unsigned short *pA = (unsigned short *) &B100A; +BitField B100B __attribute__ ((__BELOW100__)) = +{ +0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0}; +unsigned short *pB = (unsigned short *) &B100B; + +char * +Do (void) +{ + if (B100A.b8) + { + if (B100B.b8) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/26_if1_b100w_bitfield_8.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/25_clr_b100w_bitfield_8.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/25_clr_b100w_bitfield_8.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/25_clr_b100w_bitfield_8.c (revision 329) @@ -0,0 +1,41 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "clr1 B100\\+1,#0" } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100 __attribute__ ((__BELOW100__)) = +{ +1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1}; +unsigned short *p = (unsigned short *) &B100; + +void +Do (void) +{ + B100.b8 = 0; +} + +int +main (void) +{ + Do (); + return (*p == 0xeccb) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/25_clr_b100w_bitfield_8.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/23_if0_b100b_bitfield_3.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/23_if0_b100b_bitfield_3.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/23_if0_b100b_bitfield_3.c (revision 329) @@ -0,0 +1,45 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#3," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#3," } } */ + +typedef struct +{ + unsigned char b0:1; + unsigned char b1:1; + unsigned char b2:1; + unsigned char b3:1; + unsigned char b4:1; + unsigned char b5:1; + unsigned char b6:1; + unsigned char b7:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100A __attribute__ ((__BELOW100__)) = +{ +0, 0, 1, 0, 1, 1, 0, 0}; +unsigned char *pA = (unsigned char *) &B100A; +BitField B100B __attribute__ ((__BELOW100__)) = +{ +1, 1, 0, 1, 0, 0, 1, 1}; +unsigned char *pB = (unsigned char *) &B100B; + +char * +Do (void) +{ + if (!B100A.b3) + { + if (!B100B.b3) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/23_if0_b100b_bitfield_3.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/22_if1_b100b_bitfield_3.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/22_if1_b100b_bitfield_3.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/22_if1_b100b_bitfield_3.c (revision 329) @@ -0,0 +1,45 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#3," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#3," } } */ + +typedef struct +{ + unsigned char b0:1; + unsigned char b1:1; + unsigned char b2:1; + unsigned char b3:1; + unsigned char b4:1; + unsigned char b5:1; + unsigned char b6:1; + unsigned char b7:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100A __attribute__ ((__BELOW100__)) = +{ +1, 1, 0, 1, 0, 0, 1, 1}; +unsigned char *pA = (unsigned char *) &B100A; +BitField B100B __attribute__ ((__BELOW100__)) = +{ +0, 0, 1, 0, 1, 1, 0, 0}; +unsigned char *pB = (unsigned char *) &B100B; + +char * +Do (void) +{ + if (B100A.b3) + { + if (B100B.b3) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/22_if1_b100b_bitfield_3.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/21_clr_b100b_bitfield_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/21_clr_b100b_bitfield_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/21_clr_b100b_bitfield_7.c (revision 329) @@ -0,0 +1,33 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "clr1 B100,#7" } } */ + +typedef struct +{ + unsigned char b0:1; + unsigned char b1:1; + unsigned char b2:1; + unsigned char b3:1; + unsigned char b4:1; + unsigned char b5:1; + unsigned char b6:1; + unsigned char b7:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100 __attribute__ ((__BELOW100__)) = +{ +1, 1, 0, 1, 0, 0, 1, 1}; +unsigned char *p = (unsigned char *) &B100; + +void +Do (void) +{ + B100.b7 = 0; +} + +int +main (void) +{ + Do (); + return (*p == 0x4b) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/21_clr_b100b_bitfield_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/23_if0_b100b_bitfield_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/23_if0_b100b_bitfield_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/23_if0_b100b_bitfield_7.c (revision 329) @@ -0,0 +1,45 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#7," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#7," } } */ + +typedef struct +{ + unsigned char b0:1; + unsigned char b1:1; + unsigned char b2:1; + unsigned char b3:1; + unsigned char b4:1; + unsigned char b5:1; + unsigned char b6:1; + unsigned char b7:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100A __attribute__ ((__BELOW100__)) = +{ +0, 0, 1, 0, 1, 1, 0, 0}; +unsigned char *pA = (unsigned char *) &B100A; +BitField B100B __attribute__ ((__BELOW100__)) = +{ +1, 1, 0, 1, 0, 0, 1, 1}; +unsigned char *pB = (unsigned char *) &B100B; + +char * +Do (void) +{ + if (!B100A.b7) + { + if (!B100B.b7) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/23_if0_b100b_bitfield_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/22_if1_b100b_bitfield_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/22_if1_b100b_bitfield_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/22_if1_b100b_bitfield_7.c (revision 329) @@ -0,0 +1,45 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#7," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#7," } } */ + +typedef struct +{ + unsigned char b0:1; + unsigned char b1:1; + unsigned char b2:1; + unsigned char b3:1; + unsigned char b4:1; + unsigned char b5:1; + unsigned char b6:1; + unsigned char b7:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100A __attribute__ ((__BELOW100__)) = +{ +1, 1, 0, 1, 0, 0, 1, 1}; +unsigned char *pA = (unsigned char *) &B100A; +BitField B100B __attribute__ ((__BELOW100__)) = +{ +0, 0, 1, 0, 1, 1, 0, 0}; +unsigned char *pB = (unsigned char *) &B100B; + +char * +Do (void) +{ + if (B100A.b7) + { + if (B100B.b7) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/22_if1_b100b_bitfield_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/10_set_b100b_bit_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/10_set_b100b_bit_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/10_set_b100b_bit_7.c (revision 329) @@ -0,0 +1,19 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "set1 B100,#7" } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned char B100 __attribute__ ((__BELOW100__)) = 0x34; +unsigned char *p = &B100; + +void +Do (void) +{ + B100 |= 0x80; +} + +int +main (void) +{ + Do (); + return (*p == 0xb4) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/10_set_b100b_bit_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/14_set_b100w_bit_f.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/14_set_b100w_bit_f.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/14_set_b100w_bit_f.c (revision 329) @@ -0,0 +1,19 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "set1 B100\\+1,#7" } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100 __attribute__ ((__BELOW100__)) = 0x1234; +unsigned short *p = &B100; + +void +Do (void) +{ + B100 |= 0x8000; +} + +int +main (void) +{ + Do (); + return (*p == 0x9234) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/14_set_b100w_bit_f.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/24_set_b100w_bitfield_f.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/24_set_b100w_bitfield_f.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/24_set_b100w_bitfield_f.c (revision 329) @@ -0,0 +1,41 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "set1 B100\\+1,#7" } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100 __attribute__ ((__BELOW100__)) = +{ +0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0}; +unsigned short *p = (unsigned short *) &B100; + +void +Do (void) +{ + B100.b15 = 1; +} + +int +main (void) +{ + Do (); + return (*p == 0x9234) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/24_set_b100w_bitfield_f.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/11_clr_b100b_bit_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/11_clr_b100b_bit_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/11_clr_b100b_bit_0.c (revision 329) @@ -0,0 +1,19 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "clr1 B100,#0" } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned char B100 __attribute__ ((__BELOW100__)) = 0xcb; +unsigned char *p = &B100; + +void +Do (void) +{ + B100 &= ~0x01; +} + +int +main (void) +{ + Do (); + return (*p == 0xca) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/11_clr_b100b_bit_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/12_if1_b100b_bit_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/12_if1_b100b_bit_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/12_if1_b100b_bit_0.c (revision 329) @@ -0,0 +1,29 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#0," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#0," } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned char B100A __attribute__ ((__BELOW100__)) = 0xcb; +unsigned char *pA = &B100A; +unsigned char B100B __attribute__ ((__BELOW100__)) = 0x34; +unsigned char *pB = &B100B; + +char * +Do (void) +{ + if (B100A & 0x01) + { + if (B100B & 0x01) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/12_if1_b100b_bit_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/13_if0_b100b_bit_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/13_if0_b100b_bit_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/13_if0_b100b_bit_0.c (revision 329) @@ -0,0 +1,29 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#0," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#0," } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned char B100A __attribute__ ((__BELOW100__)) = 0x34; +unsigned char *pA = &B100A; +unsigned char B100B __attribute__ ((__BELOW100__)) = 0xcb; +unsigned char *pB = &B100B; + +char * +Do (void) +{ + if (!(B100A & 0x01)) + { + if (!(B100B & 0x01)) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/13_if0_b100b_bit_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/14_set_b100w_bit_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/14_set_b100w_bit_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/14_set_b100w_bit_7.c (revision 329) @@ -0,0 +1,19 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "set1 B100,#7" } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100 __attribute__ ((__BELOW100__)) = 0x1234; +unsigned short *p = &B100; + +void +Do (void) +{ + B100 |= 0x0080; +} + +int +main (void) +{ + Do (); + return (*p == 0x12b4) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/14_set_b100w_bit_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/20_set_b100b_bitfield_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/20_set_b100b_bitfield_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/20_set_b100b_bitfield_0.c (revision 329) @@ -0,0 +1,33 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "set1 B100,#0" } } */ + +typedef struct +{ + unsigned char b0:1; + unsigned char b1:1; + unsigned char b2:1; + unsigned char b3:1; + unsigned char b4:1; + unsigned char b5:1; + unsigned char b6:1; + unsigned char b7:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100 __attribute__ ((__BELOW100__)) = +{ +0, 0, 1, 0, 1, 1, 0, 0}; +unsigned char *p = (unsigned char *) &B100; + +void +Do (void) +{ + B100.b0 = 1; +} + +int +main (void) +{ + Do (); + return (*p == 0x35) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/20_set_b100b_bitfield_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/24_set_b100w_bitfield_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/24_set_b100w_bitfield_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/24_set_b100w_bitfield_7.c (revision 329) @@ -0,0 +1,41 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "set1 B100,#7" } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100 __attribute__ ((__BELOW100__)) = +{ +0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0}; +unsigned short *p = (unsigned short *) &B100; + +void +Do (void) +{ + B100.b7 = 1; +} + +int +main (void) +{ + Do (); + return (*p == 0x12b4) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/24_set_b100w_bitfield_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/27_if0_b100w_bitfield_b.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/27_if0_b100w_bitfield_b.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/27_if0_b100w_bitfield_b.c (revision 329) @@ -0,0 +1,53 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A\\+1,#3," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B\\+1,#3," } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100A __attribute__ ((__BELOW100__)) = +{ +0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0}; +unsigned short *pA = (unsigned short *) &B100A; +BitField B100B __attribute__ ((__BELOW100__)) = +{ +1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1}; +unsigned short *pB = (unsigned short *) &B100B; + +char * +Do (void) +{ + if (!B100A.b11) + { + if (!B100B.b11) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/27_if0_b100w_bitfield_b.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/02_const_to_b100w.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/02_const_to_b100w.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/02_const_to_b100w.c (revision 329) @@ -0,0 +1,19 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.w B100,#4660" } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100 __attribute__ ((__BELOW100__)) = 0x9876; +unsigned short *p = &B100; + +void +Do (void) +{ + B100 = 0x1234; +} + +int +main (void) +{ + Do (); + return (*p == 0x1234) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/02_const_to_b100w.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/26_if1_b100w_bitfield_b.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/26_if1_b100w_bitfield_b.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/26_if1_b100w_bitfield_b.c (revision 329) @@ -0,0 +1,53 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A\\+1,#3," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B\\+1,#3," } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100A __attribute__ ((__BELOW100__)) = +{ +1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1}; +unsigned short *pA = (unsigned short *) &B100A; +BitField B100B __attribute__ ((__BELOW100__)) = +{ +0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0}; +unsigned short *pB = (unsigned short *) &B100B; + +char * +Do (void) +{ + if (B100A.b11) + { + if (B100B.b11) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/26_if1_b100w_bitfield_b.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/27_if0_b100w_bitfield_f.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/27_if0_b100w_bitfield_f.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/27_if0_b100w_bitfield_f.c (revision 329) @@ -0,0 +1,53 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A\\+1,#7," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B\\+1,#7," } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100A __attribute__ ((__BELOW100__)) = +{ +0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0}; +unsigned short *pA = (unsigned short *) &B100A; +BitField B100B __attribute__ ((__BELOW100__)) = +{ +1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1}; +unsigned short *pB = (unsigned short *) &B100B; + +char * +Do (void) +{ + if (!B100A.b15) + { + if (!B100B.b15) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/27_if0_b100w_bitfield_f.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/04_var_to_b100w.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/04_var_to_b100w.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/04_var_to_b100w.c (revision 329) @@ -0,0 +1,21 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.w B100,r" } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100 __attribute__ ((__BELOW100__)) = 0x9876; +unsigned short *p = &B100; + +unsigned short wData = 0x1234; + +void +Do (void) +{ + B100 = wData; +} + +int +main (void) +{ + Do (); + return (*p == 0x1234) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/04_var_to_b100w.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/25_clr_b100w_bitfield_f.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/25_clr_b100w_bitfield_f.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/25_clr_b100w_bitfield_f.c (revision 329) @@ -0,0 +1,41 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "clr1 B100\\+1,#7" } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100 __attribute__ ((__BELOW100__)) = +{ +1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1}; +unsigned short *p = (unsigned short *) &B100; + +void +Do (void) +{ + B100.b15 = 0; +} + +int +main (void) +{ + Do (); + return (*p == 0x6dcb) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/25_clr_b100w_bitfield_f.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/26_if1_b100w_bitfield_f.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/26_if1_b100w_bitfield_f.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/26_if1_b100w_bitfield_f.c (revision 329) @@ -0,0 +1,53 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A\\+1,#7," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B\\+1,#7," } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100A __attribute__ ((__BELOW100__)) = +{ +1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1}; +unsigned short *pA = (unsigned short *) &B100A; +BitField B100B __attribute__ ((__BELOW100__)) = +{ +0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0}; +unsigned short *pB = (unsigned short *) &B100B; + +char * +Do (void) +{ + if (B100A.b15) + { + if (B100B.b15) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/26_if1_b100w_bitfield_f.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/17_if0_b100w_bit_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/17_if0_b100w_bit_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/17_if0_b100w_bit_0.c (revision 329) @@ -0,0 +1,29 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#0," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#0," } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100A __attribute__ ((__BELOW100__)) = 0x1234; +unsigned short *pA = &B100A; +unsigned short B100B __attribute__ ((__BELOW100__)) = 0xedcb; +unsigned short *pB = &B100B; + +char * +Do (void) +{ + if (!(B100A & 0x0001)) + { + if (!(B100B & 0x0001)) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/17_if0_b100w_bit_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/16_if1_b100w_bit_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/16_if1_b100w_bit_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/16_if1_b100w_bit_0.c (revision 329) @@ -0,0 +1,29 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#0," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#0," } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100A __attribute__ ((__BELOW100__)) = 0xedcb; +unsigned short *pA = &B100A; +unsigned short B100B __attribute__ ((__BELOW100__)) = 0x1234; +unsigned short *pB = &B100B; + +char * +Do (void) +{ + if (B100A & 0x0001) + { + if (B100B & 0x0001) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/16_if1_b100w_bit_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/15_clr_b100w_bit_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/15_clr_b100w_bit_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/15_clr_b100w_bit_0.c (revision 329) @@ -0,0 +1,19 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "clr1 B100,#0" } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100 __attribute__ ((__BELOW100__)) = 0xedcb; +unsigned short *p = &B100; + +void +Do (void) +{ + B100 &= ~0x0001; +} + +int +main (void) +{ + Do (); + return (*p == 0xedca) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/15_clr_b100w_bit_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/01_const_to_b100b.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/01_const_to_b100b.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/01_const_to_b100b.c (revision 329) @@ -0,0 +1,19 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.b B100,#18" } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned char B100 __attribute__ ((__BELOW100__)) = 0x34; +unsigned char *p = &B100; + +void +Do (void) +{ + B100 = 0x12; +} + +int +main (void) +{ + Do (); + return (*p == 0x12) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/01_const_to_b100b.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/05_b100b_to_var.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/05_b100b_to_var.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/05_b100b_to_var.c (revision 329) @@ -0,0 +1,21 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.b r., *B100" } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned char B100 __attribute__ ((__BELOW100__)) = 0x34; +unsigned char *p = &B100; + +unsigned char yData = 0x12; + +void +Do (void) +{ + yData = B100; +} + +int +main (void) +{ + Do (); + return (yData == 0x34) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/05_b100b_to_var.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/16_if1_b100w_bit_8.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/16_if1_b100w_bit_8.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/16_if1_b100w_bit_8.c (revision 329) @@ -0,0 +1,29 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A\\+1,#0," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B\\+1,#0," } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100A __attribute__ ((__BELOW100__)) = 0xedcb; +unsigned short *pA = &B100A; +unsigned short B100B __attribute__ ((__BELOW100__)) = 0x1234; +unsigned short *pB = &B100B; + +char * +Do (void) +{ + if (B100A & 0x0100) + { + if (B100B & 0x0100) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/16_if1_b100w_bit_8.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/15_clr_b100w_bit_8.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/15_clr_b100w_bit_8.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/15_clr_b100w_bit_8.c (revision 329) @@ -0,0 +1,19 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "clr1 B100\\+1,#0" } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100 __attribute__ ((__BELOW100__)) = 0xedcb; +unsigned short *p = &B100; + +void +Do (void) +{ + B100 &= ~0x0100; +} + +int +main (void) +{ + Do (); + return (*p == 0xeccb) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/15_clr_b100w_bit_8.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/17_if0_b100w_bit_8.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/17_if0_b100w_bit_8.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/17_if0_b100w_bit_8.c (revision 329) @@ -0,0 +1,29 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A\\+1,#0," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B\\+1,#0," } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned short B100A __attribute__ ((__BELOW100__)) = 0x1234; +unsigned short *pA = &B100A; +unsigned short B100B __attribute__ ((__BELOW100__)) = 0xedcb; +unsigned short *pB = &B100B; + +char * +Do (void) +{ + if (!(B100A & 0x0100)) + { + if (!(B100B & 0x0100)) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/17_if0_b100w_bit_8.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/26_if1_b100w_bitfield_3.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/26_if1_b100w_bitfield_3.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/26_if1_b100w_bitfield_3.c (revision 329) @@ -0,0 +1,53 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#3," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#3," } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100A __attribute__ ((__BELOW100__)) = +{ +1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1}; +unsigned short *pA = (unsigned short *) &B100A; +BitField B100B __attribute__ ((__BELOW100__)) = +{ +0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0}; +unsigned short *pB = (unsigned short *) &B100B; + +char * +Do (void) +{ + if (B100A.b3) + { + if (B100B.b3) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/26_if1_b100w_bitfield_3.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/27_if0_b100w_bitfield_3.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/27_if0_b100w_bitfield_3.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/27_if0_b100w_bitfield_3.c (revision 329) @@ -0,0 +1,53 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#3," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#3," } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100A __attribute__ ((__BELOW100__)) = +{ +0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0}; +unsigned short *pA = (unsigned short *) &B100A; +BitField B100B __attribute__ ((__BELOW100__)) = +{ +1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1}; +unsigned short *pB = (unsigned short *) &B100B; + +char * +Do (void) +{ + if (!B100A.b3) + { + if (!B100B.b3) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/27_if0_b100w_bitfield_3.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/22_if1_b100b_bitfield_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/22_if1_b100b_bitfield_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/22_if1_b100b_bitfield_0.c (revision 329) @@ -0,0 +1,45 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#0," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#0," } } */ + +typedef struct +{ + unsigned char b0:1; + unsigned char b1:1; + unsigned char b2:1; + unsigned char b3:1; + unsigned char b4:1; + unsigned char b5:1; + unsigned char b6:1; + unsigned char b7:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100A __attribute__ ((__BELOW100__)) = +{ +1, 1, 0, 1, 0, 0, 1, 1}; +unsigned char *pA = (unsigned char *) &B100A; +BitField B100B __attribute__ ((__BELOW100__)) = +{ +0, 0, 1, 0, 1, 1, 0, 0}; +unsigned char *pB = (unsigned char *) &B100B; + +char * +Do (void) +{ + if (B100A.b0) + { + if (B100B.b0) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/22_if1_b100b_bitfield_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/23_if0_b100b_bitfield_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/23_if0_b100b_bitfield_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/23_if0_b100b_bitfield_0.c (revision 329) @@ -0,0 +1,45 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#0," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#0," } } */ + +typedef struct +{ + unsigned char b0:1; + unsigned char b1:1; + unsigned char b2:1; + unsigned char b3:1; + unsigned char b4:1; + unsigned char b5:1; + unsigned char b6:1; + unsigned char b7:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100A __attribute__ ((__BELOW100__)) = +{ +0, 0, 1, 0, 1, 1, 0, 0}; +unsigned char *pA = (unsigned char *) &B100A; +BitField B100B __attribute__ ((__BELOW100__)) = +{ +1, 1, 0, 1, 0, 0, 1, 1}; +unsigned char *pB = (unsigned char *) &B100B; + +char * +Do (void) +{ + if (!B100A.b0) + { + if (!B100B.b0) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/23_if0_b100b_bitfield_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/25_clr_b100w_bitfield_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/25_clr_b100w_bitfield_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/25_clr_b100w_bitfield_7.c (revision 329) @@ -0,0 +1,41 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "clr1 B100,#7" } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100 __attribute__ ((__BELOW100__)) = +{ +1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1}; +unsigned short *p = (unsigned short *) &B100; + +void +Do (void) +{ + B100.b7 = 0; +} + +int +main (void) +{ + Do (); + return (*p == 0xed4b) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/25_clr_b100w_bitfield_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/26_if1_b100w_bitfield_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/26_if1_b100w_bitfield_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/26_if1_b100w_bitfield_7.c (revision 329) @@ -0,0 +1,53 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#7," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#7," } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100A __attribute__ ((__BELOW100__)) = +{ +1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1}; +unsigned short *pA = (unsigned short *) &B100A; +BitField B100B __attribute__ ((__BELOW100__)) = +{ +0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0}; +unsigned short *pB = (unsigned short *) &B100B; + +char * +Do (void) +{ + if (B100A.b7) + { + if (B100B.b7) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/26_if1_b100w_bitfield_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/27_if0_b100w_bitfield_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/27_if0_b100w_bitfield_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/27_if0_b100w_bitfield_7.c (revision 329) @@ -0,0 +1,53 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] B100A,#7," } } */ +/* { dg-final { scan-assembler "b\[np\] B100B,#7," } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100A __attribute__ ((__BELOW100__)) = +{ +0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0}; +unsigned short *pA = (unsigned short *) &B100A; +BitField B100B __attribute__ ((__BELOW100__)) = +{ +1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1}; +unsigned short *pB = (unsigned short *) &B100B; + +char * +Do (void) +{ + if (!B100A.b7) + { + if (!B100B.b7) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/27_if0_b100w_bitfield_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/21_clr_b100b_bitfield_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/21_clr_b100b_bitfield_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/21_clr_b100b_bitfield_0.c (revision 329) @@ -0,0 +1,33 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "clr1 B100,#0" } } */ + +typedef struct +{ + unsigned char b0:1; + unsigned char b1:1; + unsigned char b2:1; + unsigned char b3:1; + unsigned char b4:1; + unsigned char b5:1; + unsigned char b6:1; + unsigned char b7:1; +} BitField; + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +BitField B100 __attribute__ ((__BELOW100__)) = +{ +1, 1, 0, 1, 0, 0, 1, 1}; +unsigned char *p = (unsigned char *) &B100; + +void +Do (void) +{ + B100.b0 = 0; +} + +int +main (void) +{ + Do (); + return (*p == 0xca) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/21_clr_b100b_bitfield_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/10_set_b100b_bit_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/10_set_b100b_bit_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/10_set_b100b_bit_0.c (revision 329) @@ -0,0 +1,19 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "set1 B100,#0" } } */ + +char acDummy[0xf0] __attribute__ ((__BELOW100__)); +unsigned char B100 __attribute__ ((__BELOW100__)) = 0x34; +unsigned char *p = &B100; + +void +Do (void) +{ + B100 |= 0x01; +} + +int +main (void) +{ + Do (); + return (*p == 0x35) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/data_below100/10_set_b100b_bit_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/below100.ld =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/below100.ld (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/below100.ld (revision 329) @@ -0,0 +1,192 @@ +/****************************************************************** +******************************************************************* +*** *** +*** Linker script for xstormy16-elf-gcc *** +*** For SID RAM=0x7E00 *** +*** ROM=0x78000 *** +*** *** +******************************************************************* +******************************************************************/ + +OUTPUT_FORMAT("elf32-xstormy16", "elf32-xstormy16", "elf32-xstormy16") +OUTPUT_ARCH(xstormy16) +ENTRY(_start) +SEARCH_DIR( . ) +GROUP(-lc -lsim -lgcc) +PROVIDE( __target_package = 0xff); + +__malloc_start = 0x7E00; + +MEMORY +{ + RAM (w) : ORIGIN = 0x00000, LENGTH = 0x07E00 + CHIP (r) : ORIGIN = 0x07f00, LENGTH = 0x00100 + ROM (!w) : ORIGIN = 0x08000, LENGTH = 0x78000 +} + +SECTIONS +{ + /* Zero initialized data with the below100 attribute. */ + .bss_below100 : { + SHORT(0) + __bss_start = .; + *(.bss_below100) + *(.bss_below100.*) + . = ALIGN(2); + } > RAM + + /* Non-zero initialized data with the below100 attribute. */ + .data_below100 : AT ( __rdata ) { + __data_start = . ; + *(.data_0) + *(.data_below100) + *(.data_below100.*) + . = ALIGN(2); + } > RAM = 0 + + /* Normal non-zero initialized data. */ + .data : AT ( __rdata + SIZEOF(.data_below100) ) { + *(.data) + *(.data.*) + *(.gnu.linkonce.d.*) + SORT(CONSTRUCTORS) + . = ALIGN(2); + __data_end = . ; + } > RAM =0 + + /* Normal zero initialized data. */ + .bss : AT (LOADADDR(.data) + SIZEOF(.data)) { + *(.dynbss) + *(.bss) + *(.bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(2); + __bss_end = .; + } > RAM + + /* The top of stack. */ + __stack = .; + + /* Target chip info. */ + .chip_info : { + KEEP(*(.chip_info)) + } > CHIP =0 + + /* Reset and interrupt vectors at 8000. */ + .int_vec : { + KEEP(*(.int_vec)) + } > ROM =0 + + /* Read only data. */ + .rodata : { + *(.rodata) + *(.rodata.*) + *(.gnu.linkonce.r.*) + } > ROM =0 + + /* C++ Construcrtors and destructors. */ + .ctors : { + KEEP (*crtbegin.o(.ctors)) + KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors)) + KEEP (*(SORT(.ctors.*))) + KEEP (*(.ctors)) + } > ROM =0 + + .dtors : { + KEEP (*crtbegin.o(.dtors)) + KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors)) + KEEP (*(SORT(.dtors.*))) + KEEP (*(.dtors)) + } > ROM =0 + + /* Pointer lookup table.. */ + .plt : { + *(.plt) + } > ROM =0 + + /* Other information. */ + .jcr : { + KEEP (*(.jcr)) + } > ROM =0 + + .eh_frame : { + KEEP (*(.eh_frame)) + } > ROM =0 + + .gcc_except_table : { + KEEP (*(.gcc_except_table)) + } > ROM =0 + + /* Initialization values for data. */ + .data_init (NOLOAD) : { + __rdata = .; + . += SIZEOF(.data_below100); + . += SIZEOF(.data); + . += SIZEOF(.bss); + } > ROM + + /* Executable code. */ + .text : { + *(.text) + *(.text.*) + *(.stub) + *(.gnu.warning) + *(.gnu.linkonce.t.*) + } > ROM =0 + + /* Startup/finish code. */ + .init : { + KEEP (*crti.o(.init)) + KEEP (*(EXCLUDE_FILE (*crtn.o ) .init)) + KEEP (*(SORT(.init.*))) + KEEP (*(.init)) + } > ROM =0 + + .fini : { + KEEP (*crti.o(.fini)) + KEEP (*(EXCLUDE_FILE (*crtn.o ) .fini)) + KEEP (*(SORT(.fini.*))) + KEEP (*(.fini)) + } > ROM =0 + + /* Stab debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + + /* DWARF debug sections. */ + /* Symbols in the DWARF debugging sections are relative to + the beginning of the section so we begin them at 0. */ + + /* DWARF 1. */ + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } + + /* GNU DWARF 1 extensions. */ + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } + + /* DWARF 1.1 and DWARF 2. */ + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } + + /* DWARF 2. */ + .debug_info 0 : { *(.debug_info) *(.gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } + + /* SGI/MIPS DWARF 2 extensions. */ + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } +} Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/xstormy16.exp =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/xstormy16.exp (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/xstormy16.exp (revision 329) @@ -0,0 +1,60 @@ +# Copyright (C) 2004, 2005 Free Software Foundation, Inc. +# +# 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 +# . + +# Tests for the xstormy16 + +if {![istarget xstormy16-*-*]} { + return 0 +} + +load_lib gcc-dg.exp + +# Initialize `dg'. +dg-init + +# Assemble the below100.S file which contains +# support code for the rest of the tests. +set old-dg-do-what-default "${dg-do-what-default}" +set dg-do-what-default assemble +dg-test -keep-output "$srcdir/$subdir/below100.S" "" "" +set dg-do-what-default run + + +# Main loop. +foreach testcase [lsort [find $srcdir/$subdir *.c]] { + global test_counts + + set base "[file rootname [file tail $testcase]]" + + if ![runtest_file_p $runtests $testcase] { + continue + } + + set fails_before $test_counts(FAIL,count) + dg-test $testcase "--save-temps -fno-inline-functions -L$srcdir/$subdir" "" + set fails_after $test_counts(FAIL,count) + + if { $fails_before == $fails_after } { + catch "exec rm -f $base.i $base.s $base.o" + } +} + +set dg-do-what-default "${old-dg-do-what-default}" + +# All done. +dg-finish Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/below_100.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/below_100.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/below_100.c (revision 329) @@ -0,0 +1,30 @@ +/* { dg-do compile } */ +/* { dg-options "-O2" } */ +/* { dg-final { scan-assembler "bn " } } */ +/* { dg-final { scan-assembler "b\[np\] " } } */ + +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 (); +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/below_100.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/below100.S =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/below100.S (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/below100.S (revision 329) @@ -0,0 +1,188 @@ +/****************************************************************** +*** *** +*** crt0 for __BELOW100__ attribute test with SID *** +*** *** +******************************************************************/ + + /*************************************/ + /** Interrupt vectors at 0x8000 **/ + /*************************************/ + .section .int_vec,"ax" + .global _start + .align 1 +_start: + jmpf _int_reset + //jmpf _int_basetimer + //jmpf _int_timer0 + //jmpf _int_timer1 + //jmpf _int_irq_4 + //jmpf _int_irq_5 + //jmpf _int_port0 + //jmpf _int_port1 + //jmpf _int_irq_8 + //jmpf _int_irq_9 + //jmpf _int_irq_a + //jmpf _int_irq_b + //jmpf _int_irq_c + //jmpf _int_irq_d + //jmpf _int_irq_e + //jmpf _int_irq_f + /*************************************/ + /** reset code **/ + /*************************************/ + .text +_int_reset: + /*************************************/ + /** setup stack pointer **/ + /*************************************/ + mov sp,#__stack + /*************************************/ + /** zero .bss section **/ + /*************************************/ + mov r0,#__bss_start + mov r1,#__bss_end + mov r2,#0 +1: mov.w (r0++),r2 + blt r0,r1,1b + /*************************************/ + /** copy inital value for .data **/ + /*************************************/ + mov r1,#__data_start + mov r3,#__data_end + mov r0,#@lo(__rdata) + mov r8,#@hi(__rdata) +2: movf.w r2,(r0++) + bnz r0,#0,3f + add r8,#1 +3: mov.w (r1++),r2 + blt r1,r3,2b + /*************************************/ + /** call hardware init routine **/ + /*************************************/ + callf _hwinit + /*************************************/ + /** call initializaton routines **/ + /*************************************/ + callf _init + /*************************************/ + /** setup fini routines to be **/ + /** called from exit **/ + /*************************************/ + mov r2,#@fptr(_fini) + callf atexit + /*************************************/ + /** call main() with empty **/ + /** argc/argv/envp **/ + /*************************************/ + mov r2,#0 + mov r3,#0 + mov r4,#0 + callf main + /*************************************/ + /** return from main() **/ + /*************************************/ + callf exit + /*************************************/ + /** should never reach this code **/ + /*************************************/ + jmpf _start + /*************************************/ + /** default h/w initialize routine **/ + /** and default _init/_finit for **/ + /** -nostartfiles option **/ + /*************************************/ + .globl _hwinit + .weak _hwinit +_hwinit: + .globl _init + .weak _init +_init: + .globl _fini + .weak _fini +_fini: + ret + +/****************************************************************** +******************************************************************* +*** *** +*** Chip information data for LC59_32K *** +*** Written by T.Matsukawa *** +*** *** +******************************************************************* +******************************************************************/ + + /*************************************/ + /** Define convenient macros **/ + /*************************************/ +#define BCD(x) (((x)/10)%10)*0x10+((x)%10) +#define BCD4(x) BCD((x)/100),BCD(x) +#define BCD6(x) BCD((x)/10000),BCD((x)/100),BCD(x) + /*************************************/ + /** Define memory sizes **/ + /*************************************/ +#define RAM_SIZE 0x7E00 +#define ROM_SIZE 0x78000 +#define VRAM_SIZE 0x0000 +#define VRAM_ROW 0 +#define VRAM_COLUMN 0 +#define CGROM_SIZE 0x0000 +#define PROTECT_SIZE 0x0000 + + /*************************************/ + /** section ".chip_info" **/ + /*************************************/ + .section .chip_info,"a" + .space 0xb8,0x00 + /*************************************/ + /** B8-BB : User option address **/ + /*************************************/ + .word 0x00000 + .global __reset_vector +#if 0x00000==0 + .equ __reset_vector,0x08000 +#else + .equ __reset_vector,0x00000 +#endif + /*************************************/ + /** BC-BF : Flash Protect address **/ + /*************************************/ +#if PROTECT_SIZE==0 + .word 0x00000000 +#else + .word 0x08000+ROM_SIZE-PROTECT_SIZE +#endif + /*************************************/ + /** C0-CF : Fixed string **/ + /*************************************/ +1: .ascii "CHIPINFORMATION" +2: .space (0x10-(2b-1b)),0x00 + /*************************************/ + /** D0-DF : Chipname **/ + /*************************************/ +1: .ascii "LC59_32K" +2: .space (0x10-(2b-1b)),0x00 + /*************************************/ + /** E0-E1 : Format version(BCD4) **/ + /*************************************/ + .byte 0x10, 0x00 + .space 6, 0x00 + /*************************************/ + /** E8-F5 : Memory sizes **/ + /*************************************/ + .byte BCD4(ROM_SIZE/1024) + .byte BCD6(RAM_SIZE) + .byte BCD6(VRAM_SIZE) + .byte BCD4(VRAM_ROW) + .byte BCD4(VRAM_COLUMN) + .byte BCD4(CGROM_SIZE/1024) + .space 3, 0x00 + /*************************************/ + /** F9 : Package type **/ + /*************************************/ + .byte 0xff + .space 6, 0x00 + + /*************************************/ + /** In order to link BIOS in library**/ + /*************************************/ + .equ dummy,__bios_entry
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/below100.S Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/27_if0_sfrw_bitfield_f.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/27_if0_sfrw_bitfield_f.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/27_if0_sfrw_bitfield_f.c (revision 329) @@ -0,0 +1,49 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.b r., *32533" } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +#define SFRA (*((volatile BitField*)0x7f14)) +unsigned short *pA = (unsigned short *) 0x7f14; +#define SFRB (*((volatile BitField*)0x7f10)) +unsigned short *pB = (unsigned short *) 0x7f10; + +char * +Do (void) +{ + if (!SFRA.b15) + { + if (!SFRB.b15) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0x1234; + *pB = 0xedcb; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/27_if0_sfrw_bitfield_f.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/25_clr_sfrw_bitfield_f.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/25_clr_sfrw_bitfield_f.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/25_clr_sfrw_bitfield_f.c (revision 329) @@ -0,0 +1,39 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "clr1 32533,#7" } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +#define SFR (*((volatile BitField*)0x7f14)) +unsigned short *p = (unsigned short *) 0x7f14; + +void +Do (void) +{ + SFR.b15 = 0; +} + +int +main (void) +{ + *p = 0xedcb; + Do (); + return (*p == 0x6dcb) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/25_clr_sfrw_bitfield_f.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/26_if1_sfrw_bitfield_f.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/26_if1_sfrw_bitfield_f.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/26_if1_sfrw_bitfield_f.c (revision 329) @@ -0,0 +1,49 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.b r., *32533" } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +#define SFRA (*((volatile BitField*)0x7f14)) +unsigned short *pA = (unsigned short *) 0x7f14; +#define SFRB (*((volatile BitField*)0x7f10)) +unsigned short *pB = (unsigned short *) 0x7f10; + +char * +Do (void) +{ + if (SFRA.b15) + { + if (SFRB.b15) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0xedcb; + *pB = 0x1234; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/26_if1_sfrw_bitfield_f.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/20_set_sfrb_bitfield_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/20_set_sfrb_bitfield_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/20_set_sfrb_bitfield_7.c (revision 329) @@ -0,0 +1,31 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "set1 32532,#7" } } */ + +typedef struct +{ + unsigned char b0:1; + unsigned char b1:1; + unsigned char b2:1; + unsigned char b3:1; + unsigned char b4:1; + unsigned char b5:1; + unsigned char b6:1; + unsigned char b7:1; +} BitField; + +#define SFR (*((volatile BitField*)0x7f14)) +unsigned char *p = (unsigned char *) 0x7f14; + +void +Do (void) +{ + SFR.b7 = 1; +} + +int +main (void) +{ + *p = 0x34; + Do (); + return (*p == 0xb4) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/20_set_sfrb_bitfield_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/03_var_to_sfrb.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/03_var_to_sfrb.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/03_var_to_sfrb.c (revision 329) @@ -0,0 +1,21 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.b 32532,r" } } */ + +#define SFR (*((volatile unsigned char*)0x7f14)) +unsigned char *p = (unsigned char *) 0x7f14; + +unsigned char yData = 0x12; + +void +Do (void) +{ + SFR = yData; +} + +int +main (void) +{ + *p = 0x34; + Do (); + return (*p == 0x12) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/03_var_to_sfrb.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/11_clr_sfrb_bit_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/11_clr_sfrb_bit_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/11_clr_sfrb_bit_0.c (revision 329) @@ -0,0 +1,19 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "clr1 32532,#0" } } */ + +#define SFR (*((volatile unsigned char*)0x7f14)) +unsigned char *p = (unsigned char *) 0x7f14; + +void +Do (void) +{ + SFR &= ~0x01; +} + +int +main (void) +{ + *p = 0xcb; + Do (); + return (*p == 0xca) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/11_clr_sfrb_bit_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/12_if1_sfrb_bit_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/12_if1_sfrb_bit_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/12_if1_sfrb_bit_0.c (revision 329) @@ -0,0 +1,29 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] " } } */ + +#define SFRA (*((volatile unsigned char*)0x7f14)) +unsigned char *pA = (unsigned char *) 0x7f14; +#define SFRB (*((volatile unsigned char*)0x7f10)) +unsigned char *pB = (unsigned char *) 0x7f10; + +char * +Do (void) +{ + if (SFRA & 0x01) + { + if (SFRB & 0x01) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0xcb; + *pB = 0x34; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/12_if1_sfrb_bit_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/13_if0_sfrb_bit_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/13_if0_sfrb_bit_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/13_if0_sfrb_bit_0.c (revision 329) @@ -0,0 +1,29 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] " } } */ + +#define SFRA (*((volatile unsigned char*)0x7f14)) +unsigned char *pA = (unsigned char *) 0x7f14; +#define SFRB (*((volatile unsigned char*)0x7f10)) +unsigned char *pB = (unsigned char *) 0x7f10; + +char * +Do (void) +{ + if (!(SFRA & 0x01)) + { + if (!(SFRB & 0x01)) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0x34; + *pB = 0xcb; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/13_if0_sfrb_bit_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/27_if0_sfrw_bitfield_3.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/27_if0_sfrw_bitfield_3.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/27_if0_sfrw_bitfield_3.c (revision 329) @@ -0,0 +1,49 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "bp 32532,#3" } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +#define SFRA (*((volatile BitField*)0x7f14)) +unsigned short *pA = (unsigned short *) 0x7f14; +#define SFRB (*((volatile BitField*)0x7f10)) +unsigned short *pB = (unsigned short *) 0x7f10; + +char * +Do (void) +{ + if (!SFRA.b3) + { + if (!SFRB.b3) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0x1234; + *pB = 0xedcb; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/27_if0_sfrw_bitfield_3.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/26_if1_sfrw_bitfield_3.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/26_if1_sfrw_bitfield_3.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/26_if1_sfrw_bitfield_3.c (revision 329) @@ -0,0 +1,49 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "bn 32532,#3" } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +#define SFRA (*((volatile BitField*)0x7f14)) +unsigned short *pA = (unsigned short *) 0x7f14; +#define SFRB (*((volatile BitField*)0x7f10)) +unsigned short *pB = (unsigned short *) 0x7f10; + +char * +Do (void) +{ + if (SFRA.b3) + { + if (SFRB.b3) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0xedcb; + *pB = 0x1234; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/26_if1_sfrw_bitfield_3.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/14_set_sfrw_bit_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/14_set_sfrw_bit_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/14_set_sfrw_bit_0.c (revision 329) @@ -0,0 +1,19 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.w r.,32532" } } */ + +#define SFR (*((volatile unsigned short*)0x7f14)) +unsigned short *p = (unsigned short *) 0x7f14; + +void +Do (void) +{ + SFR |= 0x0001; +} + +int +main (void) +{ + *p = 0x1234; + Do (); + return (*p == 0x1235) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/14_set_sfrw_bit_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/21_clr_sfrb_bitfield_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/21_clr_sfrb_bitfield_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/21_clr_sfrb_bitfield_0.c (revision 329) @@ -0,0 +1,31 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "clr1 32532,#0" } } */ + +typedef struct +{ + unsigned char b0:1; + unsigned char b1:1; + unsigned char b2:1; + unsigned char b3:1; + unsigned char b4:1; + unsigned char b5:1; + unsigned char b6:1; + unsigned char b7:1; +} BitField; + +#define SFR (*((volatile BitField*)0x7f14)) +unsigned char *p = (unsigned char *) 0x7f14; + +void +Do (void) +{ + SFR.b0 = 0; +} + +int +main (void) +{ + *p = 0xcb; + Do (); + return (*p == 0xca) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/21_clr_sfrb_bitfield_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/22_if1_sfrb_bitfield_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/22_if1_sfrb_bitfield_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/22_if1_sfrb_bitfield_0.c (revision 329) @@ -0,0 +1,41 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] " } } */ + +typedef struct +{ + unsigned char b0:1; + unsigned char b1:1; + unsigned char b2:1; + unsigned char b3:1; + unsigned char b4:1; + unsigned char b5:1; + unsigned char b6:1; + unsigned char b7:1; +} BitField; + +#define SFRA (*((volatile BitField*)0x7f14)) +unsigned char *pA = (unsigned char *) 0x7f14; +#define SFRB (*((volatile BitField*)0x7f10)) +unsigned char *pB = (unsigned char *) 0x7f10; + +char * +Do (void) +{ + if (SFRA.b0) + { + if (SFRB.b0) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0xcb; + *pB = 0x34; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/22_if1_sfrb_bitfield_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/23_if0_sfrb_bitfield_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/23_if0_sfrb_bitfield_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/23_if0_sfrb_bitfield_0.c (revision 329) @@ -0,0 +1,41 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] " } } */ + +typedef struct +{ + unsigned char b0:1; + unsigned char b1:1; + unsigned char b2:1; + unsigned char b3:1; + unsigned char b4:1; + unsigned char b5:1; + unsigned char b6:1; + unsigned char b7:1; +} BitField; + +#define SFRA (*((volatile BitField*)0x7f14)) +unsigned char *pA = (unsigned char *) 0x7f14; +#define SFRB (*((volatile BitField*)0x7f10)) +unsigned char *pB = (unsigned char *) 0x7f10; + +char * +Do (void) +{ + if (!SFRA.b0) + { + if (!SFRB.b0) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0x34; + *pB = 0xcb; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/23_if0_sfrb_bitfield_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/25_clr_sfrw_bitfield_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/25_clr_sfrw_bitfield_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/25_clr_sfrw_bitfield_7.c (revision 329) @@ -0,0 +1,39 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "clr1 32532,#7" } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +#define SFR (*((volatile BitField*)0x7f14)) +unsigned short *p = (unsigned short *) 0x7f14; + +void +Do (void) +{ + SFR.b7 = 0; +} + +int +main (void) +{ + *p = 0xedcb; + Do (); + return (*p == 0xed4b) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/25_clr_sfrw_bitfield_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/26_if1_sfrw_bitfield_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/26_if1_sfrw_bitfield_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/26_if1_sfrw_bitfield_7.c (revision 329) @@ -0,0 +1,49 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.b r., *32532" } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +#define SFRA (*((volatile BitField*)0x7f14)) +unsigned short *pA = (unsigned short *) 0x7f14; +#define SFRB (*((volatile BitField*)0x7f10)) +unsigned short *pB = (unsigned short *) 0x7f10; + +char * +Do (void) +{ + if (SFRA.b7) + { + if (SFRB.b7) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0xedcb; + *pB = 0x1234; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/26_if1_sfrw_bitfield_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/27_if0_sfrw_bitfield_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/27_if0_sfrw_bitfield_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/27_if0_sfrw_bitfield_7.c (revision 329) @@ -0,0 +1,49 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.b r., *32532" } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +#define SFRA (*((volatile BitField*)0x7f14)) +unsigned short *pA = (unsigned short *) 0x7f14; +#define SFRB (*((volatile BitField*)0x7f10)) +unsigned short *pB = (unsigned short *) 0x7f10; + +char * +Do (void) +{ + if (!SFRA.b7) + { + if (!SFRB.b7) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0x1234; + *pB = 0xedcb; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/27_if0_sfrw_bitfield_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/14_set_sfrw_bit_8.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/14_set_sfrw_bit_8.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/14_set_sfrw_bit_8.c (revision 329) @@ -0,0 +1,19 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.w r.,32532" } } */ + +#define SFR (*((volatile unsigned short*)0x7f14)) +unsigned short *p = (unsigned short *) 0x7f14; + +void +Do (void) +{ + SFR |= 0x0100; +} + +int +main (void) +{ + *p = 0x1234; + Do (); + return (*p == 0x1334) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/14_set_sfrw_bit_8.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/02_const_to_sfrw.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/02_const_to_sfrw.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/02_const_to_sfrw.c (revision 329) @@ -0,0 +1,19 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.w 32532,#4660" } } */ + +#define SFR (*((volatile unsigned short*)0x7f14)) +unsigned short *p = (unsigned short *) 0x7f14; + +void +Do (void) +{ + SFR = 0x1234; +} + +int +main (void) +{ + *p = 0x9876; + Do (); + return (*p == 0x1234) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/02_const_to_sfrw.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/04_var_to_sfrw.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/04_var_to_sfrw.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/04_var_to_sfrw.c (revision 329) @@ -0,0 +1,21 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.w 32532,r" } } */ + +#define SFR (*((volatile unsigned short*)0x7f14)) +unsigned short *p = (unsigned short *) 0x7f14; + +unsigned short wData = 0x1234; + +void +Do (void) +{ + SFR = wData; +} + +int +main (void) +{ + *p = 0x9876; + Do (); + return (*p == 0x1234) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/04_var_to_sfrw.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/17_if0_sfrw_bit_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/17_if0_sfrw_bit_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/17_if0_sfrw_bit_0.c (revision 329) @@ -0,0 +1,29 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.w r.,32532" } } */ + +#define SFRA (*((volatile unsigned short*)0x7f14)) +unsigned short *pA = (unsigned short *) 0x7f14; +#define SFRB (*((volatile unsigned short*)0x7f10)) +unsigned short *pB = (unsigned short *) 0x7f10; + +char * +Do (void) +{ + if (!(SFRA & 0x0001)) + { + if (!(SFRB & 0x0001)) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0x1234; + *pB = 0xedcb; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/17_if0_sfrw_bit_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/15_clr_sfrw_bit_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/15_clr_sfrw_bit_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/15_clr_sfrw_bit_0.c (revision 329) @@ -0,0 +1,19 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.w r.,32532" } } */ + +#define SFR (*((volatile unsigned short*)0x7f14)) +unsigned short *p = (unsigned short *) 0x7f14; + +void +Do (void) +{ + SFR &= ~0x0001; +} + +int +main (void) +{ + *p = 0xedcb; + Do (); + return (*p == 0xedca) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/15_clr_sfrw_bit_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/16_if1_sfrw_bit_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/16_if1_sfrw_bit_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/16_if1_sfrw_bit_0.c (revision 329) @@ -0,0 +1,29 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.w r.,32532" } } */ + +#define SFRA (*((volatile unsigned short*)0x7f14)) +unsigned short *pA = (unsigned short *) 0x7f14; +#define SFRB (*((volatile unsigned short*)0x7f10)) +unsigned short *pB = (unsigned short *) 0x7f10; + +char * +Do (void) +{ + if (SFRA & 0x0001) + { + if (SFRB & 0x0001) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0xedcb; + *pB = 0x1234; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/16_if1_sfrw_bit_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/24_set_sfrw_bitfield_f.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/24_set_sfrw_bitfield_f.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/24_set_sfrw_bitfield_f.c (revision 329) @@ -0,0 +1,39 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "set1 32533,#7" } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +#define SFR (*((volatile BitField*)0x7f14)) +unsigned short *p = (unsigned short *) 0x7f14; + +void +Do (void) +{ + SFR.b15 = 1; +} + +int +main (void) +{ + *p = 0x1234; + Do (); + return (*p == 0x9234) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/24_set_sfrw_bitfield_f.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/17_if0_sfrw_bit_8.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/17_if0_sfrw_bit_8.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/17_if0_sfrw_bit_8.c (revision 329) @@ -0,0 +1,29 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.w r.,32532" } } */ + +#define SFRA (*((volatile unsigned short*)0x7f14)) +unsigned short *pA = (unsigned short *) 0x7f14; +#define SFRB (*((volatile unsigned short*)0x7f10)) +unsigned short *pB = (unsigned short *) 0x7f10; + +char * +Do (void) +{ + if (!(SFRA & 0x0100)) + { + if (!(SFRB & 0x0100)) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0x1234; + *pB = 0xedcb; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/17_if0_sfrw_bit_8.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/15_clr_sfrw_bit_8.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/15_clr_sfrw_bit_8.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/15_clr_sfrw_bit_8.c (revision 329) @@ -0,0 +1,19 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.w r.,32532" } } */ + +#define SFR (*((volatile unsigned short*)0x7f14)) +unsigned short *p = (unsigned short *) 0x7f14; + +void +Do (void) +{ + SFR &= ~0x0100; +} + +int +main (void) +{ + *p = 0xedcb; + Do (); + return (*p == 0xeccb) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/15_clr_sfrw_bit_8.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/16_if1_sfrw_bit_8.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/16_if1_sfrw_bit_8.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/16_if1_sfrw_bit_8.c (revision 329) @@ -0,0 +1,29 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.w r.,32532" } } */ + +#define SFRA (*((volatile unsigned short*)0x7f14)) +unsigned short *pA = (unsigned short *) 0x7f14; +#define SFRB (*((volatile unsigned short*)0x7f10)) +unsigned short *pB = (unsigned short *) 0x7f10; + +char * +Do (void) +{ + if (SFRA & 0x0100) + { + if (SFRB & 0x0100) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0xedcb; + *pB = 0x1234; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/16_if1_sfrw_bit_8.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/24_set_sfrw_bitfield_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/24_set_sfrw_bitfield_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/24_set_sfrw_bitfield_7.c (revision 329) @@ -0,0 +1,39 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "set1 32532,#7" } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +#define SFR (*((volatile BitField*)0x7f14)) +unsigned short *p = (unsigned short *) 0x7f14; + +void +Do (void) +{ + SFR.b7 = 1; +} + +int +main (void) +{ + *p = 0x1234; + Do (); + return (*p == 0x12b4) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/24_set_sfrw_bitfield_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/20_set_sfrb_bitfield_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/20_set_sfrb_bitfield_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/20_set_sfrb_bitfield_0.c (revision 329) @@ -0,0 +1,31 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "set1 32532,#0" } } */ + +typedef struct +{ + unsigned char b0:1; + unsigned char b1:1; + unsigned char b2:1; + unsigned char b3:1; + unsigned char b4:1; + unsigned char b5:1; + unsigned char b6:1; + unsigned char b7:1; +} BitField; + +#define SFR (*((volatile BitField*)0x7f14)) +unsigned char *p = (unsigned char *) 0x7f14; + +void +Do (void) +{ + SFR.b0 = 1; +} + +int +main (void) +{ + *p = 0x34; + Do (); + return (*p == 0x35) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/20_set_sfrb_bitfield_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/10_set_sfrb_bit_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/10_set_sfrb_bit_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/10_set_sfrb_bit_7.c (revision 329) @@ -0,0 +1,19 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "set1 32532,#7" } } */ + +#define SFR (*((volatile unsigned char*)0x7f14)) +unsigned char *p = (unsigned char *) 0x7f14; + +void +Do (void) +{ + SFR |= 0x80; +} + +int +main (void) +{ + *p = 0x34; + Do (); + return (*p == 0xb4) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/10_set_sfrb_bit_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/14_set_sfrw_bit_b.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/14_set_sfrw_bit_b.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/14_set_sfrw_bit_b.c (revision 329) @@ -0,0 +1,19 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.w r.,32532" } } */ + +#define SFR (*((volatile unsigned short*)0x7f14)) +unsigned short *p = (unsigned short *) 0x7f14; + +void +Do (void) +{ + SFR |= 0x0800; +} + +int +main (void) +{ + *p = 0x1234; + Do (); + return (*p == 0x1a34) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/14_set_sfrw_bit_b.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/06_sfrw_to_var.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/06_sfrw_to_var.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/06_sfrw_to_var.c (revision 329) @@ -0,0 +1,21 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.w r6,32532" } } */ + +#define SFR (*((volatile unsigned short*)0x7f14)) +unsigned short *p = (unsigned short *) 0x7f14; + +unsigned short wData = 0x9876; + +void +Do (void) +{ + wData = SFR; +} + +int +main (void) +{ + *p = 0x1234; + Do (); + return (wData == 0x1234) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/06_sfrw_to_var.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/14_set_sfrw_bit_f.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/14_set_sfrw_bit_f.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/14_set_sfrw_bit_f.c (revision 329) @@ -0,0 +1,19 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.w r.,32532" } } */ + +#define SFR (*((volatile unsigned short*)0x7f14)) +unsigned short *p = (unsigned short *) 0x7f14; + +void +Do (void) +{ + SFR |= 0x8000; +} + +int +main (void) +{ + *p = 0x1234; + Do (); + return (*p == 0x9234) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/14_set_sfrw_bit_f.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/01_const_to_sfrb.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/01_const_to_sfrb.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/01_const_to_sfrb.c (revision 329) @@ -0,0 +1,19 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.b 32532,#18" } } */ + +#define SFR (*((volatile unsigned char*)0x7f14)) +unsigned char *p = (unsigned char *) 0x7f14; + +void +Do (void) +{ + SFR = 0x12; +} + +int +main (void) +{ + *p = 0x34; + Do (); + return (*p == 0x12) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/01_const_to_sfrb.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/27_if0_sfrw_bitfield_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/27_if0_sfrw_bitfield_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/27_if0_sfrw_bitfield_0.c (revision 329) @@ -0,0 +1,49 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "bp 32532,#0" } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +#define SFRA (*((volatile BitField*)0x7f14)) +unsigned short *pA = (unsigned short *) 0x7f14; +#define SFRB (*((volatile BitField*)0x7f10)) +unsigned short *pB = (unsigned short *) 0x7f10; + +char * +Do (void) +{ + if (!SFRA.b0) + { + if (!SFRB.b0) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0x1234; + *pB = 0xedcb; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/27_if0_sfrw_bitfield_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/25_clr_sfrw_bitfield_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/25_clr_sfrw_bitfield_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/25_clr_sfrw_bitfield_0.c (revision 329) @@ -0,0 +1,39 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "clr1 32532,#0" } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +#define SFR (*((volatile BitField*)0x7f14)) +unsigned short *p = (unsigned short *) 0x7f14; + +void +Do (void) +{ + SFR.b0 = 0; +} + +int +main (void) +{ + *p = 0xedcb; + Do (); + return (*p == 0xedca) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/25_clr_sfrw_bitfield_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/26_if1_sfrw_bitfield_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/26_if1_sfrw_bitfield_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/26_if1_sfrw_bitfield_0.c (revision 329) @@ -0,0 +1,49 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "bn 32532,#0" } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +#define SFRA (*((volatile BitField*)0x7f14)) +unsigned short *pA = (unsigned short *) 0x7f14; +#define SFRB (*((volatile BitField*)0x7f10)) +unsigned short *pB = (unsigned short *) 0x7f10; + +char * +Do (void) +{ + if (SFRA.b0) + { + if (SFRB.b0) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0xedcb; + *pB = 0x1234; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/26_if1_sfrw_bitfield_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/05_sfrb_to_var.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/05_sfrb_to_var.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/05_sfrb_to_var.c (revision 329) @@ -0,0 +1,21 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.b r., *32532" } } */ + +#define SFR (*((volatile unsigned char*)0x7f14)) +unsigned char *p = (unsigned char *) 0x7f14; + +unsigned char yData = 0x12; + +void +Do (void) +{ + yData = SFR; +} + +int +main (void) +{ + *p = 0x34; + Do (); + return (yData == 0x34) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/05_sfrb_to_var.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/12_if1_sfrb_bit_3.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/12_if1_sfrb_bit_3.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/12_if1_sfrb_bit_3.c (revision 329) @@ -0,0 +1,29 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] " } } */ + +#define SFRA (*((volatile unsigned char*)0x7f14)) +unsigned char *pA = (unsigned char *) 0x7f14; +#define SFRB (*((volatile unsigned char*)0x7f10)) +unsigned char *pB = (unsigned char *) 0x7f10; + +char * +Do (void) +{ + if (SFRA & 0x08) + { + if (SFRB & 0x08) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0xcb; + *pB = 0x34; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/12_if1_sfrb_bit_3.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/13_if0_sfrb_bit_3.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/13_if0_sfrb_bit_3.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/13_if0_sfrb_bit_3.c (revision 329) @@ -0,0 +1,29 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] " } } */ + +#define SFRA (*((volatile unsigned char*)0x7f14)) +unsigned char *pA = (unsigned char *) 0x7f14; +#define SFRB (*((volatile unsigned char*)0x7f10)) +unsigned char *pB = (unsigned char *) 0x7f10; + +char * +Do (void) +{ + if (!(SFRA & 0x08)) + { + if (!(SFRB & 0x08)) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0x34; + *pB = 0xcb; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/13_if0_sfrb_bit_3.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/27_if0_sfrw_bitfield_8.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/27_if0_sfrw_bitfield_8.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/27_if0_sfrw_bitfield_8.c (revision 329) @@ -0,0 +1,49 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "bp 32533,#0" } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +#define SFRA (*((volatile BitField*)0x7f14)) +unsigned short *pA = (unsigned short *) 0x7f14; +#define SFRB (*((volatile BitField*)0x7f10)) +unsigned short *pB = (unsigned short *) 0x7f10; + +char * +Do (void) +{ + if (!SFRA.b8) + { + if (!SFRB.b8) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0x1234; + *pB = 0xedcb; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/27_if0_sfrw_bitfield_8.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/14_set_sfrw_bit_3.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/14_set_sfrw_bit_3.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/14_set_sfrw_bit_3.c (revision 329) @@ -0,0 +1,19 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.w r.,32532" } } */ + +#define SFR (*((volatile unsigned short*)0x7f14)) +unsigned short *p = (unsigned short *) 0x7f14; + +void +Do (void) +{ + SFR |= 0x0008; +} + +int +main (void) +{ + *p = 0x1234; + Do (); + return (*p == 0x123c) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/14_set_sfrw_bit_3.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/25_clr_sfrw_bitfield_8.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/25_clr_sfrw_bitfield_8.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/25_clr_sfrw_bitfield_8.c (revision 329) @@ -0,0 +1,39 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "clr1 32533,#0" } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +#define SFR (*((volatile BitField*)0x7f14)) +unsigned short *p = (unsigned short *) 0x7f14; + +void +Do (void) +{ + SFR.b8 = 0; +} + +int +main (void) +{ + *p = 0xedcb; + Do (); + return (*p == 0xeccb) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/25_clr_sfrw_bitfield_8.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/26_if1_sfrw_bitfield_8.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/26_if1_sfrw_bitfield_8.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/26_if1_sfrw_bitfield_8.c (revision 329) @@ -0,0 +1,49 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "bn 32533,#0" } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +#define SFRA (*((volatile BitField*)0x7f14)) +unsigned short *pA = (unsigned short *) 0x7f14; +#define SFRB (*((volatile BitField*)0x7f10)) +unsigned short *pB = (unsigned short *) 0x7f10; + +char * +Do (void) +{ + if (SFRA.b8) + { + if (SFRB.b8) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0xedcb; + *pB = 0x1234; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/26_if1_sfrw_bitfield_8.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/11_clr_sfrb_bit_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/11_clr_sfrb_bit_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/11_clr_sfrb_bit_7.c (revision 329) @@ -0,0 +1,19 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "clr1 32532,#7" } } */ + +#define SFR (*((volatile unsigned char*)0x7f14)) +unsigned char *p = (unsigned char *) 0x7f14; + +void +Do (void) +{ + SFR &= ~0x80; +} + +int +main (void) +{ + *p = 0xcb; + Do (); + return (*p == 0x4b) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/11_clr_sfrb_bit_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/12_if1_sfrb_bit_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/12_if1_sfrb_bit_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/12_if1_sfrb_bit_7.c (revision 329) @@ -0,0 +1,29 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] " } } */ + +#define SFRA (*((volatile unsigned char*)0x7f14)) +unsigned char *pA = (unsigned char *) 0x7f14; +#define SFRB (*((volatile unsigned char*)0x7f10)) +unsigned char *pB = (unsigned char *) 0x7f10; + +char * +Do (void) +{ + if (SFRA & 0x80) + { + if (SFRB & 0x80) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0xcb; + *pB = 0x34; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/12_if1_sfrb_bit_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/13_if0_sfrb_bit_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/13_if0_sfrb_bit_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/13_if0_sfrb_bit_7.c (revision 329) @@ -0,0 +1,29 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] " } } */ + +#define SFRA (*((volatile unsigned char*)0x7f14)) +unsigned char *pA = (unsigned char *) 0x7f14; +#define SFRB (*((volatile unsigned char*)0x7f10)) +unsigned char *pB = (unsigned char *) 0x7f10; + +char * +Do (void) +{ + if (!(SFRA & 0x80)) + { + if (!(SFRB & 0x80)) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0x34; + *pB = 0xcb; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/13_if0_sfrb_bit_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/22_if1_sfrb_bitfield_3.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/22_if1_sfrb_bitfield_3.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/22_if1_sfrb_bitfield_3.c (revision 329) @@ -0,0 +1,41 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] " } } */ + +typedef struct +{ + unsigned char b0:1; + unsigned char b1:1; + unsigned char b2:1; + unsigned char b3:1; + unsigned char b4:1; + unsigned char b5:1; + unsigned char b6:1; + unsigned char b7:1; +} BitField; + +#define SFRA (*((volatile BitField*)0x7f14)) +unsigned char *pA = (unsigned char *) 0x7f14; +#define SFRB (*((volatile BitField*)0x7f10)) +unsigned char *pB = (unsigned char *) 0x7f10; + +char * +Do (void) +{ + if (SFRA.b3) + { + if (SFRB.b3) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0xcb; + *pB = 0x34; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/22_if1_sfrb_bitfield_3.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/23_if0_sfrb_bitfield_3.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/23_if0_sfrb_bitfield_3.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/23_if0_sfrb_bitfield_3.c (revision 329) @@ -0,0 +1,41 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] " } } */ + +typedef struct +{ + unsigned char b0:1; + unsigned char b1:1; + unsigned char b2:1; + unsigned char b3:1; + unsigned char b4:1; + unsigned char b5:1; + unsigned char b6:1; + unsigned char b7:1; +} BitField; + +#define SFRA (*((volatile BitField*)0x7f14)) +unsigned char *pA = (unsigned char *) 0x7f14; +#define SFRB (*((volatile BitField*)0x7f10)) +unsigned char *pB = (unsigned char *) 0x7f10; + +char * +Do (void) +{ + if (!SFRA.b3) + { + if (!SFRB.b3) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0x34; + *pB = 0xcb; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/23_if0_sfrb_bitfield_3.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/14_set_sfrw_bit_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/14_set_sfrw_bit_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/14_set_sfrw_bit_7.c (revision 329) @@ -0,0 +1,19 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.w r.,32532" } } */ + +#define SFR (*((volatile unsigned short*)0x7f14)) +unsigned short *p = (unsigned short *) 0x7f14; + +void +Do (void) +{ + SFR |= 0x0080; +} + +int +main (void) +{ + *p = 0x1234; + Do (); + return (*p == 0x12b4) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/14_set_sfrw_bit_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/15_clr_sfrw_bit_b.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/15_clr_sfrw_bit_b.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/15_clr_sfrw_bit_b.c (revision 329) @@ -0,0 +1,19 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.w r.,32532" } } */ + +#define SFR (*((volatile unsigned short*)0x7f14)) +unsigned short *p = (unsigned short *) 0x7f14; + +void +Do (void) +{ + SFR &= ~0x0800; +} + +int +main (void) +{ + *p = 0xedcb; + Do (); + return (*p == 0xe5cb) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/15_clr_sfrw_bit_b.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/16_if1_sfrw_bit_b.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/16_if1_sfrw_bit_b.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/16_if1_sfrw_bit_b.c (revision 329) @@ -0,0 +1,29 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.w r.,32532" } } */ + +#define SFRA (*((volatile unsigned short*)0x7f14)) +unsigned short *pA = (unsigned short *) 0x7f14; +#define SFRB (*((volatile unsigned short*)0x7f10)) +unsigned short *pB = (unsigned short *) 0x7f10; + +char * +Do (void) +{ + if (SFRA & 0x0800) + { + if (SFRB & 0x0800) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0xedcb; + *pB = 0x1234; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/16_if1_sfrw_bit_b.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/17_if0_sfrw_bit_b.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/17_if0_sfrw_bit_b.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/17_if0_sfrw_bit_b.c (revision 329) @@ -0,0 +1,29 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.w r.,32532" } } */ + +#define SFRA (*((volatile unsigned short*)0x7f14)) +unsigned short *pA = (unsigned short *) 0x7f14; +#define SFRB (*((volatile unsigned short*)0x7f10)) +unsigned short *pB = (unsigned short *) 0x7f10; + +char * +Do (void) +{ + if (!(SFRA & 0x0800)) + { + if (!(SFRB & 0x0800)) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0x1234; + *pB = 0xedcb; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/17_if0_sfrw_bit_b.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/21_clr_sfrb_bitfield_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/21_clr_sfrb_bitfield_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/21_clr_sfrb_bitfield_7.c (revision 329) @@ -0,0 +1,31 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "clr1 32532,#7" } } */ + +typedef struct +{ + unsigned char b0:1; + unsigned char b1:1; + unsigned char b2:1; + unsigned char b3:1; + unsigned char b4:1; + unsigned char b5:1; + unsigned char b6:1; + unsigned char b7:1; +} BitField; + +#define SFR (*((volatile BitField*)0x7f14)) +unsigned char *p = (unsigned char *) 0x7f14; + +void +Do (void) +{ + SFR.b7 = 0; +} + +int +main (void) +{ + *p = 0xcb; + Do (); + return (*p == 0x4b) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/21_clr_sfrb_bitfield_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/22_if1_sfrb_bitfield_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/22_if1_sfrb_bitfield_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/22_if1_sfrb_bitfield_7.c (revision 329) @@ -0,0 +1,41 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] " } } */ + +typedef struct +{ + unsigned char b0:1; + unsigned char b1:1; + unsigned char b2:1; + unsigned char b3:1; + unsigned char b4:1; + unsigned char b5:1; + unsigned char b6:1; + unsigned char b7:1; +} BitField; + +#define SFRA (*((volatile BitField*)0x7f14)) +unsigned char *pA = (unsigned char *) 0x7f14; +#define SFRB (*((volatile BitField*)0x7f10)) +unsigned char *pB = (unsigned char *) 0x7f10; + +char * +Do (void) +{ + if (SFRA.b7) + { + if (SFRB.b7) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0xcb; + *pB = 0x34; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/22_if1_sfrb_bitfield_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/23_if0_sfrb_bitfield_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/23_if0_sfrb_bitfield_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/23_if0_sfrb_bitfield_7.c (revision 329) @@ -0,0 +1,41 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "b\[np\] " } } */ + +typedef struct +{ + unsigned char b0:1; + unsigned char b1:1; + unsigned char b2:1; + unsigned char b3:1; + unsigned char b4:1; + unsigned char b5:1; + unsigned char b6:1; + unsigned char b7:1; +} BitField; + +#define SFRA (*((volatile BitField*)0x7f14)) +unsigned char *pA = (unsigned char *) 0x7f14; +#define SFRB (*((volatile BitField*)0x7f10)) +unsigned char *pB = (unsigned char *) 0x7f10; + +char * +Do (void) +{ + if (!SFRA.b7) + { + if (!SFRB.b7) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0x34; + *pB = 0xcb; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/23_if0_sfrb_bitfield_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/15_clr_sfrw_bit_f.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/15_clr_sfrw_bit_f.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/15_clr_sfrw_bit_f.c (revision 329) @@ -0,0 +1,19 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.w r.,32532" } } */ + +#define SFR (*((volatile unsigned short*)0x7f14)) +unsigned short *p = (unsigned short *) 0x7f14; + +void +Do (void) +{ + SFR &= ~0x8000; +} + +int +main (void) +{ + *p = 0xedcb; + Do (); + return (*p == 0x6dcb) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/15_clr_sfrw_bit_f.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/16_if1_sfrw_bit_f.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/16_if1_sfrw_bit_f.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/16_if1_sfrw_bit_f.c (revision 329) @@ -0,0 +1,29 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.w r.,32532" } } */ + +#define SFRA (*((volatile unsigned short*)0x7f14)) +unsigned short *pA = (unsigned short *) 0x7f14; +#define SFRB (*((volatile unsigned short*)0x7f10)) +unsigned short *pB = (unsigned short *) 0x7f10; + +char * +Do (void) +{ + if (SFRA & 0x8000) + { + if (SFRB & 0x8000) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0xedcb; + *pB = 0x1234; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/16_if1_sfrw_bit_f.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/17_if0_sfrw_bit_f.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/17_if0_sfrw_bit_f.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/17_if0_sfrw_bit_f.c (revision 329) @@ -0,0 +1,29 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.w r.,32532" } } */ + +#define SFRA (*((volatile unsigned short*)0x7f14)) +unsigned short *pA = (unsigned short *) 0x7f14; +#define SFRB (*((volatile unsigned short*)0x7f10)) +unsigned short *pB = (unsigned short *) 0x7f10; + +char * +Do (void) +{ + if (!(SFRA & 0x8000)) + { + if (!(SFRB & 0x8000)) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0x1234; + *pB = 0xedcb; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/17_if0_sfrw_bit_f.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/16_if1_sfrw_bit_3.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/16_if1_sfrw_bit_3.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/16_if1_sfrw_bit_3.c (revision 329) @@ -0,0 +1,29 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.w r.,32532" } } */ + +#define SFRA (*((volatile unsigned short*)0x7f14)) +unsigned short *pA = (unsigned short *) 0x7f14; +#define SFRB (*((volatile unsigned short*)0x7f10)) +unsigned short *pB = (unsigned short *) 0x7f10; + +char * +Do (void) +{ + if (SFRA & 0x0008) + { + if (SFRB & 0x0008) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0xedcb; + *pB = 0x1234; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/16_if1_sfrw_bit_3.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/15_clr_sfrw_bit_3.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/15_clr_sfrw_bit_3.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/15_clr_sfrw_bit_3.c (revision 329) @@ -0,0 +1,19 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.w r.,32532" } } */ + +#define SFR (*((volatile unsigned short*)0x7f14)) +unsigned short *p = (unsigned short *) 0x7f14; + +void +Do (void) +{ + SFR &= ~0x0008; +} + +int +main (void) +{ + *p = 0xedcb; + Do (); + return (*p == 0xedc3) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/15_clr_sfrw_bit_3.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/17_if0_sfrw_bit_3.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/17_if0_sfrw_bit_3.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/17_if0_sfrw_bit_3.c (revision 329) @@ -0,0 +1,29 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.w r.,32532" } } */ + +#define SFRA (*((volatile unsigned short*)0x7f14)) +unsigned short *pA = (unsigned short *) 0x7f14; +#define SFRB (*((volatile unsigned short*)0x7f10)) +unsigned short *pB = (unsigned short *) 0x7f10; + +char * +Do (void) +{ + if (!(SFRA & 0x0008)) + { + if (!(SFRB & 0x0008)) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0x1234; + *pB = 0xedcb; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/17_if0_sfrw_bit_3.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/15_clr_sfrw_bit_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/15_clr_sfrw_bit_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/15_clr_sfrw_bit_7.c (revision 329) @@ -0,0 +1,19 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.w r.,32532" } } */ + +#define SFR (*((volatile unsigned short*)0x7f14)) +unsigned short *p = (unsigned short *) 0x7f14; + +void +Do (void) +{ + SFR &= ~0x0080; +} + +int +main (void) +{ + *p = 0xedcb; + Do (); + return (*p == 0xed4b) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/15_clr_sfrw_bit_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/17_if0_sfrw_bit_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/17_if0_sfrw_bit_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/17_if0_sfrw_bit_7.c (revision 329) @@ -0,0 +1,29 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.w r.,32532" } } */ + +#define SFRA (*((volatile unsigned short*)0x7f14)) +unsigned short *pA = (unsigned short *) 0x7f14; +#define SFRB (*((volatile unsigned short*)0x7f10)) +unsigned short *pB = (unsigned short *) 0x7f10; + +char * +Do (void) +{ + if (!(SFRA & 0x0080)) + { + if (!(SFRB & 0x0080)) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0x1234; + *pB = 0xedcb; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/17_if0_sfrw_bit_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/16_if1_sfrw_bit_7.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/16_if1_sfrw_bit_7.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/16_if1_sfrw_bit_7.c (revision 329) @@ -0,0 +1,29 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "mov.w r.,32532" } } */ + +#define SFRA (*((volatile unsigned short*)0x7f14)) +unsigned short *pA = (unsigned short *) 0x7f14; +#define SFRB (*((volatile unsigned short*)0x7f10)) +unsigned short *pB = (unsigned short *) 0x7f10; + +char * +Do (void) +{ + if (SFRA & 0x0080) + { + if (SFRB & 0x0080) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0xedcb; + *pB = 0x1234; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/16_if1_sfrw_bit_7.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/24_set_sfrw_bitfield_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/24_set_sfrw_bitfield_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/24_set_sfrw_bitfield_0.c (revision 329) @@ -0,0 +1,39 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "set1 32532,#0" } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +#define SFR (*((volatile BitField*)0x7f14)) +unsigned short *p = (unsigned short *) 0x7f14; + +void +Do (void) +{ + SFR.b0 = 1; +} + +int +main (void) +{ + *p = 0x1234; + Do (); + return (*p == 0x1235) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/24_set_sfrw_bitfield_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/10_set_sfrb_bit_0.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/10_set_sfrb_bit_0.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/10_set_sfrb_bit_0.c (revision 329) @@ -0,0 +1,19 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "set1 32532,#0" } } */ + +#define SFR (*((volatile unsigned char*)0x7f14)) +unsigned char *p = (unsigned char *) 0x7f14; + +void +Do (void) +{ + SFR |= 0x01; +} + +int +main (void) +{ + *p = 0x34; + Do (); + return (*p == 0x35) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/10_set_sfrb_bit_0.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/26_if1_sfrw_bitfield_b.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/26_if1_sfrw_bitfield_b.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/26_if1_sfrw_bitfield_b.c (revision 329) @@ -0,0 +1,49 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "bn 32533,#3" } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +#define SFRA (*((volatile BitField*)0x7f14)) +unsigned short *pA = (unsigned short *) 0x7f14; +#define SFRB (*((volatile BitField*)0x7f10)) +unsigned short *pB = (unsigned short *) 0x7f10; + +char * +Do (void) +{ + if (SFRA.b11) + { + if (SFRB.b11) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0xedcb; + *pB = 0x1234; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/26_if1_sfrw_bitfield_b.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/24_set_sfrw_bitfield_8.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/24_set_sfrw_bitfield_8.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/24_set_sfrw_bitfield_8.c (revision 329) @@ -0,0 +1,39 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "set1 32533,#0" } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +#define SFR (*((volatile BitField*)0x7f14)) +unsigned short *p = (unsigned short *) 0x7f14; + +void +Do (void) +{ + SFR.b8 = 1; +} + +int +main (void) +{ + *p = 0x1234; + Do (); + return (*p == 0x1334) ? 0 : 1; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/24_set_sfrw_bitfield_8.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/27_if0_sfrw_bitfield_b.c =================================================================== --- trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/27_if0_sfrw_bitfield_b.c (nonexistent) +++ trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/27_if0_sfrw_bitfield_b.c (revision 329) @@ -0,0 +1,49 @@ +/* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */ +/* { dg-final { scan-assembler "bp 32533,#3" } } */ + +typedef struct +{ + unsigned short b0:1; + unsigned short b1:1; + unsigned short b2:1; + unsigned short b3:1; + unsigned short b4:1; + unsigned short b5:1; + unsigned short b6:1; + unsigned short b7:1; + unsigned short b8:1; + unsigned short b9:1; + unsigned short b10:1; + unsigned short b11:1; + unsigned short b12:1; + unsigned short b13:1; + unsigned short b14:1; + unsigned short b15:1; +} BitField; + +#define SFRA (*((volatile BitField*)0x7f14)) +unsigned short *pA = (unsigned short *) 0x7f14; +#define SFRB (*((volatile BitField*)0x7f10)) +unsigned short *pB = (unsigned short *) 0x7f10; + +char * +Do (void) +{ + if (!SFRA.b11) + { + if (!SFRB.b11) + return "Fail"; + else + return "Success"; + } + else + return "Fail"; +} + +int +main (void) +{ + *pA = 0x1234; + *pB = 0xedcb; + return Do ()[0] == 'F'; +}
trunk/gnu-src/gcc-4.5.1/gcc/testsuite/gcc.target/xstormy16/sfr/27_if0_sfrw_bitfield_b.c Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.