URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 321 |
Rev 338 |
/* { dg-do compile } */
|
/* { dg-do compile } */
|
|
|
/* Force big-endian because for little-endian, combine generates this:
|
/* Force big-endian because for little-endian, combine generates this:
|
|
|
(if_then_else (ne (zero_extract:DI (subreg:DI (truncate:SI (reg:DI 196)) 0)
|
(if_then_else (ne (zero_extract:DI (subreg:DI (truncate:SI (reg:DI 196)) 0)
|
(const_int 1)
|
(const_int 1)
|
(const_int 0))
|
(const_int 0))
|
(const_int 0))
|
(const_int 0))
|
(label_ref 20)
|
(label_ref 20)
|
(pc)))
|
(pc)))
|
|
|
which does not get recognized as a valid bbit pattern. The
|
which does not get recognized as a valid bbit pattern. The
|
middle-end should be able to simplify this further. */
|
middle-end should be able to simplify this further. */
|
/* { dg-options "-O2 -march=octeon -meb" } */
|
/* { dg-options "-O2 -march=octeon -meb" } */
|
|
|
/* { dg-final { scan-assembler-times "\tbbit\[01\]\t|\tbgez\t" 2 } } */
|
/* { dg-final { scan-assembler-times "\tbbit\[01\]\t|\tbgez\t" 2 } } */
|
/* { dg-final { scan-assembler-not "ext\t" } } */
|
/* { dg-final { scan-assembler-not "ext\t" } } */
|
|
|
void abort (void);
|
void abort (void);
|
void exit (int);
|
void exit (int);
|
|
|
typedef unsigned long long ulong64;
|
typedef unsigned long long ulong64;
|
|
|
typedef struct bitfield_s {
|
typedef struct bitfield_s {
|
ulong64 a:1;
|
ulong64 a:1;
|
ulong64 b:29;
|
ulong64 b:29;
|
ulong64 c:1;
|
ulong64 c:1;
|
ulong64 d:15;
|
ulong64 d:15;
|
ulong64 f:18;
|
ulong64 f:18;
|
} bitfield_t;
|
} bitfield_t;
|
|
|
bitfield_t bar;
|
bitfield_t bar;
|
|
|
NOMIPS16 void
|
NOMIPS16 void
|
f ()
|
f ()
|
{
|
{
|
foo(&bar);
|
foo(&bar);
|
if (bar.a != 0x1)
|
if (bar.a != 0x1)
|
abort ();
|
abort ();
|
else if (!bar.c)
|
else if (!bar.c)
|
abort ();
|
abort ();
|
else
|
else
|
exit (0);
|
exit (0);
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.