Blame sysdeps/powerpc/sysdep.h

Packit Service 82fcde
/* Copyright (C) 1999-2018 Free Software Foundation, Inc.
Packit Service 82fcde
   This file is part of the GNU C Library.
Packit Service 82fcde
Packit Service 82fcde
   The GNU C Library is free software; you can redistribute it and/or
Packit Service 82fcde
   modify it under the terms of the GNU Lesser General Public
Packit Service 82fcde
   License as published by the Free Software Foundation; either
Packit Service 82fcde
   version 2.1 of the License, or (at your option) any later version.
Packit Service 82fcde
Packit Service 82fcde
   The GNU C Library is distributed in the hope that it will be useful,
Packit Service 82fcde
   but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service 82fcde
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit Service 82fcde
   Lesser General Public License for more details.
Packit Service 82fcde
Packit Service 82fcde
   You should have received a copy of the GNU Lesser General Public
Packit Service 82fcde
   License along with the GNU C Library; if not, see
Packit Service 82fcde
   <http://www.gnu.org/licenses/>.  */
Packit Service 82fcde
Packit Service 82fcde
/*
Packit Service 82fcde
 * Powerpc Feature masks for the Aux Vector Hardware Capabilities (AT_HWCAP).
Packit Service 82fcde
 * This entry is copied to _dl_hwcap or rtld_global._dl_hwcap during startup.
Packit Service 82fcde
 */
Packit Service 82fcde
#define _SYSDEPS_SYSDEP_H 1
Packit Service 82fcde
#include <bits/hwcap.h>
Packit Service 82fcde
Packit Service 82fcde
#define PPC_FEATURE_970 (PPC_FEATURE_POWER4 + PPC_FEATURE_HAS_ALTIVEC)
Packit Service 82fcde
Packit Service 82fcde
#ifdef __ASSEMBLER__
Packit Service 82fcde
Packit Service 82fcde
/* Symbolic names for the registers.  The only portable way to write asm
Packit Service 82fcde
   code is to use number but this produces really unreadable code.
Packit Service 82fcde
   Therefore these symbolic names.  */
