Home | History | Annotate | Line # | Download | only in bfin
      1  1.1  christos // Test various moves to single register
      2  1.1  christos # mach: bfin
      3  1.1  christos 
      4  1.1  christos 
      5  1.1  christos .include "testutils.inc"
      6  1.1  christos 	start
      7  1.1  christos 
      8  1.1  christos 
      9  1.1  christos // load r0=0x7fffffff
     10  1.1  christos // load r1=0x00ffffff
     11  1.1  christos // load r2=0xf0000000
     12  1.1  christos // load r3=0x0000007f
     13  1.1  christos 	loadsym P0, data0;
     14  1.1  christos 	R0 = [ P0 ++ ];
     15  1.1  christos 	R1 = [ P0 ++ ];
     16  1.1  christos 	R2 = [ P0 ++ ];
     17  1.1  christos 	R3 = [ P0 ++ ];
     18  1.1  christos 
     19  1.1  christos // extract only to high register
     20  1.1  christos 	R5 = 0;
     21  1.1  christos 	R4 = 0;
     22  1.1  christos 	A1 = A0 = 0;
     23  1.1  christos 	A1.w = R0;
     24  1.1  christos 	A0.w = R0;
     25  1.1  christos 	R5 = A1;
     26  1.1  christos 	DBGA ( R4.L , 0x0000 );
     27  1.1  christos 	DBGA ( R4.H , 0x0000 );
     28  1.1  christos 	DBGA ( R5.L , 0xffff );
     29  1.1  christos 	DBGA ( R5.H , 0x7fff );
     30  1.1  christos 
     31  1.1  christos // extract only to low register
     32  1.1  christos 	R5 = 0;
     33  1.1  christos 	R4 = 0;
     34  1.1  christos 	A1 = A0 = 0;
     35  1.1  christos 	A1.w = R0;
     36  1.1  christos 	A0.w = R0;
     37  1.1  christos 	R4 = A0;
     38  1.1  christos 	DBGA ( R4.L , 0xffff );
     39  1.1  christos 	DBGA ( R4.H , 0x7fff );
     40  1.1  christos 	DBGA ( R5.L , 0x0000 );
     41  1.1  christos 	DBGA ( R5.H , 0x0000 );
     42  1.1  christos 
     43  1.1  christos // extract  only to high reg
     44  1.1  christos 	R5 = 0;
     45  1.1  christos 	R4 = 0;
     46  1.1  christos 	A1 = A0 = 0;
     47  1.1  christos 	R5 = ( A1 += R0.H * R0.H ), A0 += R0.H * R0.H;
     48  1.1  christos 	DBGA ( R4.L , 0x0000 );
     49  1.1  christos 	DBGA ( R4.H , 0x0000 );
     50  1.1  christos 	DBGA ( R5.L , 0x0002 );
     51  1.1  christos 	DBGA ( R5.H , 0x7ffe );
     52  1.1  christos 
     53  1.1  christos // extract  only to low reg
     54  1.1  christos 	R5 = 0;
     55  1.1  christos 	R4 = 0;
     56  1.1  christos 	A1 = A0 = 0;
     57  1.1  christos 	A1 += R0.H * R0.H, R4 = ( A0 += R0.H * R0.H );
     58  1.1  christos 	DBGA ( R4.L , 0x0002 );
     59  1.1  christos 	DBGA ( R4.H , 0x7ffe );
     60  1.1  christos 	DBGA ( R5.L , 0x0000 );
     61  1.1  christos 	DBGA ( R5.H , 0x0000 );
     62  1.1  christos 
     63  1.1  christos 	pass
     64  1.1  christos 
     65  1.1  christos 	.data
     66  1.1  christos data0:
     67  1.1  christos 	.dw 0xffff
     68  1.1  christos 	.dw 0x7fff
     69  1.1  christos 	.dw 0xffff
     70  1.1  christos 	.dw 0x00ff
     71  1.1  christos 	.dw 0x0000
     72  1.1  christos 	.dw 0xf000
     73  1.1  christos 	.dw 0x007f
     74  1.1  christos 	.dw 0x0000
     75