Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > fr.comp.sys.atari > #30854

Re: Travail sur gcc

From Francois LE COAT <lecoat@archimedium.fr>
Newsgroups fr.comp.sys.atari
Subject Re: Travail sur gcc
Date 2026-03-22 17:30 +0100
Organization To protect and to server
Message-ID <10pp5ea$eo8s$1@paganini.bofh.team> (permalink)
References <dC2MdKm9GF_-ehSS5HBGyJ7NqBY@jntp> <10pkf56$3rgq6$1@paganini.bofh.team> <R9B87p2iVnvZEMhUckfGQNhYE4g@jntp> <10poth8$e8si$1@paganini.bofh.team> <EuZt8S03L1788nep4eKWAzYN7Og@jntp>

Show all headers | View raw


Salut,

OL écrit :
>>>> Ma conviction est que tu devrais d'abord adapter GNU/GCC 3.4.6 pour les
>>>> ordinateurs de la gamme ATARI, ce qui n'a pas été fait. Ça serait 
>>>> utile.
>>>
>>> Déjà quand vous êtes affirmatif votre avis ne vaut pas grand chose 
>>> alors votre conviction...
>>
>> Mais GNU/GCC n'est plus du tout écrit pour les processeurs Motorola 68k,
>> et ça ne va qu'empirer versions après versions. Donc si Monsieur Olivier
>> Landemarre a décidé de mener la politique de l'autruche, grand bien lui
>> fasse ... Mais tu vas dans le mur, en accélérant toujours plus. La
>> conviction que j'affirme n'est pas seulement la mienne ! Tu ferais
>> bien d'en tenir compte, et de sortir la tête du sable. Ça ne mène à
>> rien, et tu le sais. Pourquoi donc veux tu entrainer les ATARIstes dans
>> tes délires ? J'ai déjà vécu cela, je le répète : ça ne mène à rien ...
>> Il y a des objectifs plus prioritaires que le support de l'Apollo 68080.
> 
> Décidément vous ne suivez pas l'actualité et sortez des banalités et 
> peut-être à votre grande surprise et un peu aussi à la mienne mais 
> depuis gcc 13 l'efficacité est reparti à la hausse mais surtout 
> actuellement quelques personnes travaillent l'efficacité du code 68k 
> c'est l'effet de l'intérêt pour le retro. Sinon techniquement il y a un 
> intérêt majeur à passer a gcc 4 ou supérieur qui vous échappe 
> complètement c'est leur capacité à gérer les processeurs superscalaire 
> donc a partir du 68060 et si j'ai gagné 15% c'est uniquement grâce à 
> cela mais il y a beaucoup de point possible d'amélioration.
> 
> Vous voulez gcc 3.4.6 portez le vous même, on ne peut pas d'un côté se 
> foutre des autres et de l'autre s'attendre qu'il vous fasse le travail 
> et honnêtement même si je le voulais j'ai comme vous une bonne excuse 
> toute prête : je n'ai pas le temps.

Voila un texte (traduit) qui est paru là 
<https://atariscne.org/news/index.php/gcc-for-asm-experts-and-c-c-intermediates-part-1>

*GCC n'est (plus) conçu pour nous*

Le m68k était l'un des premiers backends de GCC, présent aux côtés du
VAX dans la version 1.0 de 1987. Longtemps, il a été un élément clé.
Mais le monde a évolué et le backend est tombé en désuétude, à peine
maintenu, sans personne pour s'en occuper activement.

Il faut dire que les progrès considérables réalisés dans l'optimisation
des compilateurs modernes sont ce qui permet au backend m68k de survivre
tant bien que mal. Pour la plupart des bases de code, le résultat est
comparable à celui d'antan, même s'il échoue complètement sur de
nombreux points spécifiques. Même un 68060 intégré à un Falcon avec un
CT63 est archaïque selon les normes des processeurs actuels. Les
optimisations appliquées par le middleware de GCC (ordonnancement
des instructions, transformations de boucles, heuristiques et
réordonnancement des registres) sont conçues pour les processeurs
superscalaires modernes hautement parallèles, et lorsqu'elles échouent
sur le m68k, l'échec est flagrant.

Prenons la boucle interne d'une simple copie de mémoire (mikro la
reconnaîtra), en C :

*dst++ = *src++;
*dst++ = *src++;
*dst++ = *src++;
*dst++ = *src++;

Tout programmeur expérimenté sur m68k s'attendrait à utiliser (a0)+ et
(a1)+, avec un adressage par post-incrémentation, l'idiome le plus
naturel sur notre architecture. Le compilateur devrait pouvoir générer
cela tel quel ; c'est ainsi que le code se lit. Voici ce que produit
GCC-15.2 par défaut avec l'option -O2 :

.L3 :
move.l (%a0),(%a1) | indexation simple, sans post-incrémentation
move.l 4(%a0),4(%a1)
move.l 8(%a0),8(%a1)
lea (16,%a0),%a0     | Mise à jour du pointeur séparée des accès
lea (16,%a1),%a1
move.l -4(%a0),-4(%a1) | décalage négatif — lea a été déplacé trop tôt

La boucle interne, parfaitement fonctionnelle, est massacrée au nom de
l'ordonnancement pour une exécution superscalaire. Les instructions sont
réorganisées, les incrémentations de pointeur sont dissociées de leurs
accès mémoire, et la quatrième copie utilise un décalage négatif car lea
a été déplacé au-dessus. Le résultat est plus lent et plus volumineux
que ce qu'aurait produit GCC-2.95, et loin d'être digne d'un développeur
chevronné. Pour les outils et utilitaires en ligne de commande, c'est
acceptable. Pour les démos et les jeux en temps réel, c'est inacceptable

