OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gcc.target/] [i386/] [pr49095.c] - Blame information for rev 691

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 691 jeremybenn
/* PR rtl-optimization/49095 */
2
/* { dg-do compile } */
3
/* { dg-options "-Os" } */
4
/* { dg-options "-Os -mregparm=2" { target ia32 } } */
5
 
6
void foo (void *);
7
 
8
int *
9
f1 (int *x)
10
{
11
  if (!--*x)
12
    foo (x);
13
  return x;
14
}
15
 
16
int
17
g1 (int x)
18
{
19
  if (!--x)
20
    foo ((void *) 0);
21
  return x;
22
}
23
 
24
#define F(T, OP, OPN) \
25
T *                     \
26
f##T##OPN (T *x, T y)   \
27
{                       \
28
  *x OP y;              \
29
  if (!*x)              \
30
    foo (x);            \
31
  return x;             \
32
}                       \
33
                        \
34
T                       \
35
g##T##OPN (T x, T y)    \
36
{                       \
37
  x OP y;               \
38
  if (!x)               \
39
    foo ((void *) 0);    \
40
  return x;             \
41
}                       \
42
                        \
43
T *                     \
44
h##T##OPN (T *x)        \
45
{                       \
46
  *x OP 24;             \
47
  if (!*x)              \
48
    foo (x);            \
49
  return x;             \
50
}                       \
51
                        \
52
T                       \
53
i##T##OPN (T x, T y)    \
54
{                       \
55
  x OP 24;              \
56
  if (!x)               \
57
    foo ((void *) 0);    \
58
  return x;             \
59
}
60
 
61
#define G(T) \
62
F (T, +=, plus)         \
63
F (T, -=, minus)        \
64
F (T, &=, and)          \
65
F (T, |=, or)           \
66
F (T, ^=, xor)
67
 
68
G (char)
69
G (short)
70
G (int)
71
G (long)
72
 
73
/* { dg-final { scan-assembler-not "test\[lq\]" } } */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.