URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 297 |
Rev 338 |
extern void *memset (void *, int, unsigned long);
|
extern void *memset (void *, int, unsigned long);
|
extern void abort (void);
|
extern void abort (void);
|
|
|
struct reg_stat {
|
struct reg_stat {
|
void *last_death;
|
void *last_death;
|
void *last_set;
|
void *last_set;
|
void *last_set_value;
|
void *last_set_value;
|
int last_set_label;
|
int last_set_label;
|
char last_set_sign_bit_copies;
|
char last_set_sign_bit_copies;
|
int last_set_mode : 8;
|
int last_set_mode : 8;
|
char last_set_invalid;
|
char last_set_invalid;
|
char sign_bit_copies;
|
char sign_bit_copies;
|
long nonzero_bits;
|
long nonzero_bits;
|
};
|
};
|
|
|
static struct reg_stat *reg_stat;
|
static struct reg_stat *reg_stat;
|
|
|
void __attribute__((noinline))
|
void __attribute__((noinline))
|
init_reg_last (void)
|
init_reg_last (void)
|
{
|
{
|
memset (reg_stat, 0, __builtin_offsetof (struct reg_stat, sign_bit_copies));
|
memset (reg_stat, 0, __builtin_offsetof (struct reg_stat, sign_bit_copies));
|
}
|
}
|
|
|
int main (void)
|
int main (void)
|
{
|
{
|
struct reg_stat r;
|
struct reg_stat r;
|
|
|
reg_stat = &r;
|
reg_stat = &r;
|
r.nonzero_bits = -1;
|
r.nonzero_bits = -1;
|
init_reg_last ();
|
init_reg_last ();
|
if (r.nonzero_bits != -1)
|
if (r.nonzero_bits != -1)
|
abort ();
|
abort ();
|
return 0;
|
return 0;
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.