| /* { dg-do compile { target i?86-*-* x86_64-*-* } } */ |
| |
| int |
| foo (void) |
| { |
| int x; |
| |
| asm goto ("": "=a" (x) : : : lab); |
| lab: |
| return x; |
| } |
| |
| int |
| foo2 (void) |
| { |
| int x, y; |
| |
| asm goto ("": "=a" (x), "=d" (y) : : : lab, lab2); |
| lab: |
| return x; |
| lab2: |
| return y; |
| } |
| |
| int |
| foo3 (void) |
| { |
| int x, y, z; |
| |
| asm goto ("": "=a" (x), "=d" (y), "=c" (z) : : : lab, lab2, lab3); |
| lab: |
| return x; |
| lab2: |
| return y; |
| lab3: |
| return z; |
| } |
| |
| int |
| foo4 (void) |
| { |
| int x, y, z, v; |
| |
| asm goto ("": "=a" (x), "=d" (y), "=c" (z) , "=b" (v) : : : lab, lab2, lab3, lab4); |
| lab: |
| return x; |
| lab2: |
| return y; |
| lab3: |
| return z; |
| lab4: |
| return v; |
| } |
| |
| int |
| foo5 (void) |
| { |
| int x, y, z, v, w; |
| |
| asm goto ("": "=a" (x), "=d" (y), "=c" (z), "=b" (v), "=S" (w) : : : lab, lab2, lab3, lab4, lab5); |
| lab: |
| return x; |
| lab2: |
| return y; |
| lab3: |
| return z; |
| lab4: |
| return v; |
| lab5: |
| return w; |
| } |
| |
| int |
| foo6 (void) |
| { |
| int x = 0, y = 1, z = 2, v = 3, w = 4; |
| |
| asm goto ("": "+a" (x), "+d" (y), "+c" (z), "+b" (v), "+S" (w) : : : lab, lab2, lab3, lab4, lab5); |
| lab: |
| return x; |
| lab2: |
| return y; |
| lab3: |
| return z; |
| lab4: |
| return v; |
| lab5: |
| return w; |
| } |