m17.s revision 1.1 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