- Posted On the 2009-12-30 at 10:04 pm Member since 2001-06-18, 30548 posts
Oui. Et merci pour l'idée du header, c'est ça qu'il me faut. smile

edit -> ça cartonne ton truc ^^
avatar <<< Kernel Extremist©®™ >>>
Saint Qt, priez pour nous.
- Posted On the 2009-12-30 at 10:34 pm Member since 2001-06-18, 30548 posts
Bon, j'ai juste deux relogements tout cons que j'aimerais éviter :
	moveq #1,%d0
lsl.w %d3,%d0
ext.l %d0
and.l %d4,%d0
move.l #.LC1,%d1
tst.l %d0
jbne .L8
move.l #.LC2,%d1

Ca vient de ça :
printf("%s: %s\n",StrFlag, (Flags & (1 << Count) ? "Enabled" : "Disabled"));

J'ai beau écrire le (?:) avec des if, toujours pareil, j'ai les labels relogés. Comment éviter ça, j'aimerais bien m'en passer. smile

ps -> j'aimerais tant qu'à faire éviter le
printf("%s:", StrFlag);
if (Flags & (1 << Count))
printf("Enabled\n");
else
printf("Disabled\n");

Et je sais même pas si ça changerait quelque chose hehe

ps2 (hahaha) -> ah ben si, comme ça ça marche trioui mais je trouve pas ça propre, on dirait du basic ^^

=>
	pea .LC1
jbsr (%a2)
moveq #1,%d0
lsl.w %d3,%d0
ext.l %d0
and.l %d4,%d0
addq.l #8,%sp
jbeq .L6
pea .LC2
jbra .L11
.L6:
pea .LC3
.L11:
avatar <<< Kernel Extremist©®™ >>>
Saint Qt, priez pour nous.
- Posted On the 2009-12-31 at 07:42 am Member since 2001-10-28, 7579 posts
L'option -mpcrel, ou l'option -freg-relative-an, t'éviteraient certainement cette paire de relogements smile

Manifestement, le compilo ne semble pas avoir envie de générer un btst ici, même si ça serait une optimisation taille et vitesse.
avatar Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.
- Posted On the 2009-12-31 at 10:19 am Member since 2001-06-18, 30548 posts
Alors hormis ces relogements, pour ce qui est de la manière de GCC d'écrire de l'assembleur, j'ai décrété que je fermais les yeux, sinon j'arrête immédiatement le C. grin

Merci pour les switches. smile
avatar <<< Kernel Extremist©®™ >>>
Saint Qt, priez pour nous.
- Posted On the 2009-12-31 at 02:20 pm Member since 2006-04-27, 43997 posts
Folco (./63) :
pour ce qui est de la manière de GCC d'écrire de l'assembleur, j'ai décrété que je fermais les yeux
On parie qu'il craque au bout d'une semaine ? cheeky
avatarZeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo
- Posted On the 2009-12-31 at 05:13 pm Member since 2001-06-10, 30843 posts
C'est ce que tout le monde finit pourtant par faire cheeky
- Posted On the 2010-01-02 at 08:35 am Member since 2001-06-10, 35191 posts
Bah, l'autre option, c'est d'améliorer GCC pour qu'il génère du code correct. tongue Une optimisation peephole devrait pouvoir régler ce cas.
avatar Mes news pour calculatrices TI: Ti-Gen (fr/en), MobiFiles (de)
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité
- Posted On the 2010-01-02 at 09:34 am - Edited by Folco On the 2010-01-02 at 12:18 pm Member since 2001-06-18, 30548 posts
Et ça consiste en quoi une optimisation people?
avatar <<< Kernel Extremist©®™ >>>
Saint Qt, priez pour nous.
- Posted On the 2010-01-02 at 10:37 am Member since 2001-06-10, 35191 posts
avatar Mes news pour calculatrices TI: Ti-Gen (fr/en), MobiFiles (de)
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité
- Posted On the 2010-01-02 at 12:20 pm Member since 2001-06-18, 30548 posts
Oui bon ok, ben tu t'y colles ? grin

(rah quelle chiure ce clavier ici sick)
avatar <<< Kernel Extremist©®™ >>>
Saint Qt, priez pour nous.
- Posted On the 2010-01-02 at 02:51 pm Member since 2001-06-16, 60208 posts
Une optimisation people c'est une optimisation contribuée par Hollywood.
- Posted On the 2010-01-02 at 05:48 pm Member since 2001-06-18, 30548 posts
Bon, concrètement, ça veut dire quoi ? Il faut identifier la séquence de code asesmbleur correspondante au code compilé que j'ai donné ? Puis forcer l'optimisation en faisant un remplacement en dur (au moins au niveau de la séquence d'instructions, pas des registres) ? Ca se fait à quel niveau du compilateur ?
avatar <<< Kernel Extremist©®™ >>>
Saint Qt, priez pour nous.
- Posted On the 2010-01-02 at 08:00 pm Member since 2001-10-28, 7579 posts
Il faut identifier la séquence de code asesmbleur correspondante au code compilé que j'ai donné ? Puis forcer l'optimisation en faisant un remplacement en dur (au moins au niveau de la séquence d'instructions, pas des registres) ?

C'est le principe, oui.
avatar Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.
- Posted On the 2010-01-05 at 07:25 pm Member since 2001-06-10, 35191 posts
Ça se fait sur la représentation interne bas niveau (le register transfer language (RTL)), soit tu convertis du RTL en RTL (préféré), soit du RTL en assembleur (déconseillé car impossible d'appliquer d'autres peepholes par la suite sur le même morceau de code).
avatar Mes news pour calculatrices TI: Ti-Gen (fr/en), MobiFiles (de)
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité
- Posted On the 2010-01-05 at 07:42 pm Member since 2006-04-27, 43997 posts
(pour info, Kevin : -préféré +recommandé, en français)
avatarZeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo
- Posted On the 2010-01-05 at 08:21 pm Member since 2001-06-18, 30548 posts
Merci. smile
avatar <<< Kernel Extremist©®™ >>>
Saint Qt, priez pour nous.