1  /* { dg-require-effective-target untyped_assembly } */
       2  /* { dg-add-options stack_size } */
       3  
       4  #ifndef STACK_SIZE
       5  #define	VLEN	2055
       6  #else
       7  #define VLEN ((STACK_SIZE/16) - 1)
       8  #endif
       9  main ()
      10  {
      11    long dx[VLEN+1];
      12    long dy[VLEN+1];
      13    long s1[VLEN];
      14    int cyx, cyy;
      15    int i;
      16    long size;
      17  
      18    for (;;)
      19      {
      20        size = VLEN;
      21        mpn_random2 (s1, size);
      22  
      23        for (i = 0; i < 1; i++)
      24  	;
      25  
      26        dy[size] = 0x12345678;
      27  
      28        for (i = 0; i < 1; i++)
      29  	cyy = mpn_mul_1 (dy, s1, size);
      30  
      31        if (cyx != cyy || mpn_cmp (dx, dy, size + 1) != 0 || dx[size] != 0x12345678)
      32  	{
      33  	  foo ("", 8, cyy); mpn_print (dy, size);
      34  	}
      35        exxit();
      36      }
      37  }
      38  
      39  foo (){}
      40  mpn_mul_1(){}
      41  mpn_print (){}
      42  mpn_random2(){}
      43  mpn_cmp(){}
      44  exxit(){exit(0);}