summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/m68k/pr25112.c
blob: 0633cc105649f101bb226fb51edfe44e9964504c (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
/* { dg-do compile } */
/* { dg-options "-O2" } */

/* { dg-final { scan-assembler-times "addq" 16 } } */
/* { dg-final { scan-assembler-times "subq" 16 } } */
/* { dg-final { scan-assembler-times "moveq" 4 } } */
extern int bar (void);

#define FOO(x) \
  void foo##x (void) { int a = bar (); if (a == x) bar (); } \
  void bar##x (void) { int a = bar (); if (a == -x) bar (); } \
  void foon##x (void) { int a = bar (); if (a != x) bar (); } \
  void barn##x (void) { int a = bar (); if (a != -x) bar (); } \
  

FOO (1)
FOO (2)
FOO (3)
FOO (4)
FOO (5)
FOO (6)
FOO (7)
FOO (8)
FOO (9)