This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/11576] [3.3 regression] internal error at emit-rtl.c:2017
- From: "kazu at cs dot umass dot edu" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 6 Sep 2003 14:42:03 -0000
- Subject: [Bug target/11576] [3.3 regression] internal error at emit-rtl.c:2017
- References: <20030718133949.11576.ysato@users.sourceforge.jp>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11576
------- Additional Comments From kazu at cs dot umass dot edu 2003-09-06 14:42 -------
Slightly more reduced:
struct page {
struct page *next, *prev;
int index;
int counter;
};
int bits, table;
int
foo (struct page *new, struct page *head, int offset)
{
int value = (offset + bits) & (1 << bits);
int hash = table + value;
new->index++;
{
int *v = &new->counter;
int flags;
asm volatile ("" : "=r" (flags) : : "er0");
(*v)++;
asm volatile ("" : : "r" (flags) : "er0");
}
new->index = offset;
{
struct page *prev = head;
struct page *next = head->next;
next->prev = new;
new->next = next;
new->prev = prev;
prev->next = new;
}
return (int) new + hash;
}