------- Comment #4 from pinskia at gcc dot gnu dot org  2010-09-08 17:43 -------
Yes this is invalid with respect of alignment requirements.

It becomes obvious from the optimized at -O0 on the trunk.

  v4df llvm_cbe_r5585;
  v4df llvm_cbe_r5584;
  struct l_DV1 llvm_cbe__24__StackDv_P53;
  unsigned int * D.3215;
  struct l_DV1 * llvm_cbe__24__StackDv_P53.0;

<bb 2>:
  llvm_cbe__24__StackDv_P53.0_1 = &llvm_cbe__24__StackDv_P53;
  MEM[(v4df *)llvm_cbe__24__StackDv_P53.0_1] = llvm_cbe_r5584_2(D); // requires
v4df alignment
  D.3215_3 = &llvm_cbe__24__StackDv_P53.field1.field5;
  MEM[(struct  *)D.3215_3].data = llvm_cbe_r5585_4(D); // requires v4df


pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |INVALID


Reply via email to