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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gdb-6.8/] [gdb/] [testsuite/] [gdb.arch/] [powerpc-prologue.c] - Blame information for rev 841

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 24 jeremybenn
/* Unwinder test program.
2
 
3
   Copyright 2006, 2007, 2008 Free Software Foundation, Inc.
4
 
5
   This file is part of GDB.
6
 
7
   This program is free software; you can redistribute it and/or modify
8
   it under the terms of the GNU General Public License as published by
9
   the Free Software Foundation; either version 3 of the License, or
10
   (at your option) any later version.
11
 
12
   This program is distributed in the hope that it will be useful,
13
   but WITHOUT ANY WARRANTY; without even the implied warranty of
14
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
   GNU General Public License for more details.
16
 
17
   You should have received a copy of the GNU General Public License
18
   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
19
 
20
#ifdef SYMBOL_PREFIX
21
#define SYMBOL(str)     SYMBOL_PREFIX #str
22
#else
23
#define SYMBOL(str)     #str
24
#endif
25
 
26
void gdb2029 (void);
27
 
28
int
29
main (void)
30
{
31
  gdb2029 ();
32
  optimized_1 ();
33
  return 0;
34
}
35
 
36
void
37
optimized_1_marker (void)
38
{
39
}
40
 
41
void
42
gdb2029_marker (void)
43
{
44
}
45
 
46
/* A typical PIC prologue from GCC.  */
47
 
48
asm(".text\n"
49
    "    .p2align 3\n"
50
    SYMBOL (gdb2029) ":\n"
51
    "   stwu    %r1, -32(%r1)\n"
52
    "   mflr    %r0\n"
53
    "   bcl-    20,31,.+4\n"
54
    "   stw     %r30, 24(%r1)\n"
55
    "   mflr    %r30\n"
56
    "   stw     %r0, 36(%r1)\n"
57
    "   bl      gdb2029_marker\n"
58
    "   lwz     %r0, 36(%r1)\n"
59
    "   lwz     %r30, 24(%r1)\n"
60
    "   mtlr    %r0\n"
61
    "   addi    %r1, %r1, 32\n"
62
    "   blr");
63
 
64
/* A heavily scheduled prologue.  */
65
asm(".text\n"
66
    "   .p2align 3\n"
67
    SYMBOL (optimized_1) ":\n"
68
    "   stwu    %r1,-32(%r1)\n"
69
    "   lis     %r9,-16342\n"
70
    "   lis     %r11,-16342\n"
71
    "   mflr    %r0\n"
72
    "   addi    %r11,%r11,3776\n"
73
    "   stmw    %r27,12(%r1)\n"
74
    "   addi    %r31,%r9,3152\n"
75
    "   cmplw   %cr7,%r31,%r11\n"
76
    "   stw     %r0,36(%r1)\n"
77
    "   mr      %r30,%r3\n"
78
    "   bl      optimized_1_marker\n"
79
    "   lwz     %r0,36(%r1)\n"
80
    "   lmw     %r27,12(%r1)\n"
81
    "   addi    %r1,%r1,32\n"
82
    "   blr");

powered by: WebSVN 2.1.0

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