CMP EMBEDDED.COM

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

Listing 5 C example and the corresponding pipelined assembly language output
1
void example1(float *out, float *input1, 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	_example1:
2	;** ---------------------------------------------------------*
3	MVK .S2 0x64,B0
4	
5	MVC .S2 CSR,B6
6	|| MV .L1X B4,A3
7	|| MV .L2X A6,B5
8	AND .L1X -2,B6,A0
9	MVC	.S2X A0,CSR
10	;** ---------------------------------------------------------*
11	L11: ; PIPED LOOP PROLOG
12	;**
---------------------------------------------------------*
13	L12: ; PIPED LOOP KERNEL
14	LDW .D2 *B5++,B4 ;
15	|| LDW .D1 *A3++,A0 ;
16	NOP 2
17	[ B0] SUB .L2 B0,1,B0 ;
18 [ B0] B .S2 L12 ;
19	MPYSP .M1X B4,A0,A0 ;
20	NOP 3
21	STW .D1 A0,*A4++ ;
22	;** --------------------------------------------------------*
23	MVC .S2 B6,CSR
24	B .S2 B3
25	NOP 5
26	;
BRANCH OCCURS
Back

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

Browse all jobs

SPONSOR
RECENT JOB POSTINGS





 :