CMP EMBEDDED.COM

Login | Register     Welcome Guest   IPS  
HOME DESIGN PRODUCTS COLUMNS E-LEARNING CONFERENCES CODE FORUMS/BLOGS NEWSLETTERS CONTACT FEATURES RSS RSS

Listing 6 Corresponding pipelined assembly language output
1	void
example2(float *out, const float *input1, const float *input2)
2	{
3	int i;
4
5	for(i = 0; i 
<
100; i++) 
6	{
7	out[i] = input1[i] * input2[i];
8	}
9	}
1	_example2:
2	;** ---------------------------------------------------------------*
3	MVK	.S2 0x64,B0
4
5	MVC .S2 CSR,B6
6	|| MV .L1X B4,A3
7	|| MV .L2X A6,B5
8
9	AND .L1X -2,B6,A0
10
11	MVC .S2X A0,CSR
12	|| SUB .L2 B0,4,B0
13
14	;**
--------------------------------------------------------------*
15	L8: ; PIPED LOOP PROLOG
16
17	LDW .D2 *B5++,B4 ;
18	|| LDW .D1 *A3++,A0 ;
19
20	NOP 1
21
22	LDW .D2 *B5++,B4 ;@
23	|| LDW .D1 *A3++,A0 ;@
24	
25	[ B0] SUB .L2 B0,1,B0 ;
26
27	[ B0] B .S2 L9 ;
28	|| LDW .D2 *B5++,B4 ;@@
29	|| LDW .D1 *A3++,A0 ;@@
30
31	MPYSP .M1X B4,A0,A5 ;
32	|| [
B0] SUB .L2 B0,1,B0 ;@
33	
34	[ B0] B .S2 L9 ;@
35	|| LDW .D2 *B5++,B4 ;@@@
36	|| LDW .D1 *A3++,A0 ;@@@
37 
38	MPYSP .M1X B4,A0,A5 ;@
39	|| [ B0] SUB .L2 B0,1,B0 ;@@
40
41	;** --------------------------------------------------------------*
42	L9: ; PIPED LOOP KERNEL
43
44	[ B0] B .S2 L9 ;@@
45	|| LDW .D2 *B5++,B4 ;@@@@
46	|| LDW .D1 *A3++,A0 ;@@@@
47	
48
STW .D1 A5,*A4++ ;
49	|| MPYSP .M1X B4,A0,A5 ;@@
50	|| [ B0] SUB .L2 B0,1,B0 ;@@@
51
52	;** --------------------------------------------------------------*
53	L10: ; PIPED LOOP EPILOG
54	NOP 1
55
56	STW .D1 A5,*A4++ ;@
57	|| MPYSP .M1X B4,A0,A5 ;@@@
58	
59	NOP 1
60
61	STW .D1 A5,*A4++ ;@@
62	|| MPYSP .M1X B4,A0,A5 ;@@@@
64	NOP 1
65	STW
.D1 A5,*A4++ ;@@@
66	NOP 1
67	STW .D1 A5,*A4++ ;@@@@
68	;** --------------------------------------------------------------*
69	MVC .S2 B6,CSR
70	B .S2 B3
71	NOP 5
72	; BRANCH OCCURS
Back

Embedded.com Career Center
Ready for a change?
SEARCH JOBS

Browse all jobs

SPONSOR
RECENT JOB POSTINGS





 :