------- 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

Reply via email to