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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [gcc/] [config/] [rs6000/] [ppc-asm.h] - Diff between revs 154 and 816

Only display areas with differences | Details | Blame | View Log

Rev 154 Rev 816
/* PowerPC asm definitions for GNU C.  */
/* PowerPC asm definitions for GNU C.  */
/* Under winnt, 1) gas supports the following as names and 2) in particular
/* Under winnt, 1) gas supports the following as names and 2) in particular
   defining "toc" breaks the FUNC_START macro as ".toc" becomes ".2" */
   defining "toc" breaks the FUNC_START macro as ".toc" becomes ".2" */
 
 
#define r0      0
#define r0      0
#define sp      1
#define sp      1
#define toc     2
#define toc     2
#define r3      3
#define r3      3
#define r4      4
#define r4      4
#define r5      5
#define r5      5
#define r6      6
#define r6      6
#define r7      7
#define r7      7
#define r8      8
#define r8      8
#define r9      9
#define r9      9
#define r10     10
#define r10     10
#define r11     11
#define r11     11
#define r12     12
#define r12     12
#define r13     13
#define r13     13
#define r14     14
#define r14     14
#define r15     15
#define r15     15
#define r16     16
#define r16     16
#define r17     17
#define r17     17
#define r18     18
#define r18     18
#define r19     19
#define r19     19
#define r20     20
#define r20     20
#define r21     21
#define r21     21
#define r22     22
#define r22     22
#define r23     23
#define r23     23
#define r24     24
#define r24     24
#define r25     25
#define r25     25
#define r26     26
#define r26     26
#define r27     27
#define r27     27
#define r28     28
#define r28     28
#define r29     29
#define r29     29
#define r30     30
#define r30     30
#define r31     31
#define r31     31
 
 
#define cr0     0
#define cr0     0
#define cr1     1
#define cr1     1
#define cr2     2
#define cr2     2
#define cr3     3
#define cr3     3
#define cr4     4
#define cr4     4
#define cr5     5
#define cr5     5
#define cr6     6
#define cr6     6
#define cr7     7
#define cr7     7
 
 
#define f0      0
#define f0      0
#define f1      1
#define f1      1
#define f2      2
#define f2      2
#define f3      3
#define f3      3
#define f4      4
#define f4      4
#define f5      5
#define f5      5
#define f6      6
#define f6      6
#define f7      7
#define f7      7
#define f8      8
#define f8      8
#define f9      9
#define f9      9
#define f10     10
#define f10     10
#define f11     11
#define f11     11
#define f12     12
#define f12     12
#define f13     13
#define f13     13
#define f14     14
#define f14     14
#define f15     15
#define f15     15
#define f16     16
#define f16     16
#define f17     17
#define f17     17
#define f18     18
#define f18     18
#define f19     19
#define f19     19
#define f20     20
#define f20     20
#define f21     21
#define f21     21
#define f22     22
#define f22     22
#define f23     23
#define f23     23
#define f24     24
#define f24     24
#define f25     25
#define f25     25
#define f26     26
#define f26     26
#define f27     27
#define f27     27
#define f28     28
#define f28     28
#define f29     29
#define f29     29
#define f30     30
#define f30     30
#define f31     31
#define f31     31
 
 
/*
/*
 * Macros to glue together two tokens.
 * Macros to glue together two tokens.
 */
 */
 
 
#ifdef __STDC__
#ifdef __STDC__
#define XGLUE(a,b) a##b
#define XGLUE(a,b) a##b
#else
#else
#define XGLUE(a,b) a/**/b
#define XGLUE(a,b) a/**/b
#endif
#endif
 
 
#define GLUE(a,b) XGLUE(a,b)
#define GLUE(a,b) XGLUE(a,b)
 
 
/*
/*
 * Macros to begin and end a function written in assembler.  If -mcall-aixdesc
 * Macros to begin and end a function written in assembler.  If -mcall-aixdesc
 * or -mcall-nt, create a function descriptor with the given name, and create
 * or -mcall-nt, create a function descriptor with the given name, and create
 * the real function with one or two leading periods respectively.
 * the real function with one or two leading periods respectively.
 */
 */
 
 
