1// simple test to ensure that we can load data from memory.
2# mach: bfin
3
4.include "testutils.inc"
5	start
6
7	loadsym P0, tab;
8	R0 = [ P0 ++ ];
9	R1 = [ P0 ++ ];
10	R2 = [ P0 ++ ];
11	R3 = [ P0 ++ ];
12	R4 = [ P0 ++ ];
13	R5 = [ P0 ++ ];
14	R6 = [ P0 ++ ];
15	R7 = [ P0 ++ ];
16
17	DBGA ( R0.H , 0x1111 );
18	DBGA ( R1.H , 0x2222 );
19	DBGA ( R2.H , 0x3333 );
20	DBGA ( R3.H , 0x4444 );
21	DBGA ( R4.H , 0x5555 );
22	DBGA ( R5.H , 0x6666 );
23	DBGA ( R6.H , 0x7777 );
24	DBGA ( R7.H , 0x8888 );
25
26	loadsym P0, tab2;
27
28	R0 = W [ P0 ++ ] (Z);
29	DBGA ( R0.L , 0x1111 );
30
31	R1 = W [ P0 ++ ] (Z);
32	DBGA ( R1.L , 0x8888 );
33
34	R2 = W [ P0 ++ ] (Z);
35	DBGA ( R2.L , 0x2222 );
36
37	R3 = W [ P0 ++ ] (Z);
38	DBGA ( R3.L , 0x7777 );
39
40	R4 = W [ P0 ++ ] (Z);
41	DBGA ( R4.L , 0x3333 );
42
43	R5 = W [ P0 ++ ] (Z);
44	DBGA ( R5.L , 0x6666 );
45
46	R0 = B [ P0 ++ ] (Z);
47	DBGA ( R0.L , 0x44 );
48	R1 = B [ P0 ++ ] (Z);
49	DBGA ( R1.L , 0x44 );
50	R2 = B [ P0 ++ ] (Z);
51	DBGA ( R2.L , 0x55 );
52	R3 = B [ P0 ++ ] (Z);
53	DBGA ( R3.L , 0x55 );
54
55	R0 = B [ P0 ++ ] (X);
56	DBGA ( R0.L , 0x55 );
57
58	R1 = B [ P0 ++ ] (X);
59	DBGA ( R1.L , 0x55 );
60
61	R0 = W [ P0 ++ ] (X);
62	DBGA ( R0.L , 0x4444 );
63
64	R1 = [ P0 ++ ];
65	DBGA ( R1.L , 0x6666 );
66	DBGA ( R1.H , 0x3333 );
67
68	P1 = [ P0 ++ ];
69	R0 = P1;
70	DBGA ( R0.L , 0x7777 );
71	DBGA ( R0.H , 0x2222 );
72
73	P1 = [ P0 ++ ];
74	R0 = P1;
75	DBGA ( R0.L , 0x8888 );
76	DBGA ( R0.H , 0x1111 );
77
78	loadsym P5, tab3;
79
80	R0 = B [ P5 ++ ] (X);
81	DBGA ( R0.H , 0 );
82	DBGA ( R0.L , 0 );
83
84	R0 = B [ P5 ++ ] (X);
85	DBGA ( R0.H , 0xffff );
86	DBGA ( R0.L , 0xffff );
87
88	R1 = W [ P5 ++ ] (X);
89	DBGA ( R1.H , 0xffff );
90	DBGA ( R1.L , 0xffff );
91
92	pass
93
94	.data
95tab:
96	.dw 0
97	.dw 0x1111
98	.dw 0
99	.dw 0x2222
100	.dw 0
101	.dw 0x3333
102	.dw 0
103	.dw 0x4444
104	.dw 0
105	.dw 0x5555
106	.dw 0
107	.dw 0x6666
108	.dw 0
109	.dw 0x7777
110	.dw 0
111	.dw 0x8888
112	.dw 0
113	.dw 0
114	.dw 0
115	.dw 0
116
117tab2:
118	.dw 0x1111
119	.dw 0x8888
120	.dw 0x2222
121	.dw 0x7777
122	.dw 0x3333
123	.dw 0x6666
124	.dw 0x4444
125	.dw 0x5555
126	.dw 0x5555
127	.dw 0x4444
128	.dw 0x6666
129	.dw 0x3333
130	.dw 0x7777
131	.dw 0x2222
132	.dw 0x8888
133	.dw 0x1111
134
135tab3:
136	.dw 0xff00
137	.dw 0xffff
138