(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
pr31866.c
       1  /* PR tree-optimization/31866 */
       2  /* { dg-do compile { target alpha*-*-* cris-*-* i?86-*-* mmix-*-* powerpc*-*-* rs6000-*-* x86_64-*-* } } */
       3  /* { dg-options "-O2" } */
       4  
       5  #if defined (__alpha__)
       6  # define REG "$1"
       7  #elif defined (__CRIS__)
       8  # define REG "r10"
       9  #elif defined (__i386__)
      10  # define REG "%eax"
      11  #elif defined (__MMIX__)
      12  # define REG "$8"
      13  #elif defined (__powerpc__) || defined (__PPC__) || defined (__ppc__) \
      14  	|| defined (__POWERPC__) || defined (PPC) || defined (_IBMR2)
      15  # define REG "6"
      16  #elif defined (__x86_64__)
      17  # define REG "rax"
      18  #endif
      19  
      20  long int
      21  foo (void)
      22  {
      23    unsigned long int s;
      24    long int a = (long int) 0;
      25    register long int r asm (REG) = a;
      26    asm ("" : "=r" (s) : "0" (r));
      27    return s;
      28  }