Sign in Join
Wiki copytemporary

The code generator/fr

English · Français

Retour au contenu FPC internals

Avec la version 1.9.x de FPC, le générateur de code a été complétement réécrit pour aboutir à un compilateur ciblant plusieurs processeurs.

Support MM

Le générateur de code FPC prend en charge l'usage des registres multi-média tels qu'ils sont implémentés dans les processeurs modernes.

L'opérande de mélange (shuffle operand)

La plupart des unités prennent en charge aussi bien les opérations scalaires que vectorielles sur les registres multimédia. Pour distinguer ces différentes opérations, les méthodes MM de tcg prennent un soit-disant paramètre de mélange (shuffle parameter). Ce paramètre permet de spécifier comment les données sont traitées lors de la génération du code multi-média.

pascal
  pmmshuffle = ^tmmshuffle;  
  { this record describes shuffle operations for mm operations; if a pointer a shuffle record
    passed to an mm operation is nil, it means that the whole location is moved }
  tmmshuffle = record
    { describes how many shuffles are actually described, if len=0 then
      moving the scalar with index 0 to the scalar with index 0 is meant }
    len : byte;
    { lower nibble of each entry of this array describes index of the source data index while
      the upper nibble describes the destination index }
    shuffles : array[1..1] of byte;
  end;

Prochain chapitre: Cible CPU


From the Free Pascal wiki, page "The code generator/fr", as it stood on 2021-01-02 after a change by E-ric, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Revision 1, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.