Home | History | Annotate | Line # | Download | only in bfin
      1 //  Test  r4 = VMAX/VMAX (r5,r1)  A0<<2;
      2 # mach: bfin
      3 
      4 .include "testutils.inc"
      5 	start
      6 
      7 
      8 // Both max values are in high half, hence both bits
      9 // into A0 are 1
     10 	A0 = 0;
     11 	R1.L = 0x2;	// max in r1 is 3
     12 	R1.H = 0x3;
     13 
     14 	R0.L = 0x6;	// max in r0 is 7
     15 	R0.H = 0x7;
     16 
     17 	R6 = VIT_MAX( R1 , R0 ) (ASL);
     18 
     19 	DBGA ( R6.L , 0x0007 );
     20 	DBGA ( R6.H , 0x0003 );
     21 	R7 = A0.w;
     22 	DBGA ( R7.L , 0x0003 );
     23 	DBGA ( R7.H , 0x0000 );
     24 	R7.L = A0.x;
     25 	DBGA ( R7.L , 0x0000 );
     26 
     27 // max value in r1 is in low, so second bit into A0 is zero
     28 	A0 = 0;
     29 	R1.L = 0x3;	// max in r1 is 3
     30 	R1.H = 0x2;
     31 
     32 	R0.L = 0x6;	// max in r0 is 7
     33 	R0.H = 0x7;
     34 
     35 	R6 = VIT_MAX( R1 , R0 ) (ASL);
     36 
     37 	DBGA ( R6.L , 0x0007 );
     38 	DBGA ( R6.H , 0x0003 );
     39 	R7 = A0.w;
     40 	DBGA ( R7.L , 0x0002 );
     41 	DBGA ( R7.H , 0x0000 );
     42 	R7.L = A0.x;
     43 	DBGA ( R7.L , 0x0000 );
     44 
     45 // both max values in low, so both bits into A0 are zero
     46 	R0.L = 0x8000;
     47 	R0.H = 0x0;
     48 	A0.w = R0;
     49 	R1.L = 0x3;	// max in r1 is 3
     50 	R1.H = 0x2;
     51 
     52 	R0.L = 0x7;	// max in r0 is 7
     53 	R0.H = 0x6;
     54 
     55 	R6 = VIT_MAX( R1 , R0 ) (ASL);
     56 
     57 	DBGA ( R6.L , 0x0007 );
     58 	DBGA ( R6.H , 0x0003 );
     59 	R7 = A0.w;
     60 	DBGA ( R7.L , 0x0000 );
     61 	DBGA ( R7.H , 0x0002 );
     62 	R7.L = A0.x;
     63 	DBGA ( R7.L , 0x0000 );
     64 
     65 // Test for correct max when one value overflows
     66 	A0 = 0;
     67 	R1.L = 0x7fff;	// max in r1 is 0x8001 (overflowed)
     68 	R1.H = 0x8001;
     69 
     70 	R0.L = 0x6;	// max in r0 is 7
     71 	R0.H = 0x7;
     72 
     73 	R6 = VIT_MAX( R1 , R0 ) (ASL);
     74 
     75 	DBGA ( R6.L , 0x0007 );
     76 	DBGA ( R6.H , 0x8001 );
     77 	R7 = A0.w;
     78 	DBGA ( R7.L , 0x0003 );
     79 	DBGA ( R7.H , 0x0000 );
     80 	R7.L = A0.x;
     81 	DBGA ( R7.L , 0x0000 );
     82 
     83 	pass
     84