Il faut que tu sortes la tête du sable, Olivier !

-- 
François LE COAT
Auteur de Eurêka 2.12 (Grapheur 2D, Modeleur 3D)
https://archimedium.fr/

Back to fr.comp.sys.atari | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Travail sur gcc OL <ol.google@lutece.net> - 2026-03-20 21:29 +0000
  Re: Travail sur gcc Francois LE COAT <lecoat@archimedium.fr> - 2026-03-20 22:45 +0100
    Re: Travail sur gcc OL <ol.google@lutece.net> - 2026-03-20 22:30 +0000
      Re: Travail sur gcc Francois LE COAT <lecoat@archimedium.fr> - 2026-03-22 15:15 +0100
        Re: Travail sur gcc OL <ol.google@lutece.net> - 2026-03-22 15:50 +0000
          Re: Travail sur gcc Francois LE COAT <lecoat@archimedium.fr> - 2026-03-22 17:30 +0100
            Re: Travail sur gcc Pascal Wijsbroek <pascal.wijsbroek@gmail.com> - 2026-03-22 17:20 +0000
            Re: Travail sur gcc OL <ol.google@lutece.net> - 2026-03-22 21:29 +0000
              Re: Travail sur gcc OL <ol.google@lutece.net> - 2026-03-23 10:07 +0000
  Re: Travail sur gcc Gosseyn <gosseyn@gosseyn.net> - 2026-03-21 10:52 +0100
    Re: Travail sur gcc Arachide <houten.van@orange.fr> - 2026-03-21 11:59 +0100
    Re: Travail sur gcc OL <ol.google@lutece.net> - 2026-03-21 11:22 +0000
      Re: Travail sur gcc Gosseyn <gosseyn@gosseyn.net> - 2026-03-21 12:39 +0100
        Re: Travail sur gcc OL <ol.google@lutece.net> - 2026-03-21 11:54 +0000
  Re: Travail sur gcc OL <ol.google@lutece.net> - 2026-03-26 22:47 +0000
    Re: Travail sur gcc Arachide <houten.van@orange.fr> - 2026-03-27 18:11 +0100
      Re: Travail sur gcc Francois LE COAT <lecoat@archimedium.fr> - 2026-03-27 19:35 +0100
      Re: Travail sur gcc OL <ol.google@lutece.net> - 2026-03-27 21:10 +0000
        Re: Travail sur gcc Arachide <houten.van@orange.fr> - 2026-03-28 10:01 +0100
          Re: Travail sur gcc OL <ol.google@lutece.net> - 2026-03-28 09:08 +0000
    Re: Travail sur gcc Francois LE COAT <lecoat@archimedium.fr> - 2026-03-27 19:15 +0100
      Re: Travail sur gcc Pascal Wijsbroek <pascal.wijsbroek@gmail.com> - 2026-03-27 19:54 +0000
        Re: Travail sur gcc Francois LE COAT <lecoat@archimedium.fr> - 2026-03-27 21:12 +0100
          Re: Travail sur gcc Pascal Wijsbroek <pascal.wijsbroek@gmail.com> - 2026-03-28 09:23 +0000
      Re: Travail sur gcc tTh <tth@none.invalid> - 2026-03-27 21:14 +0100
        Re: Travail sur gcc Francois LE COAT <lecoat@archimedium.fr> - 2026-03-27 21:30 +0100
          Re: Travail sur gcc OL <ol.google@lutece.net> - 2026-03-27 23:06 +0000
            Re: Travail sur gcc Arachide <houten.van@orange.fr> - 2026-03-28 11:25 +0100
              Re: Travail sur gcc Francois LE COAT <lecoat@archimedium.fr> - 2026-03-28 11:45 +0100
                Re: Travail sur gcc OL <ol.google@lutece.net> - 2026-03-28 11:32 +0000
                Re: Travail sur gcc Francois LE COAT <lecoat@archimedium.fr> - 2026-03-28 19:19 +0100
                Re: Travail sur gcc Pascal Wijsbroek <pascal.wijsbroek@gmail.com> - 2026-03-29 12:13 +0000
                Re: Travail sur gcc Pascal Wijsbroek <pascal.wijsbroek@gmail.com> - 2026-03-28 14:25 +0000
          Re: Travail sur gcc tTh <tth@none.invalid> - 2026-03-28 06:25 +0100
            Re: Travail sur gcc Francois LE COAT <lecoat@archimedium.fr> - 2026-03-28 09:00 +0100
              Re: Travail sur gcc OL <ol.google@lutece.net> - 2026-03-28 09:23 +0000
              Re: Travail sur gcc tTh <tth@none.invalid> - 2026-03-30 18:18 +0200
                Re: Travail sur gcc Francois LE COAT <lecoat@archimedium.fr> - 2026-03-30 19:40 +0200
              Re: Travail sur gcc tTh <tth@none.invalid> - 2026-03-30 18:19 +0200
          Re: Travail sur gcc Pascal Wijsbroek <pascal.wijsbroek@gmail.com> - 2026-03-28 09:24 +0000
      Re: Travail sur gcc OL <ol.google@lutece.net> - 2026-03-27 22:10 +0000
        Re: Travail sur gcc OL <ol.google@lutece.net> - 2026-03-28 09:30 +0000
      Re: Travail sur gcc OL <ol.google@lutece.net> - 2026-03-27 22:27 +0000
  Re: Travail sur gcc OL <ol.google@lutece.net> - 2026-04-10 19:43 +0000

csiph-web