------- Comment #13 from danglin at gcc dot gnu dot org 2008-06-22 20:44
-------
retmeK (struct K x)
{
<unnamed-unsigned:10> SR.14;
<unnamed-unsigned:15> SR.13;
<unnamed-unsigned:7> SR.12;
<unnamed-unsigned:10> SR.11;
<unnamed-unsigned:15> SR.10;
<unnamed-unsigned:15> x$i;
<unnamed-unsigned:10> x$j;
<unnamed-unsigned:7> x$B0F7;
struct K D.1258;
<bb 2>:
x$B0F7_1 = 0;
x$j_2 = 0;
x$i_3 = 0;
SR.13_4 = x.i;
x$i_5 = SR.13_4;
SR.14_6 = x.j;
x$j_7 = SR.14_6;
x$B0F7_8 = BIT_FIELD_REF <x, 7, 0>;
D.1258.i ={v} x$i_5;
D.1258.j ={v} x$j_7;
SR.12_9 = x$B0F7_8 >> 1;
BIT_FIELD_REF <D.1258, 7, 0> ={v} SR.12_9;
return D.1258;
}
Don't understand...
At -O0, we just have
retmeK (struct K x)
{
struct K D.1260;
<bb 2>:
D.1260 = x;
return D.1260;
}
and it works.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35518