Revise -mdisable-fpregs option and add new -msoft-mult option
[official-gcc.git] / gcc / testsuite / gcc.dg / pr70169.c
blob56e72f34a0f8ca3971e241df457b1c2ae1fe0279
1 /* PR tree-optimization/70169 */
2 /* { dg-do compile } */
3 /* { dg-options "-O2 -fno-strict-aliasing -fno-tree-dce" } */
4 /* { dg-skip-if "Program and data reside in different address spaces" { "avr-*-*" } } */
5 /* { dg-require-effective-target label_values } */
7 int printf (const char *, ...);
9 void
10 foo ()
12 unsigned char *p = (unsigned char *) &printf;
13 for (;;)
14 (*p)++;
17 void
18 bar (int x)
20 unsigned char *p = (unsigned char *) &printf;
21 int i;
22 for (i = 0; i < x; i++)
23 (*p)++;
26 void
27 baz (int x, int y)
29 unsigned char *p = (unsigned char *) &&lab;
30 int i;
31 if (y)
33 for (i = 0; i < x; i++)
34 (*p)++;
36 else
38 lab:
39 asm volatile ("");
40 foo ();