/* PR 21171.  Ivopts should not rewrite references to volatile memory.  */
/* { dg-do compile } */
/* { dg-options "-O1 -fdump-tree-optimized" } */
/* LLVM LOCAL test not applicable */
/* { dg-require-fdump "" } */

typedef	unsigned int u_int32_t;
typedef	unsigned char u_int8_t;

#define	AIC_VECTORS	32

typedef volatile struct AT91RM9200_regs {
  u_int32_t	SVR[AIC_VECTORS];
} AT91RM9200_regs_t;

#define CPUReg  ((AT91RM9200_regs_t*)0xFFF00000)

extern const u_int32_t __IntTable[AIC_VECTORS];

int main()
{
  int c;

  for (c = 0; c < AIC_VECTORS; c++)
    CPUReg->SVR[c] = __IntTable[c];

  return 0;
}

/* { dg-final { scan-tree-dump-times "SVR" 1 "optimized"} } */
/* { dg-final { cleanup-tree-dump "optimized" } } */