Packit Service 82fcde
Packit Service 82fcde
/* Integer registers.  */
Packit Service 82fcde
#define r0	0
Packit Service 82fcde
#define r1	1
Packit Service 82fcde
#define r2	2
Packit Service 82fcde
#define r3	3
Packit Service 82fcde
#define r4	4
Packit Service 82fcde
#define r5	5
Packit Service 82fcde
#define r6	6
Packit Service 82fcde
#define r7	7
Packit Service 82fcde
#define r8	8
Packit Service 82fcde
#define r9	9
Packit Service 82fcde
#define r10	10
Packit Service 82fcde
#define r11	11
Packit Service 82fcde
#define r12	12
Packit Service 82fcde
#define r13	13
Packit Service 82fcde
#define r14	14
Packit Service 82fcde
#define r15	15
Packit Service 82fcde
#define r16	16
Packit Service 82fcde
#define r17	17
Packit Service 82fcde
#define r18	18
Packit Service 82fcde
#define r19	19
Packit Service 82fcde
#define r20	20
Packit Service 82fcde
#define r21	21
Packit Service 82fcde
#define r22	22
Packit Service 82fcde
#define r23	23
Packit Service 82fcde
#define r24	24
Packit Service 82fcde
#define r25	25
Packit Service 82fcde
#define r26	26
Packit Service 82fcde
#define r27	27
Packit Service 82fcde
#define r28	28
Packit Service 82fcde
#define r29	29
Packit Service 82fcde
#define r30	30
Packit Service 82fcde
#define r31	31
Packit Service 82fcde
Packit Service 82fcde
/* Floating-point registers.  */
Packit Service 82fcde
#define fp0	0
Packit Service 82fcde
#define fp1	1
Packit Service 82fcde
#define fp2	2
Packit Service 82fcde
#define fp3	3
Packit Service 82fcde
#define fp4	4
Packit Service 82fcde
#define fp5	5
Packit Service 82fcde
#define fp6	6
Packit Service 82fcde
#define fp7	7
Packit Service 82fcde
#define fp8	8
Packit Service 82fcde
#define fp9	9
Packit Service 82fcde
#define fp10	10
Packit Service 82fcde
#define fp11	11
Packit Service 82fcde
#define fp12	12
Packit Service 82fcde
#define fp13	13
Packit Service 82fcde
#define fp14	14
Packit Service 82fcde
#define fp15	15
Packit Service 82fcde
#define fp16	16
Packit Service 82fcde
#define fp17	17
Packit Service 82fcde
#define fp18	18
Packit Service 82fcde
#define fp19	19
Packit Service 82fcde
#define fp20	20
Packit Service 82fcde
#define fp21	21
Packit Service 82fcde
#define fp22	22
Packit Service 82fcde
#define fp23	23
Packit Service 82fcde
#define fp24	24
Packit Service 82fcde
#define fp25	25
Packit Service 82fcde
#define fp26	26
Packit Service 82fcde
#define fp27	27
Packit Service 82fcde
#define fp28	28
Packit Service 82fcde
#define fp29	29
Packit Service 82fcde
#define fp30	30
Packit Service 82fcde
#define fp31	31
Packit Service 82fcde
Packit Service 82fcde
/* Condition code registers.  */
Packit Service 82fcde
#define cr0	0
Packit Service 82fcde
#define cr1	1
Packit Service 82fcde
#define cr2	2
Packit Service 82fcde
#define cr3	3
Packit Service 82fcde
#define cr4	4
Packit Service 82fcde
#define cr5	5
Packit Service 82fcde
#define cr6	6
Packit Service 82fcde
#define cr7	7
Packit Service 82fcde
Packit Service 82fcde
/* Vector registers. */
Packit Service 82fcde
#define v0	0
Packit Service 82fcde
#define v1	1
Packit Service 82fcde
#define v2	2
Packit Service 82fcde
#define v3	3
Packit Service 82fcde
#define v4	4
Packit Service 82fcde
#define v5	5
Packit Service 82fcde
#define v6	6
Packit Service 82fcde
#define v7	7
Packit Service 82fcde
#define v8	8
Packit Service 82fcde
#define v9	9
Packit Service 82fcde
#define v10	10
Packit Service 82fcde
#define v11	11
Packit Service 82fcde
#define v12	12
Packit Service 82fcde
#define v13	13
Packit Service 82fcde
#define v14	14
Packit Service 82fcde
#define v15	15
Packit Service 82fcde
#define v16	16
Packit Service 82fcde
#define v17	17
Packit Service 82fcde
#define v18	18
Packit Service 82fcde
#define v19	19
Packit Service 82fcde
#define v20	20
Packit Service 82fcde
#define v21	21
Packit Service 82fcde
#define v22	22
Packit Service 82fcde
#define v23	23
Packit Service 82fcde
#define v24	24
Packit Service 82fcde
#define v25	25
Packit Service 82fcde
#define v26	26
Packit Service 82fcde
#define v27	27
Packit Service 82fcde
#define v28	28
Packit Service 82fcde
#define v29	29
Packit Service 82fcde
#define v30	30
Packit Service 82fcde
#define v31	31
Packit Service 82fcde
Packit Service 82fcde
#define VRSAVE	256
Packit Service 82fcde
Packit Service 82fcde
/* The 32-bit words of a 64-bit dword are at these offsets in memory.  */
Packit Service 82fcde
#if defined __LITTLE_ENDIAN__ || defined _LITTLE_ENDIAN
Packit Service 82fcde
# define LOWORD 0
Packit Service 82fcde
# define HIWORD 4
Packit Service 82fcde
#else
Packit Service 82fcde
# define LOWORD 4
Packit Service 82fcde
# define HIWORD 0
Packit Service 82fcde
#endif
Packit Service 82fcde
Packit Service 82fcde
/* The high 16-bit word of a 64-bit dword is at this offset in memory.  */
Packit Service 82fcde
#if defined __LITTLE_ENDIAN__ || defined _LITTLE_ENDIAN
Packit Service 82fcde
# define HISHORT 6
Packit Service 82fcde
#else
Packit Service 82fcde
# define HISHORT 0
Packit Service 82fcde
#endif
Packit Service 82fcde
Packit Service 82fcde
/* This seems to always be the case on PPC.  */
Packit Service 82fcde
#define ALIGNARG(log2) log2
Packit Service 82fcde
#define ASM_SIZE_DIRECTIVE(name) .size name,.-name
Packit Service 82fcde
Packit Service 82fcde
#endif	/* __ASSEMBLER__ */