volatile vector unsigned int v2 =
// (vector unsigned int){ 0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF };
(vector unsigned int){ 0x01010101,0x01010101,0x01010101,0x01010101 };
- //__asm__ __volatile__ ("vcmpequw. 31,%0,%1" : : "vr" (v1), "vr" (v2)); // sets CR[6]
- //__asm__ __volatile__ ("vpkswss 31,%0,%1" : : "vr" (v1), "vr" (v2)); // sets VSCR[SAT]
- __asm__ __volatile__ ("vsubsbs 31,%0,%1" : : "vr" (v1), "vr" (v2)); // sets VSCR[SAT]
+ //__asm__ __volatile__ ("vcmpequw. 31,%0,%1" : : "v" (v1), "v" (v2)); // sets CR[6]
+ //__asm__ __volatile__ ("vpkswss 31,%0,%1" : : "v" (v1), "v" (v2)); // sets VSCR[SAT]
+ __asm__ __volatile__ ("vsubsbs 31,%0,%1" : : "v" (v1), "v" (v2)); // sets VSCR[SAT]
*/
//#define DEFAULT_VSCR 0x00010000
// reset VSCR and CR
vscr = (vector unsigned int){ 0,0,0,DEFAULT_VSCR };
flags = 0;
- __asm__ __volatile__ ("mtvscr %0" : : "vr" (vscr) );
+ __asm__ __volatile__ ("mtvscr %0" : : "v" (vscr) );
__asm__ __volatile__ ("mtcr %0" : : "r" (flags));
// load input -> r14
- __asm__ __volatile__ ("vor 14,%0,%0" : : "vr" (vec_in));
+ __asm__ __volatile__ ("vor 14,%0,%0" : : "v" (vec_in));
// do stuff
(*func)();
/* Restore flags */
__asm__ __volatile__ ("mtcr %0" : : "r" (tmpcr));
- __asm__ __volatile__ ("mtvscr %0" : : "vr" (tmpvscr));
+ __asm__ __volatile__ ("mtvscr %0" : : "v" (tmpvscr));
src = (unsigned int*)&vec_in;
dst = (unsigned int*)&vec_out;
// reset VSCR and CR
vscr = (vector unsigned int){ 0,0,0,DEFAULT_VSCR };
flags = 0;
- __asm__ __volatile__ ("mtvscr %0" : : "vr" (vscr) );
+ __asm__ __volatile__ ("mtvscr %0" : : "v" (vscr) );
__asm__ __volatile__ ("mtcr %0" : : "r" (flags));
// load inputs -> r14,r15
- __asm__ __volatile__ ("vor 14,%0,%0" : : "vr" (vec_in1));
- __asm__ __volatile__ ("vor 15,%0,%0" : : "vr" (vec_in2));
+ __asm__ __volatile__ ("vor 14,%0,%0" : : "v" (vec_in1));
+ __asm__ __volatile__ ("vor 15,%0,%0" : : "v" (vec_in2));
// do stuff
(*func)();
/* Restore flags */
__asm__ __volatile__ ("mtcr %0" : : "r" (tmpcr));
- __asm__ __volatile__ ("mtvscr %0" : : "vr" (tmpvscr));
+ __asm__ __volatile__ ("mtvscr %0" : : "v" (tmpvscr));
src1 = (unsigned int*)&vec_in1;
src2 = (unsigned int*)&vec_in2;
// reset VSCR and CR
vscr = (vector unsigned int){ 0,0,0,DEFAULT_VSCR };
flags = 0;
- __asm__ __volatile__ ("mtvscr %0" : : "vr" (vscr) );
+ __asm__ __volatile__ ("mtvscr %0" : : "v" (vscr) );
__asm__ __volatile__ ("mtcr %0" : : "r" (flags));
// load inputs -> r14,r15,r16
- __asm__ __volatile__ ("vor 14,%0,%0" : : "vr" (vec_in1));
- __asm__ __volatile__ ("vor 15,%0,%0" : : "vr" (vec_in2));
- __asm__ __volatile__ ("vor 16,%0,%0" : : "vr" (vec_in3));
+ __asm__ __volatile__ ("vor 14,%0,%0" : : "v" (vec_in1));
+ __asm__ __volatile__ ("vor 15,%0,%0" : : "v" (vec_in2));
+ __asm__ __volatile__ ("vor 16,%0,%0" : : "v" (vec_in3));
// do stuff
(*func)();
/* Restore flags */
__asm__ __volatile__ ("mtcr %0" : : "r" (tmpcr));
- __asm__ __volatile__ ("mtvscr %0" : : "vr" (tmpvscr));
+ __asm__ __volatile__ ("mtvscr %0" : : "v" (tmpvscr));
src1 = (unsigned int*)&vec_in1;
src2 = (unsigned int*)&vec_in2;
// reset VSCR and CR
vscr = (vector unsigned int){ 0,0,0,DEFAULT_VSCR };
flags = 0;
- __asm__ __volatile__ ("mtvscr %0" : : "vr" (vscr) );
+ __asm__ __volatile__ ("mtvscr %0" : : "v" (vscr) );
__asm__ __volatile__ ("mtcr %0" : : "r" (flags));
// load inputs -> r14,r15
- __asm__ __volatile__ ("vor 14,%0,%0" : : "vr" (vec_in1));
- __asm__ __volatile__ ("vor 15,%0,%0" : : "vr" (vec_shft));
+ __asm__ __volatile__ ("vor 14,%0,%0" : : "v" (vec_in1));
+ __asm__ __volatile__ ("vor 15,%0,%0" : : "v" (vec_shft));
// do stuff
(*func)();
/* Restore flags */
__asm__ __volatile__ ("mtcr %0" : : "r" (tmpcr));
- __asm__ __volatile__ ("mtvscr %0" : : "vr" (tmpvscr));
+ __asm__ __volatile__ ("mtvscr %0" : : "v" (tmpvscr));
src1 = (unsigned int*)&vec_in1;
src2 = (unsigned int*)&vec_shft;
// reset VSCR and CR
vscr = (vector unsigned int){ 0,0,0,DEFAULT_VSCR };
flags = 0;
- __asm__ __volatile__ ("mtvscr %0" : : "vr" (vscr) );
+ __asm__ __volatile__ ("mtvscr %0" : : "v" (vscr) );
__asm__ __volatile__ ("mtcr %0" : : "r" (flags));
// load input -> r14
- __asm__ __volatile__ ("vor 14,%0,%0" : : "vr" (vec_in1));
+ __asm__ __volatile__ ("vor 14,%0,%0" : : "v" (vec_in1));
// do stuff
(*func)();
/* Restore flags */
__asm__ __volatile__ ("mtcr %0" : : "r" (tmpcr));
- __asm__ __volatile__ ("mtvscr %0" : : "vr" (tmpvscr));
+ __asm__ __volatile__ ("mtvscr %0" : : "v" (tmpvscr));
src1 = (unsigned int*)&vec_in1;
dst = (unsigned int*)&vec_out;
// reset VSCR and CR
vscr = (vector unsigned int){ 0,0,0,DEFAULT_VSCR };
flags = 0;
- __asm__ __volatile__ ("mtvscr %0" : : "vr" (vscr) );
+ __asm__ __volatile__ ("mtvscr %0" : : "v" (vscr) );
__asm__ __volatile__ ("mtcr %0" : : "r" (flags));
// do stuff
/* Restore flags */
__asm__ __volatile__ ("mtcr %0" : : "r" (tmpcr));
- __asm__ __volatile__ ("mtvscr %0" : : "vr" (tmpvscr));
+ __asm__ __volatile__ ("mtvscr %0" : : "v" (tmpvscr));
dst = (unsigned int*)&vec_out;
// reset VSCR and CR
vscr = (vector unsigned int){ 0,0,0,DEFAULT_VSCR };
flags = 0;
- __asm__ __volatile__ ("mtvscr %0" : : "vr" (vscr) );
+ __asm__ __volatile__ ("mtvscr %0" : : "v" (vscr) );
__asm__ __volatile__ ("mtcr %0" : : "r" (flags));
// load inputs -> r14,r15
- __asm__ __volatile__ ("vor 14,%0,%0" : : "vr" (vec_in1));
- __asm__ __volatile__ ("vor 15,%0,%0" : : "vr" (vec_in2));
+ __asm__ __volatile__ ("vor 14,%0,%0" : : "v" (vec_in1));
+ __asm__ __volatile__ ("vor 15,%0,%0" : : "v" (vec_in2));
// do stuff
(*func)();
/* Restore flags */
__asm__ __volatile__ ("mtcr %0" : : "r" (tmpcr));
- __asm__ __volatile__ ("mtvscr %0" : : "vr" (tmpvscr));
+ __asm__ __volatile__ ("mtvscr %0" : : "v" (tmpvscr));
src1 = (unsigned int*)&vec_in1;
src2 = (unsigned int*)&vec_in2;
// reset VSCR and CR
vscr = (vector unsigned int){ 0,0,0,DEFAULT_VSCR };
flags = 0;
- __asm__ __volatile__ ("mtvscr %0" : : "vr" (vscr) );
+ __asm__ __volatile__ ("mtvscr %0" : : "v" (vscr) );
__asm__ __volatile__ ("mtcr %0" : : "r" (flags));
// do stuff
/* Restore flags */
__asm__ __volatile__ ("mtcr %0" : : "r" (tmpcr));
- __asm__ __volatile__ ("mtvscr %0" : : "vr" (tmpvscr));
+ __asm__ __volatile__ ("mtvscr %0" : : "v" (tmpvscr));
dst = (unsigned int*)&vec_out;
// reset VSCR and CR
vscr = (vector unsigned int){ 0,0,0,DEFAULT_VSCR };
flags = 0;
- __asm__ __volatile__ ("mtvscr %0" : : "vr" (vscr) );
+ __asm__ __volatile__ ("mtvscr %0" : : "v" (vscr) );
__asm__ __volatile__ ("mtcr %0" : : "r" (flags));
// do stuff
/* Restore flags */
__asm__ __volatile__ ("mtcr %0" : : "r" (tmpcr));
- __asm__ __volatile__ ("mtvscr %0" : : "vr" (tmpvscr));
+ __asm__ __volatile__ ("mtvscr %0" : : "v" (tmpvscr));
vec_in = (vector unsigned int)viargs[i];
src = (unsigned int*)&vec_in;
// reset VSCR and CR
vscr = (vector unsigned int){ 0,0,0,DEFAULT_VSCR };
flags = 0;
- __asm__ __volatile__ ("mtvscr %0" : : "vr" (vscr) );
+ __asm__ __volatile__ ("mtvscr %0" : : "v" (vscr) );
__asm__ __volatile__ ("mtcr %0" : : "r" (flags));
// load inputs -> r14
- __asm__ __volatile__ ("vor 14,%0,%0" : : "vr" (vec_in));
+ __asm__ __volatile__ ("vor 14,%0,%0" : : "v" (vec_in));
// do stuff
(*func)();
/* Restore flags */
__asm__ __volatile__ ("mtcr %0" : : "r" (tmpcr));
- __asm__ __volatile__ ("mtvscr %0" : : "vr" (tmpvscr));
+ __asm__ __volatile__ ("mtvscr %0" : : "v" (tmpvscr));
vec_out = (vector unsigned int)viargs_priv[i];
src = (unsigned int*)&vec_in;
// reset VSCR and CR
vscr = (vector unsigned int){ 0,0,0,DEFAULT_VSCR };
flags = 0;
- __asm__ __volatile__ ("mtvscr %0" : : "vr" (vscr) );
+ __asm__ __volatile__ ("mtvscr %0" : : "v" (vscr) );
__asm__ __volatile__ ("mtcr %0" : : "r" (flags));
// load input -> r14
- __asm__ __volatile__ ("vor 14,%0,%0" : : "vr" (vec_in));
+ __asm__ __volatile__ ("vor 14,%0,%0" : : "v" (vec_in));
// do stuff
(*func)();
/* Restore flags */
__asm__ __volatile__ ("mtcr %0" : : "r" (tmpcr));
- __asm__ __volatile__ ("mtvscr %0" : : "vr" (tmpvscr));
+ __asm__ __volatile__ ("mtvscr %0" : : "v" (tmpvscr));
src = (unsigned int*)&vec_in;
dst = (unsigned int*)&vec_out;
// reset VSCR and CR
vscr = (vector unsigned int){ 0,0,0,DEFAULT_VSCR };
flags = 0;
- __asm__ __volatile__ ("mtvscr %0" : : "vr" (vscr) );
+ __asm__ __volatile__ ("mtvscr %0" : : "v" (vscr) );
__asm__ __volatile__ ("mtcr %0" : : "r" (flags));
// load inputs -> r14,r15
- __asm__ __volatile__ ("vor 14,%0,%0" : : "vr" (vec_in1));
- __asm__ __volatile__ ("vor 15,%0,%0" : : "vr" (vec_in2));
+ __asm__ __volatile__ ("vor 14,%0,%0" : : "v" (vec_in1));
+ __asm__ __volatile__ ("vor 15,%0,%0" : : "v" (vec_in2));
// do stuff
(*func)();
/* Restore flags */
__asm__ __volatile__ ("mtcr %0" : : "r" (tmpcr));
- __asm__ __volatile__ ("mtvscr %0" : : "vr" (tmpvscr));
+ __asm__ __volatile__ ("mtvscr %0" : : "v" (tmpvscr));
src1 = (unsigned int*)&vec_in1;
src2 = (unsigned int*)&vec_in2;
// reset VSCR and CR
vscr = (vector unsigned int){ 0,0,0,DEFAULT_VSCR };
flags = 0;
- __asm__ __volatile__ ("mtvscr %0" : : "vr" (vscr) );
+ __asm__ __volatile__ ("mtvscr %0" : : "v" (vscr) );
__asm__ __volatile__ ("mtcr %0" : : "r" (flags));
// load inputs -> r14,r15,r16
- __asm__ __volatile__ ("vor 14,%0,%0" : : "vr" (vec_in1));
- __asm__ __volatile__ ("vor 15,%0,%0" : : "vr" (vec_in2));
- __asm__ __volatile__ ("vor 16,%0,%0" : : "vr" (vec_in3));
+ __asm__ __volatile__ ("vor 14,%0,%0" : : "v" (vec_in1));
+ __asm__ __volatile__ ("vor 15,%0,%0" : : "v" (vec_in2));
+ __asm__ __volatile__ ("vor 16,%0,%0" : : "v" (vec_in3));
// do stuff
(*func)();
/* Restore flags */
__asm__ __volatile__ ("mtcr %0" : : "r" (tmpcr));
- __asm__ __volatile__ ("mtvscr %0" : : "vr" (tmpvscr));
+ __asm__ __volatile__ ("mtvscr %0" : : "v" (tmpvscr));
src1 = (unsigned int*)&vec_in1;
src2 = (unsigned int*)&vec_in2;
// reset VSCR and CR
vscr = (vector unsigned int){ 0,0,0,DEFAULT_VSCR };
flags = 0;
- __asm__ __volatile__ ("mtvscr %0" : : "vr" (vscr) );
+ __asm__ __volatile__ ("mtvscr %0" : : "v" (vscr) );
__asm__ __volatile__ ("mtcr %0" : : "r" (flags));
// load input -> r14
- __asm__ __volatile__ ("vor 14,%0,%0" : : "vr" (vec_in));
+ __asm__ __volatile__ ("vor 14,%0,%0" : : "v" (vec_in));
// do stuff
(*func)();
/* Restore flags */
__asm__ __volatile__ ("mtcr %0" : : "r" (tmpcr));
- __asm__ __volatile__ ("mtvscr %0" : : "vr" (tmpvscr));
+ __asm__ __volatile__ ("mtvscr %0" : : "v" (tmpvscr));
src = (unsigned int*)&vec_in;
dst = (unsigned int*)&vec_out;