Message ID | AANLkTim-=XhjVVkTv0h56sV0fxHHOAhtN6ZDZbAybcOo@mail.gmail.com |
---|---|
State | New |
Headers | show |
asharif tools <asharif.tools@gmail.com> writes: > Index: gcc/testsuite/gcc.target/i386/max-stack-align.c > =================================================================== > --- gcc/testsuite/gcc.target/i386/max-stack-align.c (revision 0) > +++ gcc/testsuite/gcc.target/i386/max-stack-align.c (revision 0) > @@ -0,0 +1,13 @@ > +/* { dg-do compile } */ > +/* { dg-options "-fomit-frame-pointer" } */ > +/* { dg-require-effective-target lp64 } */ > + > +void foo() > +{ > + int a=0, b=0, c=0, e=0, f=0, g=0, h=0, i=0; > +label: > + __asm__ volatile( " jb label " > + : : "c" (a), "d" (a), "S" (a), "D" (a), "r" (a), "a" (a) ,"r" (a), "r" (a) > + : "%""rbp" ); > +} I don't understand why you want to have a jump in the asm. But, if you do need one, you need to also define the label in the asm, not in the C code. The C label "label" is not going to be named "label" in the assembler code. Ian
Index: gcc/testsuite/gcc.target/i386/max-stack-align.c =================================================================== --- gcc/testsuite/gcc.target/i386/max-stack-align.c (revision 0) +++ gcc/testsuite/gcc.target/i386/max-stack-align.c (revision 0) @@ -0,0 +1,13 @@ +/* { dg-do compile } */ +/* { dg-options "-fomit-frame-pointer" } */ +/* { dg-require-effective-target lp64 } */ + +void foo() +{ + int a=0, b=0, c=0, e=0, f=0, g=0, h=0, i=0; +label: + __asm__ volatile( " jb label " + : : "c" (a), "d" (a), "S" (a), "D" (a), "r" (a), "a" (a) ,"r" (a), "r" (a) + : "%""rbp" ); +} +