| /* 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" } } */ |