http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53366

--- Comment #4 from Uros Bizjak <ubizjak at gmail dot com> 2012-05-16 17:15:58 
UTC ---
foo (struct U * restrict p1, const complex double * restrict x)
{
  vector(4) double vect_var_.41;
  vector(4) double vect_var_.40;
  vector(4) double vect_var_.39;
  vector(4) double vect_var_.38;
  vector(4) double vect_var_.37;
  vector(4) double vect_var_.32;
  vector(4) double vect_var_.31;
  vector(4) double vect_var_.30;
  vector(4) double * restrict vect_p.26;
  vector(4) double vect_var_.25;

<bb 2>:
  vect_var_.37_84 = MEM[(const complex double *)x_5(D)];
  vect_var_.38_86 = MEM[(const complex double *)x_5(D) + 32B];
  vect_var_.39_88 = MEM[(const complex double *)x_5(D) + 64B];
  vect_var_.25_72 = MEM[(const complex double *)x_5(D) + 96B];
  vect_var_.30_76 = MEM[(struct U *)p1_14(D)];
  vect_p.26_77 = p1_14(D) + 32;
  vect_var_.31_78 = MEM[(struct U *)p1_14(D) + 32B];
  vect_p.26_79 = &MEM[(void *)p1_14(D) + 64B];
  vect_var_.32_80 = MEM[(struct U *)p1_14(D) + 64B];
  vect_var_.40_89 = vect_var_.30_76 + vect_var_.37_84;
  vect_var_.40_90 = vect_var_.31_78 + vect_var_.38_86;
  vect_var_.40_91 = vect_var_.32_80 + vect_var_.39_88;
  vect_var_.41_92 = vect_var_.38_86 + vect_var_.40_89;
  vect_var_.41_93 = vect_var_.39_88 + vect_var_.40_90;
  vect_var_.41_94 = vect_var_.25_72 + vect_var_.40_91;
  MEM[(struct U *)p1_14(D)] = vect_var_.41_92;
  MEM[(struct U *)p1_14(D) + 32B] = vect_var_.41_93;
  MEM[(struct U *)p1_14(D) + 64B] = vect_var_.41_94;
  return;

}

It looks to me that x is handled in a totally wrong way.

Reply via email to