Dear friends,
I wrote a function that has the following 11 cycles kernel:
$C$L4: ; PIPED LOOP KERNEL
$C$DW$L$_Corr$5$B:
.dwpsn file "Corr.c",line 13,column 0,is_stmt
SPMASK L1
|| ADD .L1X B8,A9,A6
|| LDNDW .D2T2 *B5++(8),B7:B6 ; |12| (P) <0,0> ^
LDNDW .D1T1 *A6++(8),A5:A4 ; |12| (P) <0,1> ^
NOP 3
SPMASK L2
|| MV .L2X A3,B8
SPMASK L2
|| ADD .L2 B4,B16,B16 ; |25|
|| DOTPU4 .M2X B6,A4,B4 ; |12| (P) <0,6> ^
|| DOTPU4 .M1X B7,A5,A3 ; |24| (P) <0,6> ^
NOP 2
NOP 1
.dwpsn file "Corr.c",line 26,column 0,is_stmt
SPKERNEL 4,1
|| ADD .L2 B4,B8,B8 ; |12| <0,10> ^
|| ADD .L1 A3,A7,A7 ; |24| <0,10> ^
Strangely, the actual cycles it takes per iteration is 2.57 in average.
No complains of course, but how is this possible?
I double checked that all iterations are performed and that the results are correct.
I also checked that the actual time is correct according to the cycle count indicated by the profiler.
Thanks,
Avi Tal