This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
[PATCH 2/2] newlib: Eliminate unrecommended use of vector keyword on SPU
- From: Kazunori Asayama <asayama at sm dot sony dot co dot jp>
- To: newlib at sourceware dot org
- Date: Fri, 19 Jan 2007 21:06:37 +0900 (LMT)
- Subject: [PATCH 2/2] newlib: Eliminate unrecommended use of vector keyword on SPU
- References: <20070119.210223.20990759.asayama@echo.sm.sony.co.jp>
Attached is a patch to eliminate 'vector' keywords in newlib.
2007-01-19 Kazunori Asayama <asayama@sm.sony.co.jp>
* libc/machine/spu/c99ppe.h: Replace vector with __vector.
* libc/machine/spu/vec_literal.h: Ditto.
* libc/machine/spu/strncmp.c: Ditto.
----
Index: newlib/newlib/libc/machine/spu/c99ppe.h
===================================================================
--- newlib.orig/newlib/libc/machine/spu/c99ppe.h
+++ newlib/newlib/libc/machine/spu/c99ppe.h
@@ -31,7 +31,6 @@ Author: Joel Schopp <jschopp@austin.ibm.
*/
#include <errno.h>
-#include <spu_intrinsics.h>
#define SPE_C99_SIGNALCODE 0x2100
@@ -102,7 +101,7 @@ send_to_ppe(int signalcode, int opcode,
unsigned int combined = ( ( opcode<<24 )&0xff000000 ) | ( ( unsigned int )data & 0x00ffffff );
struct spe_reg128* ret = data;
- vector unsigned int stopfunc = {
+ __vector unsigned int stopfunc = {
signalcode, /* stop 0x210x*/
(unsigned int) combined,
0x4020007f, /* nop */
Index: newlib/newlib/libc/machine/spu/vec_literal.h
===================================================================
--- newlib.orig/newlib/libc/machine/spu/vec_literal.h
+++ newlib/newlib/libc/machine/spu/vec_literal.h
@@ -49,27 +49,22 @@
* construction when all the elements of the vector contain the same value.
*/
-#ifdef __SPU__
-#include <spu_intrinsics.h>
-#endif
-
-
/* Use curly brace style.
*/
#define VEC_LITERAL(_type, ...) ((_type){__VA_ARGS__})
-#define VEC_SPLAT_U8(_val) ((vector unsigned char){_val, _val, _val, _val, _val, _val, _val, _val, _val, _val, _val, _val, _val, _val, _val, _val})
-#define VEC_SPLAT_S8(_val) ((vector signed char){_val, _val, _val, _val, _val, _val, _val, _val, _val, _val, _val, _val, _val, _val, _val, _val})
+#define VEC_SPLAT_U8(_val) ((__vector unsigned char){_val, _val, _val, _val, _val, _val, _val, _val, _val, _val, _val, _val, _val, _val, _val, _val})
+#define VEC_SPLAT_S8(_val) ((__vector signed char){_val, _val, _val, _val, _val, _val, _val, _val, _val, _val, _val, _val, _val, _val, _val, _val})
-#define VEC_SPLAT_U16(_val) ((vector unsigned short){_val, _val, _val, _val, _val, _val, _val, _val})
-#define VEC_SPLAT_S16(_val) ((vector signed short){_val, _val, _val, _val, _val, _val, _val, _val})
+#define VEC_SPLAT_U16(_val) ((__vector unsigned short){_val, _val, _val, _val, _val, _val, _val, _val})
+#define VEC_SPLAT_S16(_val) ((__vector signed short){_val, _val, _val, _val, _val, _val, _val, _val})
-#define VEC_SPLAT_U32(_val) ((vector unsigned int){_val, _val, _val, _val})
-#define VEC_SPLAT_S32(_val) ((vector signed int){_val, _val, _val, _val})
-#define VEC_SPLAT_F32(_val) ((vector float){_val, _val, _val, _val})
-
-#define VEC_SPLAT_U64(_val) ((vector unsigned long long){_val, _val})
-#define VEC_SPLAT_S64(_val) ((vector signed long long){_val, _val})
-#define VEC_SPLAT_F64(_val) ((vector double){_val, _val})
+#define VEC_SPLAT_U32(_val) ((__vector unsigned int){_val, _val, _val, _val})
+#define VEC_SPLAT_S32(_val) ((__vector signed int){_val, _val, _val, _val})
+#define VEC_SPLAT_F32(_val) ((__vector float){_val, _val, _val, _val})
+
+#define VEC_SPLAT_U64(_val) ((__vector unsigned long long){_val, _val})
+#define VEC_SPLAT_S64(_val) ((__vector signed long long){_val, _val})
+#define VEC_SPLAT_F64(_val) ((__vector double){_val, _val})
#endif /* _VEC_LITERAL_H_ */
Index: newlib/newlib/libc/machine/spu/strncmp.c
===================================================================
--- newlib.orig/newlib/libc/machine/spu/strncmp.c
+++ newlib/newlib/libc/machine/spu/strncmp.c
@@ -106,7 +106,7 @@ int strncmp(const char *s1, const char *
mask_v = spu_splats((unsigned int)0xFFFF);
- shift_n_v = spu_andc((vector unsigned int)spu_sub(0, n_v), spu_cmpgt(n_v, -1));
+ shift_n_v = spu_andc((__vector unsigned int)spu_sub(0, n_v), spu_cmpgt(n_v, -1));
shift_eos_v = spu_sub(32, max_cnt_v);
max_shift_v = spu_sel(shift_n_v, shift_eos_v, spu_cmpgt(shift_eos_v, shift_n_v));