(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.c-torture/
compile/
asmgoto-3.c
       1  /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
       2  
       3  int
       4  foo (void)
       5  {
       6    int x;
       7    
       8    asm goto ("": "=a" (x) : : : lab);
       9   lab:
      10    return x;
      11  }
      12  
      13  int
      14  foo2 (void)
      15  {
      16    int x, y;
      17    
      18    asm goto ("": "=a" (x), "=d" (y) : : : lab, lab2);
      19   lab:
      20    return x;
      21   lab2:
      22    return y;
      23  }
      24  
      25  int
      26  foo3 (void)
      27  {
      28    int x, y, z;
      29    
      30    asm goto ("": "=a" (x), "=d" (y), "=c" (z) : : : lab, lab2, lab3);
      31   lab:
      32    return x;
      33   lab2:
      34    return y;
      35   lab3:
      36    return z;
      37  }
      38  
      39  int
      40  foo4 (void)
      41  {
      42    int x, y, z, v;
      43    
      44    asm goto ("": "=a" (x), "=d" (y), "=c" (z) , "=b" (v) : : : lab, lab2, lab3, lab4);
      45   lab:
      46    return x;
      47   lab2:
      48    return y;
      49   lab3:
      50    return z;
      51   lab4:
      52    return v;
      53  }
      54  
      55  int
      56  foo5 (void)
      57  {
      58    int x, y, z, v, w;
      59    
      60    asm goto ("": "=a" (x), "=d" (y), "=c" (z), "=b" (v), "=S" (w) : : : lab, lab2, lab3, lab4, lab5);
      61   lab:
      62    return x;
      63   lab2:
      64    return y;
      65   lab3:
      66    return z;
      67   lab4:
      68    return v;
      69   lab5:
      70    return w;
      71  }
      72  
      73  int
      74  foo6 (void)
      75  {
      76    int x = 0, y = 1, z = 2, v = 3, w = 4;
      77    
      78    asm goto ("": "+a" (x), "+d" (y), "+c" (z), "+b" (v), "+S" (w) : : : lab, lab2, lab3, lab4, lab5);
      79   lab:
      80    return x;
      81   lab2:
      82    return y;
      83   lab3:
      84    return z;
      85   lab4:
      86    return v;
      87   lab5:
      88    return w;
      89  }