Home | History | Annotate | Line # | Download | only in bfin
      1  1.1  christos // Test various moves to single register half
      2  1.1  christos # mach: bfin
      3  1.1  christos 
      4  1.1  christos .include "testutils.inc"
      5  1.1  christos 	start
      6  1.1  christos 
      7  1.1  christos 
      8  1.1  christos // load r0=0x7fffffff
      9  1.1  christos // load r1=0x00ffffff
     10  1.1  christos // load r2=0xf0000000
     11  1.1  christos // load r3=0x0000007f
     12  1.1  christos // load r4=0x00000080
     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 	R4 = [ P0 ++ ];
     19  1.1  christos 
     20  1.1  christos // extract  only to high half
     21  1.1  christos 	R5 = 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.H = A1;
     26  1.1  christos 	DBGA ( R5.L , 0x0000 );
     27  1.1  christos 	DBGA ( R5.H , 0x7fff );
     28  1.1  christos 
     29  1.1  christos // extract only to low half
     30  1.1  christos 	R5 = 0;
     31  1.1  christos 	A1 = A0 = 0;
     32  1.1  christos 	A1.w = R0;
     33  1.1  christos 	A0.w = R0;
     34  1.1  christos 	R5.L = A0;
     35  1.1  christos 	DBGA ( R5.L , 0x7fff );
     36  1.1  christos 	DBGA ( R5.H , 0x0000 );
     37  1.1  christos 
     38  1.1  christos // extract  only to high half
     39  1.1  christos 	R5 = 0;
     40  1.1  christos 	A1 = A0 = 0;
     41  1.1  christos 	R5.H = ( A1 += R0.H * R0.H ), A0 += R0.H * R0.H;
     42  1.1  christos 	DBGA ( R5.L , 0x0000 );
     43  1.1  christos 	DBGA ( R5.H , 0x7ffe );
     44  1.1  christos 
     45  1.1  christos // extract  only to low half
     46  1.1  christos 	R5 = 0;
     47  1.1  christos 	A1 = A0 = 0;
     48  1.1  christos 	A1 += R0.H * R0.H, R5.L = ( A0 += R0.H * R0.H );
     49  1.1  christos 	DBGA ( R5.L , 0x7ffe );
     50  1.1  christos 	DBGA ( R5.H , 0x0000 );
     51  1.1  christos 
     52  1.1  christos 	pass
     53  1.1  christos 
     54  1.1  christos 	.data
     55  1.1  christos data0:
     56  1.1  christos 	.dw 0xffff
     57  1.1  christos 	.dw 0x7fff
     58  1.1  christos 	.dw 0xffff
     59  1.1  christos 	.dw 0x00ff
     60  1.1  christos 	.dw 0x0000
     61  1.1  christos 	.dw 0xf000
     62  1.1  christos 	.dw 0x007f
     63  1.1  christos 	.dw 0x0000
     64  1.1  christos 	.dw 0x0080
     65  1.1  christos 	.dw 0x0000
     66