1  /* { dg-do compile } */
       2  /* { dg-options "-O2" } */
       3  /* { dg-require-effective-target ia32 } */
       4  
       5  typedef __SIZE_TYPE__ size_t;
       6  extern void *malloc (size_t);
       7  
       8  register unsigned int MR_mr0 asm ("esi");
       9  register unsigned int MR_mr1 asm ("edi");
      10  
      11  void ml_backend__ml_closure_gen_module11 (void)
      12  {
      13    unsigned int MR_tempr1, MR_tempr2, MR_tempr3;
      14  
      15    MR_tempr1 = (unsigned int)((char *) malloc (sizeof (unsigned int)) + 4);
      16    MR_tempr3 = ((unsigned int *) MR_mr0)[0];
      17  
      18    ((unsigned int *) (MR_tempr1 - 4))[0] = MR_tempr3;
      19  
      20    MR_tempr2 = (unsigned int)((char *) malloc (2 * sizeof (unsigned int)));
      21  
      22    ((unsigned int *) MR_tempr2)[1] = MR_tempr1;
      23  }