- Posté le 30/12/2009 à 22:04 Membre depuis le 18/06/2001, 30164 messages
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.
- Posté le 30/12/2009 à 22:34 Membre depuis le 18/06/2001, 30164 messages
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.
- Posté le 31/12/2009 à 07:42 Membre depuis le 28/10/2001, 7573 messages
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.
- Posté le 31/12/2009 à 10:19 Membre depuis le 18/06/2001, 30164 messages
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.
- Posté le 31/12/2009 à 14:20 Membre depuis le 27/04/2006, 43570 messages
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
- Posté le 31/12/2009 à 17:13 Membre depuis le 10/06/2001, 30542 messages
C'est ce que tout le monde finit pourtant par faire cheeky
- Posté le 02/01/2010 à 08:35 Membre depuis le 10/06/2001, 34990 messages
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é
- Posté le 02/01/2010 à 09:34 - Edité par Folco le 02/01/2010 à 12:18 Membre depuis le 18/06/2001, 30164 messages
Et ça consiste en quoi une optimisation people?
avatar <<< Kernel Extremist©®™ >>>
Saint Qt, priez pour nous.
- Posté le 02/01/2010 à 10:37 Membre depuis le 10/06/2001, 34990 messages
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é
- Posté le 02/01/2010 à 12:20 Membre depuis le 18/06/2001, 30164 messages
Oui bon ok, ben tu t'y colles ? grin

(rah quelle chiure ce clavier ici #sick#)
avatar <<< Kernel Extremist©®™ >>>
Saint Qt, priez pour nous.
- Posté le 02/01/2010 à 14:51 Membre depuis le 16/06/2001, 59973 messages
Une optimisation people c'est une optimisation contribuée par Hollywood.
- Posté le 02/01/2010 à 17:48 Membre depuis le 18/06/2001, 30164 messages
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.
- Posté le 02/01/2010 à 20:00 Membre depuis le 28/10/2001, 7573 messages
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.
- Posté le 05/01/2010 à 19:25 Membre depuis le 10/06/2001, 34990 messages
Ç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é
- Posté le 05/01/2010 à 19:42 Membre depuis le 27/04/2006, 43570 messages
(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
- Posté le 05/01/2010 à 20:21 Membre depuis le 18/06/2001, 30164 messages
Merci. smile
avatar <<< Kernel Extremist©®™ >>>
Saint Qt, priez pour nous.