/* This testcase caused ICE on powerpc at -O3, because regrename did | |
not handle match_dup of match_operator if the RTLs were not shared. */ | |
struct A | |
{ | |
unsigned char *a0, *a1; | |
int a2; | |
}; | |
void bar (struct A *); | |
unsigned int | |
foo (int x) | |
{ | |
struct A a; | |
unsigned int b; | |
if (x < -128 || x > 255 || x == -1) | |
return 26; | |
a.a0 = (unsigned char *) &b; | |
a.a1 = a.a0 + sizeof (unsigned int); | |
a.a2 = 0; | |
bar (&a); | |
return b; | |
} |