60
Posted on the 2009-12-30 at 10:04pm Member since 2001-06-18, -30826 post
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©®™ >>>
Feel the power of (int16) !
61
Posted on the 2009-12-30 at 10:34pm Member since 2001-06-18, -30826 post
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©®™ >>>
Feel the power of (int16) !
62
Posted on the 2009-12-31 at 07:42am Member since 2001-10-28, 7627 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.
63
Posted on the 2009-12-31 at 10:19am Member since 2001-06-18, -30826 post
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©®™ >>>
Feel the power of (int16) !
64
Posted on the 2009-12-31 at 02:20pm Member since 2006-04-27, 48974 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
65
Posted on the 2009-12-31 at 05:13pm Member since 2001-06-10, 35486 posts
C'est ce que tout le monde finit pourtant par faire cheeky
66
Posted on the 2010-01-02 at 08:35am Member since 2001-06-10, 37281 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é
67
Posted on the 2010-01-02 at 09:34am Edited by Folco On the 2010-01-02 at 12:18pm Member since 2001-06-18, -30826 post
Et ça consiste en quoi une optimisation people?
avatar <<< Kernel Extremist©®™ >>>
Feel the power of (int16) !
68
Posted on the 2010-01-02 at 10:37am Member since 2001-06-10, 37281 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é
69
Posted on the 2010-01-02 at 12:20pm Member since 2001-06-18, -30826 post
Oui bon ok, ben tu t'y colles ? grin

(rah quelle chiure ce clavier ici sick)
avatar <<< Kernel Extremist©®™ >>>
Feel the power of (int16) !
70
Posted on the 2010-01-02 at 02:51pm Member since 2001-06-16, 63233 posts
Une optimisation people c'est une optimisation contribuée par Hollywood.
71
Posted on the 2010-01-02 at 05:48pm Member since 2001-06-18, -30826 post
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©®™ >>>
Feel the power of (int16) !
72
Posted on the 2010-01-02 at 08:00pm Member since 2001-10-28, 7627 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.
73
Posted on the 2010-01-05 at 07:25pm Member since 2001-06-10, 37281 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é
74
Posted on the 2010-01-05 at 07:42pm Member since 2006-04-27, 48974 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
75
Posted on the 2010-01-05 at 08:21pm Member since 2001-06-18, -30826 post
Merci. smile
avatar <<< Kernel Extremist©®™ >>>
Feel the power of (int16) !