21Fermer23
Kevin KoflerLe 10/10/2003 à 14:40
Sally
: C'est forcément un gain de taille si l'on sait à la compilation si la condition est réalisée ou pas la première fois (autrement dit si c'est une constante), puisqu'on peut la virer. C'est en particulier vrai dans le cas d'une boucle à nombre d'itérations fixe.

Non. Qu'il y ait un saut vers test ou vers end ne change rien à la taille. Ce n'est pas ça.
Tu as une idée de pourquoi avec la méthode Pollux on n'obtient pas un dbra en -Os ?

Probablement parce que l'optimisation qui génère les dbf ne reconnaît pas le code qu'il y a en -Os. GCC copie en général toujours les tests des boucles. C'est un patch local TIGCC qui désactive ça en -Os (mais je ne suis pas celui qui l'a inventé, il a été essayé par certains développeurs de GCC, mais il a été refusé parce qu'il donne du code mauvais sur certaines plateformes, et comme tu vois, c'est parfois le cas même sur 68k sad mais il est très efficace sur Backgammon, et c'est un gain aussi pour TI-Chess, et il fait aussi intuitivement la bonne chose, donc je veux le garder).