202Fermer204
Kevin KoflerLe 12/10/2007 à 20:48
Bon, le div généré est attendu en -Os. Tu as écrit ça:
i= length / 4;
length est signé, un shift n'a pas la même sémantique pour les nombres signés qu'une division. Mets length en non signé (i peut rester signé) et tu n'auras pas ce problème (j'ai vérifié, ça donne bien un lsr). Ou alors écris directement >>2 et pas /4 (mais si tu fais juste ça sans passer length en unsigned, ça fera que ton algo ne marchera pas pour les longeurs entre 32768 et 65535 (enfin, 65520, on ne peut pas avoir un bloc plus grand wink)). Ou les deux. wink

Quant à ton histoire de tst inutile pour la boucle, je ne peux pas la reproduire, avec TIGCC CVS HEAD et -Os, j'ai:
	subq.w #1,%d4
	jbpl .L3