1# mach: bfin
2
3.include "testutils.inc"
4	start
5
6	fp = sp;
7
8	[--SP]=RETS;
9
10	loadsym R1, _b;
11	loadsym R2, _a;
12	R0 = R2;
13
14	SP +=  -12;
15	R2 =   4;
16
17	CALL _dot;
18	R1 = R0;
19
20	R0 =   30;
21	dbga( r1.l, 0x1e);
22
23
24	pass
25
26_dot:
27	P0 = R1;
28	CC = R2 <=  0;
29	R3 = R0;
30	R0 =   0;
31	IF CC JUMP  ._P1L1 (bp);
32	R0 =   1;
33	I0 = R3;
34	R0 = MAX (R0,R2) || R2 = [P0++] || NOP;
35	P1 = R0;
36	R0 = 0;
37	R1 = [I0++];
38	LSETUP (._P1L4 , ._P1L5) LC0=P1;
39
40._P1L4:
41	R1 *= R2;
42._P1L5:
43	R0= R0 + R1 (NS) || R2 = [P0++] || R1 = [I0++];
44
45._P1L1:
46	RTS;
47
48.data;
49_a:
50	.db 0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x03,0x00,0x00,0x00;
51	.db 0x04,0x00,0x00,0x00;
52
53_b:
54	.db 0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x03,0x00,0x00,0x00;
55	.db 0x04,0x00,0x00,0x00;
56