SPRUI04F july 2015 – april 2023
L2: ; PIPED LOOP KERNEL
[ B1] SUB .S2 B1,1,B1 ; <0,8>
|| ADD .L2 B9,B5,B9 ; |21| <0,8> ^ sum0 += a[0] * b[0]
|| ADD .L1 A6,A0,A0 ; |22| <0,8> ^ sum1 += a[1] * b[1]
|| MPY .M2X B8,A4,B9 ; |19| <1,6> a[0] * b[0]
|| MPYH .M1X B8,A4,A6 ; |20| <1,6> a[1] * b[1]
|| [ B0] B .S1 L2 ; |32| <2,4> if (!I) goto loop
|| [ B1] LDW .D1T1 *A3++(8),A4 ; |24| <3,2> load a[2-3] bankx+2
|| [ A1] LDW .D2T2 *B6++(8),B8 ; |17| <4,0> load a[0-1] bankx
[ A1] SUB .S1 A1,1,A1 ; <0,9>
|| ADD .L2 B5,B9,B5 ; |28| <0,9> ^ sum0 += a[2] * b[2]
|| ADD .L1 A6,A0,A0 ; |29| <0,9> ^ sum1 += a[3] * b[3]
|| MPY .M2X A4,B7,B5 ; |26| <1,7> a[2] * b[2]
|| MPYH .M1X A4,B7,A6 ; |27| <1,7> a[3] * b[3]
|| [ B0] ADD .S2 -1,B0,B0 ; |31| <3,3> I--
|| [ A1] LDW .D2T2 *B4++(8),B7 ; |25| <4,1> load b[2-3] banky+2
|| [ A1] LDW .D1T1 *A5++(8),A4 ; |18| <4,1> load b[0-1] banky