Hay un ciclo de espera haciendo loop unrolling que no me lo puedo sacar de arriba, traté de varias maneras pero siempre uno me queda.
El código original (con las esperas)
loop:
1- LD F0, 0(R1)
2- LD F4, 0(R2)
3- espera
4- MULTD F0, F0, F4
5- espera
6- espera
7- espera
8- ADDD F2, F0, F2
9- SUBI R1, R1, 8
10- SUBI R2, R2, 8
11- BNEQZ R1, loop
12- espera
código con loop unrolling
loop:
1- LD F0, 0(R1)
2- LD F4, 0(R2)
3- LD F5, -8(R1)
4- MULTD F0, F0, F4
5- LD F6, -8(R2)
6- SUBI R1, R1, 16
7- MULTD F5, F5, F6
8- ADDD F2, F2, F0
9- SUBI R2, R2, 16
10- espera
11- BNEQZ R1, loop
12- ADDD F2, F2, F5
Alguien pudo hacer que ejecute sin esperas?
Saludos