aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/spu/spu_intrinsics.h
diff options
context:
space:
mode:
authorTrevor Smigiel <tsmigiel@gcc.gnu.org>2006-11-21 01:35:42 +0000
committerTrevor Smigiel <tsmigiel@gcc.gnu.org>2006-11-21 01:35:42 +0000
commit85d9c13c208f254dad25773cdc6e44219c3ebe0d (patch)
tree660a6a760b01414d76e3d26c200e8946444802a6 /gcc/config/spu/spu_intrinsics.h
parent99f8a411dc763471dcd73cef8b42663e3c64c3f8 (diff)
downloadgcc-85d9c13c208f254dad25773cdc6e44219c3ebe0d.zip
gcc-85d9c13c208f254dad25773cdc6e44219c3ebe0d.tar.gz
gcc-85d9c13c208f254dad25773cdc6e44219c3ebe0d.tar.bz2
configure.in (skipdirs): Don't build target-libiberty for SPU.
ChangeLog * configure.in (skipdirs) : Don't build target-libiberty for SPU. * configure : Rebuilt. gcc/ChangeLog * config.gcc : Add target for SPU. * config/spu/constraints.md : New file. * config/spu/crt0.c : New file. * config/spu/crtend.c : New file. * config/spu/crti.asm : New file. * config/spu/crtn.asm : New file. * config/spu/float_unsdidf.c : New file. * config/spu/float_unssidf.c : New file. * config/spu/predicates.md : New file. * config/spu/spu-builtins.def : New file. * config/spu/spu-builtins.h : New file. * config/spu/spu-builtins.md : New file. * config/spu/spu-c.c : New file. * config/spu/spu-elf.h : New file. * config/spu/spu-modes.def : New file. * config/spu/spu-protos.h : New file. * config/spu/spu.c : New file. * config/spu/spu.h : New file. * config/spu/spu.md : New file. * config/spu/spu.opt : New file. * config/spu/spu_internals.h : New file. * config/spu/spu_intrinsics.h : New file. * config/spu/spu_mfcio.h : New file. * config/spu/t-spu-elf : New file. * config/spu/vec_types.h : New file. * config/spu/vmx2spu.h : New file. * doc/contrib.texi : Document SPU contributor. * doc/extend.texi : Document SPU extensions. * doc/invoke.texi : Document SPU options. * doc/md.texi : Document SPU constraints. libcpp/ChangeLog * configure.ac (need_64bit_hwint): Need 64bit hwint for SPU. * configure : Rebuilt. From-SVN: r119041
Diffstat (limited to 'gcc/config/spu/spu_intrinsics.h')
-rw-r--r--gcc/config/spu/spu_intrinsics.h75
1 files changed, 75 insertions, 0 deletions
diff --git a/gcc/config/spu/spu_intrinsics.h b/gcc/config/spu/spu_intrinsics.h
new file mode 100644
index 0000000..a083216
--- /dev/null
+++ b/gcc/config/spu/spu_intrinsics.h
@@ -0,0 +1,75 @@
+/* Definitions of Synergistic Processing Unit (SPU). */
+/* Copyright (C) 2006 Free Software Foundation, Inc.
+
+ This file is free software; you can redistribute it and/or modify it under
+ the terms of the GNU General Public License as published by the Free
+ Software Foundation; either version 2 of the License, or (at your option)
+ any later version.
+
+ This file is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this file; see the file COPYING. If not, write to the Free
+ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
+ 02110-1301, USA. */
+
+/* As a special exception, if you include this header file into source files
+ compiled by GCC, this header file does not by itself cause the resulting
+ executable to be covered by the GNU General Public License. This exception
+ does not however invalidate any other reasons why the executable file might be
+ covered by the GNU General Public License. */
+
+#ifndef _SPU_INTRINSICS_H
+#define _SPU_INTRINSICS_H
+
+#define vec_uchar16 __vector unsigned char
+#define vec_char16 __vector signed char
+#define vec_ushort8 __vector unsigned short
+#define vec_short8 __vector signed short
+#define vec_uint4 __vector unsigned int
+#define vec_int4 __vector signed int
+#define vec_ullong2 __vector unsigned long long
+#define vec_llong2 __vector signed long long
+#define vec_float4 __vector float
+#define vec_double2 __vector double
+
+/* SPU Channel Defines
+ */
+#define SPU_RdEventStat 0
+#define SPU_WrEventMask 1
+#define SPU_WrEventAck 2
+#define SPU_RdSigNotify1 3
+#define SPU_RdSigNotify2 4
+#define SPU_WrDec 7
+#define SPU_RdDec 8
+#define SPU_RdEventStatMask 11
+#define SPU_RdMachStat 13
+#define SPU_WrSRR0 14
+#define SPU_RdSRR0 15
+#define SPU_WrOutMbox 28
+#define SPU_RdInMbox 29
+#define SPU_WrOutIntrMbox 30
+
+/* MFC Channel Defines.
+ */
+#define MFC_WrMSSyncReq 9
+#define MFC_RdTagMask 12
+#define MFC_LSA 16
+#define MFC_EAH 17
+#define MFC_EAL 18
+#define MFC_Size 19
+#define MFC_TagID 20
+#define MFC_Cmd 21
+#define MFC_WrTagMask 22
+#define MFC_WrTagUpdate 23
+#define MFC_RdTagStat 24
+#define MFC_RdListStallStat 25
+#define MFC_WrListStallAck 26
+#define MFC_RdAtomicStat 27
+
+#include <spu_internals.h>
+
+#endif /* _SPU_INTRINSICS_H */