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

Subversion Repositories openrisc

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc1/] [gcc/] [testsuite/] [g++.dg/] [other/] [pr39496.C] - Blame information for rev 338

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 301 jeremybenn
// PR target/39496
2
// { dg-do compile { target { { i?86-*-linux* x86_64-*-linux* } && ilp32 } } }
3
// { dg-options "-O0 -fverbose-asm -fno-omit-frame-pointer -mtune=i686 -msse2 -mfpmath=sse" }
4
// { dg-require-effective-target sse2 }
5
// Verify that {foo,bar}{,2}param are all passed on the stack, using
6
// normal calling conventions, when not optimizing.
7
// { dg-final { scan-assembler "\[^0-9-\]8\\(%ebp\\),\[^\n\]*fooparam," } }
8
// { dg-final { scan-assembler "\[^0-9-\]8\\(%ebp\\),\[^\n\]*barparam," } }
9
// { dg-final { scan-assembler "\[^0-9-\]8\\(%ebp\\),\[^\n\]*foo2param," } }
10
// { dg-final { scan-assembler "\[^0-9-\]8\\(%ebp\\),\[^\n\]*bar2param," } }
11
 
12
static inline int foo (int fooparam)
13
{
14
  return fooparam;
15
}
16
 
17
static int bar (int barparam)
18
{
19
  return foo (barparam);
20
}
21
 
22
static inline double foo2 (double foo2param)
23
{
24
  return foo2param;
25
}
26
 
27
static double bar2 (double bar2param)
28
{
29
  return foo2 (bar2param);
30
}
31
 
32
int
33
main ()
34
{
35
  return bar (0) + bar2 (0.0);
36
}

powered by: WebSVN 2.1.0

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