1  /* { dg-do run } */
       2  /* { dg-options "-fgimple -O2 -ftree-slp-vectorize" } */
       3  /* { dg-require-effective-target ptr32plus } */
       4  
       5  struct  A
       6  {
       7    void * a;
       8    void * b;
       9  };
      10  
      11  struct __attribute__((aligned(16))) B
      12  {
      13    void * pad;
      14    void * misaligned;
      15    void * pad2;
      16  
      17    struct A a;
      18  };
      19  
      20  __attribute__((noclone, noinline))
      21  void __GIMPLE (startwith("slp"))
      22  NullB (void * misalignedPtr)
      23  {
      24    struct B * b;
      25  
      26    bb_2:
      27    b_2 = misalignedPtr_1(D) + _Literal (__SIZETYPE__) -__SIZEOF_POINTER__;
      28    __MEM <struct B> (b_2).a.a = _Literal (void *) 0;
      29    __MEM <struct B> (b_2).a.b = _Literal (void *) 0;
      30    return;
      31  
      32  }
      33  
      34  int main()
      35  {
      36    struct B b;
      37    NullB (&b.misaligned);
      38    return 0;
      39  }