URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 305 |
Rev 338 |
// { dg-do assemble }
|
// { dg-do assemble }
|
// { dg-options "-O" }
|
// { dg-options "-O" }
|
// GROUPS passed mentor
|
// GROUPS passed mentor
|
struct Word {
|
struct Word {
|
struct S1 *p1;
|
struct S1 *p1;
|
};
|
};
|
struct S1 {
|
struct S1 {
|
Word o;
|
Word o;
|
void shift_left(int delta, int ct);
|
void shift_left(int delta, int ct);
|
};
|
};
|
inline void S1::shift_left(int delta, int ct)
|
inline void S1::shift_left(int delta, int ct)
|
{
|
{
|
int cnt = ct;
|
int cnt = ct;
|
for (S1 *to_p = this, *from_p = to_p + delta; cnt--;) *to_p++ = *from_p++;
|
for (S1 *to_p = this, *from_p = to_p + delta; cnt--;) *to_p++ = *from_p++;
|
}
|
}
|
|
|
void dispose_t(S1 *tp, int from_index, int ct, const int d_last_t)
|
void dispose_t(S1 *tp, int from_index, int ct, const int d_last_t)
|
{
|
{
|
int new_ct = d_last_t + 1 - ct;
|
int new_ct = d_last_t + 1 - ct;
|
tp[0].o.p1[from_index].shift_left(ct, new_ct - from_index);
|
tp[0].o.p1[from_index].shift_left(ct, new_ct - from_index);
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.