This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 2/2] newlib: Eliminate unrecommended use of vector keyword on SPU


Patch checked in.

-- Jeff J.

Kazunori Asayama wrote:
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));


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]