#if defined (__powerpc64__)
#if defined (__powerpc64__)
#define FUNC_NAME(name) GLUE(.,name)
#define FUNC_NAME(name) GLUE(.,name)
#define JUMP_TARGET(name) FUNC_NAME(name)
#define JUMP_TARGET(name) FUNC_NAME(name)
#define FUNC_START(name) \
#define FUNC_START(name) \
        .section ".opd","aw"; \
        .section ".opd","aw"; \
name: \
name: \
        .quad GLUE(.,name); \
        .quad GLUE(.,name); \
        .quad .TOC.@tocbase; \
        .quad .TOC.@tocbase; \
        .quad 0; \
        .quad 0; \
        .previous; \
        .previous; \
        .type GLUE(.,name),@function; \
        .type GLUE(.,name),@function; \
        .globl name; \
        .globl name; \
        .globl GLUE(.,name); \
        .globl GLUE(.,name); \
GLUE(.,name):
GLUE(.,name):
 
 
#define FUNC_END(name) \
#define FUNC_END(name) \
GLUE(.L,name): \
GLUE(.L,name): \
        .size GLUE(.,name),GLUE(.L,name)-GLUE(.,name)
        .size GLUE(.,name),GLUE(.L,name)-GLUE(.,name)
 
 
#elif defined(_CALL_AIXDESC)
#elif defined(_CALL_AIXDESC)
 
 
#ifdef _RELOCATABLE
#ifdef _RELOCATABLE
#define DESC_SECTION ".got2"
#define DESC_SECTION ".got2"
#else
#else
#define DESC_SECTION ".got1"
#define DESC_SECTION ".got1"
#endif
#endif
 
 
#define FUNC_NAME(name) GLUE(.,name)
#define FUNC_NAME(name) GLUE(.,name)
#define JUMP_TARGET(name) FUNC_NAME(name)
#define JUMP_TARGET(name) FUNC_NAME(name)
#define FUNC_START(name) \
#define FUNC_START(name) \
        .section DESC_SECTION,"aw"; \
        .section DESC_SECTION,"aw"; \
name: \
name: \
        .long GLUE(.,name); \
        .long GLUE(.,name); \
        .long _GLOBAL_OFFSET_TABLE_; \
        .long _GLOBAL_OFFSET_TABLE_; \
        .long 0; \
        .long 0; \
        .previous; \
        .previous; \
        .type GLUE(.,name),@function; \
        .type GLUE(.,name),@function; \
        .globl name; \
        .globl name; \
        .globl GLUE(.,name); \
        .globl GLUE(.,name); \
GLUE(.,name):
GLUE(.,name):
 
 
#define FUNC_END(name) \
#define FUNC_END(name) \
GLUE(.L,name): \
GLUE(.L,name): \
        .size GLUE(.,name),GLUE(.L,name)-GLUE(.,name)
        .size GLUE(.,name),GLUE(.L,name)-GLUE(.,name)
 
 
#else
#else
 
 
#define FUNC_NAME(name) GLUE(__USER_LABEL_PREFIX__,name)
#define FUNC_NAME(name) GLUE(__USER_LABEL_PREFIX__,name)
#if defined __PIC__ || defined __pic__
#if defined __PIC__ || defined __pic__
#define JUMP_TARGET(name) FUNC_NAME(name@plt)
#define JUMP_TARGET(name) FUNC_NAME(name@plt)
#else
#else
#define JUMP_TARGET(name) FUNC_NAME(name)
#define JUMP_TARGET(name) FUNC_NAME(name)
#endif
#endif
#define FUNC_START(name) \
#define FUNC_START(name) \
        .type FUNC_NAME(name),@function; \
        .type FUNC_NAME(name),@function; \
        .globl FUNC_NAME(name); \
        .globl FUNC_NAME(name); \
FUNC_NAME(name):
FUNC_NAME(name):
 
 
#define FUNC_END(name) \
#define FUNC_END(name) \
GLUE(.L,name): \
GLUE(.L,name): \
        .size FUNC_NAME(name),GLUE(.L,name)-FUNC_NAME(name)
        .size FUNC_NAME(name),GLUE(.L,name)-FUNC_NAME(name)
#endif
#endif
 
 
#if defined __linux__ && !defined __powerpc64__
#if defined __linux__ && !defined __powerpc64__
        .section .note.GNU-stack
        .section .note.GNU-stack
        .previous
        .previous
#endif
#endif
 
 

powered by: WebSVN 2.1.0

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