Home | History | Annotate | Line # | Download | only in bfin
      1 //  Test ALU  NEG accumulators
      2 # mach: bfin
      3 
      4 .include "testutils.inc"
      5 	start
      6 
      7 
      8 	R0 = 0xffffffff;
      9 	A0.w = R0;
     10 	R0 = 0x7f (X);
     11 	A0.x = R0;
     12 	A0 = - A0;
     13 	_DBG A0;
     14 	R4 = A0.w;
     15 	R5 = A0.x;
     16 	DBGA ( R4.H , 0x0000 );	DBGA ( R4.L , 0x0001 );
     17 	DBGA ( R5.H , 0xffff );	DBGA ( R5.L , 0xff80 );
     18 
     19 	R0 = 0x1;
     20 	A0.w = R0;
     21 	R0 = 0x0;
     22 	A0.x = R0;
     23 	A0 = - A0;
     24 	R4 = A0.w;
     25 	R5 = A0.x;
     26 	_DBG A0;
     27 	DBGA ( R4.H , 0xffff );	DBGA ( R4.L , 0xffff );
     28 	DBGA ( R5.H , 0xffff );	DBGA ( R5.L , 0xffff );
     29 
     30 	R0 = 0xffffffff;
     31 	A0.w = R0;
     32 	R0 = 0xff (X);
     33 	A0.x = R0;
     34 	A0 = - A0;
     35 	R4 = A0.w;
     36 	R5 = A0.x;
     37 	DBGA ( R4.H , 0x0000 );	DBGA ( R4.L , 0x0001 );
     38 	DBGA ( R5.H , 0x0000 );	DBGA ( R5.L , 0x0000 );
     39 
     40 	R0 = 0x00000000;
     41 	A0.w = R0;
     42 	R0 = 0x80 (X);
     43 	A0.x = R0;
     44 	A0 = - A0;
     45 	R4 = A0.w;
     46 	R5 = A0.x;
     47 	DBGA ( R4.H , 0xffff );	DBGA ( R4.L , 0xffff );
     48 	DBGA ( R5.H , 0x0000 );	DBGA ( R5.L , 0x007f );
     49 
     50 //  NEG NEG
     51 	R0 = 0x00000000;
     52 	A0.w = R0;
     53 	R0 = 0x80 (X);
     54 	A0.x = R0;
     55 
     56 	R0 = 0xffffffff;
     57 	A1.w = R0;
     58 	R0 = 0x7f (X);
     59 	A1.x = R0;
     60 
     61 	A1 = - A1, A0 = - A0;
     62 
     63 	R4 = A0.w;
     64 	R5 = A0.x;
     65 	DBGA ( R4.H , 0xffff );	DBGA ( R4.L , 0xffff );
     66 	DBGA ( R5.H , 0x0000 );	DBGA ( R5.L , 0x007f );
     67 
     68 	R4 = A1.w;
     69 	R5 = A1.x;
     70 	_DBG A1;
     71 	DBGA ( R4.H , 0x0000 );	DBGA ( R4.L , 0x0001 );
     72 	DBGA ( R5.H , 0xffff );	DBGA ( R5.L , 0xff80 );
     73 
     74 //  NEG NEG register
     75 	R0.L = 0x0001;
     76 	R0.H = 0x8000;
     77 
     78 	R3 = - R0 (V);
     79 	DBGA ( R3.H , 0x7fff );	DBGA ( R3.L , 0xffff );
     80 
     81 	_DBG ASTAT;
     82 
     83 	pass
     84