60
Posté le 30/12/2009 à 22:04 Membre depuis le 18/06/2001, -28168 message
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
Posté le 30/12/2009 à 22:34 Membre depuis le 18/06/2001, -28168 message
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
Posté le 31/12/2009 à 07:42 Membre depuis le 28/10/2001, 7599 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.
63
Posté le 31/12/2009 à 10:19 Membre depuis le 18/06/2001, -28168 message
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
Posté le 31/12/2009 à 14:20 Membre depuis le 27/04/2006, 53491 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
65
Posté le 31/12/2009 à 17:13 Membre depuis le 10/06/2001, 39200 messages
C'est ce que tout le monde finit pourtant par faire cheeky
66
Posté le 02/01/2010 à 08:35 Membre depuis le 10/06/2001, 38475 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é
67
Posté le 02/01/2010 à 09:34 Edité par Folco le 02/01/2010 à 12:18 Membre depuis le 18/06/2001, -28168 message
Et ça consiste en quoi une optimisation people?
avatar <<< Kernel Extremist©®™ >>>
Feel the power of (int16) !
68
Posté le 02/01/2010 à 10:37 Membre depuis le 10/06/2001, 38475 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é
69
Posté le 02/01/2010 à 12:20 Membre depuis le 18/06/2001, -28168 message
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
Posté le 02/01/2010 à 14:51 Membre depuis le 16/06/2001, 66039 messages
Une optimisation people c'est une optimisation contribuée par Hollywood.
71
Posté le 02/01/2010 à 17:48 Membre depuis le 18/06/2001, -28168 message
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
Posté le 02/01/2010 à 20:00 Membre depuis le 28/10/2001, 7599 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.
73
Posté le 05/01/2010 à 19:25 Membre depuis le 10/06/2001, 38475 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é
74
Posté le 05/01/2010 à 19:42 Membre depuis le 27/04/2006, 53491 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
75
Posté le 05/01/2010 à 20:21 Membre depuis le 18/06/2001, -28168 message
Merci. smile
avatar <<< Kernel Extremist©®™ >>>
Feel the power of (int16) !