Home | History | Annotate | Line # | Download | only in bfin
      1 /*  DAG test program.
      2  *  Test circular buffers
      3  */
      4 # mach: bfin
      5 
      6 .include "testutils.inc"
      7 	start
      8 
      9 	loadsym I0, foo;
     10 	loadsym B0, foo;
     11 	loadsym R2, foo;
     12 	L0 = 0x10 (X);
     13 	M1 = 8 (X);
     14 	R0 = [ I0 ++ M1 ];
     15 	R7 = I0;
     16 	R1 = R7 - R2
     17 	DBGA ( R1.L , 0x0008 );
     18 	R0 = [ I0 ++ M1 ];
     19 	R7 = I0;
     20 
     21 	R1 = R7 - R2;
     22 	DBGA ( R1.L , 0x0000 );
     23 	R0 = [ I0 ++ M1 ];
     24 	R7 = I0;
     25 	R1 = R7 - R2
     26 	DBGA ( R1.L , 0x0008 );
     27 
     28 	loadsym I0, foo;
     29 	loadsym B0, foo;
     30 	loadsym R2, foo;
     31 	L0 = 0x10 (X);
     32 	M1 = -4 (X);
     33 	R0 = [ I0 ++ M1 ];
     34 	R7 = I0;
     35 	R1 = R7 - R2
     36 	DBGA ( R1.L , 0x000c );
     37 	R0 = [ I0 ++ M1 ];
     38 	R7 = I0;
     39 	R1 = R7 - R2
     40 	DBGA ( R1.L , 0x0008 );
     41 	R0 = [ I0 ++ M1 ];
     42 	R7 = I0;
     43 	R1 = R7 - R2;
     44 	DBGA ( R1.L , 0x0004 );
     45 	R0 = [ I0 ++ M1 ];
     46 	R7 = I0;
     47 	R1 = R7 - R2;
     48 	DBGA ( R1.L , 0x0000 );
     49 	R0 = [ I0 ++ M1 ];
     50 	R7 = I0;
     51 	R1 = R7 - R2;
     52 	DBGA ( R1.L , 0x000c );
     53 
     54 	loadsym I0, foo;
     55 	loadsym B0, foo;
     56 	loadsym R2, foo;
     57 	L0 = 0x8 (X);
     58 	R0 = [ I0 ++ ];
     59 	R7 = I0;
     60 	R1 = R7 - R2;
     61 	DBGA ( R1.L , 0x0004 );
     62 	R0 = [ I0 ++ ];
     63 	R7 = I0;
     64 	R1 = R7 - R2;
     65 	DBGA ( R1.L , 0x0000 );
     66 	R0 = [ I0 ++ ];
     67 	R7 = I0;
     68 	R1 = R7 - R2;
     69 	DBGA ( R1.L , 0x0004 );
     70 
     71 	loadsym I0, foo;
     72 	loadsym B0, foo;
     73 	loadsym R2, foo;
     74 	L0 = 0x8 (X);
     75 	R0.L = W [ I0 ++ ];
     76 	R7 = I0;
     77 	R1 = R7 - R2;
     78 	DBGA ( R1.L , 0x0002 );
     79 	R0.L = W [ I0 ++ ];
     80 	R7 = I0;
     81 	R1 = R7 - R2;
     82 	DBGA ( R1.L , 0x0004 );
     83 	R0.L = W [ I0 ++ ];
     84 	R7 = I0;
     85 	R1 = R7 - R2;
     86 	DBGA ( R1.L , 0x0006 );
     87 	R0.L = W [ I0 ++ ];
     88 	R7 = I0;
     89 	R1 = R7 - R2;
     90 	DBGA ( R1.L , 0x0000 );
     91 	R0.L = W [ I0 ++ ];
     92 	R7 = I0;
     93 	R1 = R7 - R2;
     94 	DBGA ( R1.L , 0x0002 );
     95 
     96 	loadsym I0, foo;
     97 	loadsym B0, foo;
     98 	loadsym R2, foo;
     99 	L0 = 0x8 (X);
    100 	R0 = [ I0 -- ];
    101 	R7 = I0;
    102 	R1 = R7 - R2;
    103 	DBGA ( R1.L , 0x0004 );
    104 	R0 = [ I0 -- ];
    105 	R7 = I0;
    106 	R1 = R7 - R2;
    107 	DBGA ( R1.L , 0x0000 );
    108 	R0 = [ I0 -- ];
    109 	R7 = I0;
    110 	R1 = R7 - R2;
    111 	DBGA ( R1.L , 0x0004 );
    112 
    113 	pass
    114 
    115 	.data
    116 foo:
    117 	.space (0x10);
    118