IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

GCC PowerPC option optimisation


Sujet :

C

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2012
    Messages : 4
    Points : 5
    Points
    5
    Par défaut GCC PowerPC option optimisation
    Bonjour,

    J'utilise le compilateur croisé gcc 6.3 sur cible MPC5566

    Je souhaite affiner mes options d'optimisation afin de conserver les ruptures de séquence (comparaisons puis branches) sur chaque condition dans une décision.

    Nous utilisons les options -c -mcpu=8540 -Og -I. -Wa,-adhln.

    le code exemple est le suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
       if (a != 0 || b != 0 || c != 0 || d != 0) { 
            d -= 1;                                  
        }
        else {
            d += 1;                                 
        }
    le code généré
        7 0000 7CA53378              or 5,5,6
        8 0004 7CA52378              or 5,5,4
        9 0008 3886FFFF              addi 4,6,-1
       10 000c 39260001              addi 9,6,1
       11 0010 7CAA1B79              or. 10,5,3
       12 0014 7D29209E              isel 9,9,4,2
       13 0018 5523083C              slwi 3,9,1
       14 001c 7C634A14              add 3,3,9
       15 0020 4E800020              blr
    Je dois réussir à trouver l'option qui combinée à -Og permet de générer des ruptures de séquence sur les tests de a, b, c et d comme le fait le compilateur avec l'option -O0

      14 001c 813F0008              lwz 9,8(31)
      15 0020 2F890000              cmpwi 7,9,0
      16 0024 409E0028              bne 7,.L2
      17 0028 813F000C              lwz 9,12(31)
      18 002c 2F890000              cmpwi 7,9,0
      19 0030 409E001C              bne 7,.L2
      20 0034 813F0010              lwz 9,16(31)
      21 0038 2F890000              cmpwi 7,9,0
      22 003c 409E0010              bne 7,.L2
      23 0040 813F0014              lwz 9,20(31)
      24 0044 2F890000              cmpwi 7,9,0
      25 0048 419E0014              beq 7,.L3
      26                    .L2:
    Note: J'ai essayé de remplacer l'option -Og par l'ensemble des options équivalent défini dans la documentation: le code généré est différent ce qui m'empêche de faire une analyse précise.

    Merci de votre aide

  2. #2
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Hello

    Je n'ai pas la réponse magique à ta question, mais je pose une question : peux-tu nous montrer l'intégralité de la fonction que tu déssassembles ? Selon qu'il se passe au-dessus du code que tu montres, il est peut-être normal que le compilateur optimise.

    Par curiosité, à quoi cela va te servir de "conserver les ruptures de séquence" ?

Discussions similaires

  1. option optimisation win 7 x64
    Par ouiouioui dans le forum Débuter
    Réponses: 17
    Dernier message: 05/07/2011, 13h00
  2. Réponses: 6
    Dernier message: 25/06/2011, 00h12
  3. [GCC]PowerPC: probleme de comparaison signée
    Par progfou dans le forum C
    Réponses: 3
    Dernier message: 13/02/2009, 18h18
  4. Réponses: 2
    Dernier message: 27/02/2004, 13h47
  5. [JVM][OPTIONS][OPTIMISATION]pc dédié à Java
    Par narmataru dans le forum Général Java
    Réponses: 7
    Dernier message: 16/04/2003, 17h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo