1  /* { dg-do compile } */
       2  /* { dg-require-effective-target arm_unaligned } */
       3  /* { dg-options "-O2" } */
       4  
       5  typedef unsigned int u32;
       6  u32
       7  read32 (const void* ptr)
       8  {
       9    u32 v;
      10    __builtin_memcpy (&v, ptr, sizeof(v));
      11    return v;
      12  }
      13  
      14  /* { dg-final { scan-assembler "@ unaligned" } } */