aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/old-style-asm-1.c
blob: c33707e609c07a771493aeea82f560b365366235 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/* PR inline-asm/8832 */
/* { dg-do compile } */
/* { dg-options "-O2" } */

/* Verify that GCC doesn't optimize
   old style asm instructions.  */

void foo(int v)
{
  if (v)
    asm ("dummy1");

  asm ("dummy2");

  if (v)
    asm ("dummy3");
}

/* The purpose of the test below is to check that there are two branches
   in the generated code, supposedly corresponding to the if-statements.
   Warning: this is fragile and assumes that one of the generated labels
   for the branches matches the string "L2", or as with
   mmix-knuth-mmixware, "L:2".  That assumption is generally invalid,
   because for example it depends on the target macro
   ASM_GENERATE_INTERNAL_LABEL to generate a name matching this regexp (as
   with the default definition).  */
/* { dg-final { scan-assembler "L(:|\\\$0*)?2" } } */