funkcje gcc w jądrze (__ucmpdi2 itp.)

Paweł Sikora pluto w ds14.agh.edu.pl
Wto, 11 Maj 2004, 20:20:41 CEST


On Tuesday 11 of May 2004 20:12, Jakub Bogusz wrote:
> On Tue, May 11, 2004 at 01:22:20AM +0200, Paweł Sikora wrote:
> > On Tuesday 11 of May 2004 01:12, Maciej 'Agaran' Pijanka wrote:
> > > On Tue, May 11, 2004 at 01:09:34AM +0200, Paweł Sikora wrote:
> > > > On Tuesday 11 of May 2004 00:44, Jakub Bogusz wrote:
> > > > > Eh. _ppc_, nie pentium.
> > > > > Użycie tych funkcji jest zależne od zestawu instrukcji procesora.
> > > > > Wiadomo, że CISC obsługuje bezpośrednio więcej operacji niż RISC.
> > > >
> > > > no ale bez jajow. przeciez zadnej cudownych instrukcji cisc gcc nie
> > > > uzyl. z tego co widze, to tylko prosta arytmetyka ktora risc tez
> > > > posiada.
> > >
> > > obawiam sie ze gcc uzywa sporej czesci rozkazów danego procesora
> > > inaczej kod i386 i i686 nie roznilby sie..
> >
> > przed chwila pierwszy raz zagladnalem do fragmentu listy rozkazow ppc
> > http://pds.twi.tudelft.nl/vakken/in1200/labcourse/instruction-set/
> > i widze tam rozkazy z ktorych mozna zbudowac cos podobnego do tego
> > co mi wyplul gcc340 na ix86. ztcw, to ppc ma 32 rejestry 32 bitowe
> > i chyba nawet kod bylby krotszy niz na ix86, ale glowy nie dam,
> > bo tylko toretyzuje.
>
> gcc ma jakieś dziwne nawyki co do switcha.
> Na ppc wstawia te wywołania __ucmpdi2() i nie chce tego optymalizować,
> niezależnie od -O[023] ani -finline-functions.
> Zamiana switcha na porównania (sprawdzenie równości - może przy
> nierównościach by tak nie było) likwiduje problem
> (a że to jest raptem 6 przypadków, nie ma co się bawić w wyszukiwanie
> binarne).

ja bym z tym pojechal na bugzille gcc, bo karygodne jest wolanie obcych
funkcji skoro mozna cos za pomoca dostepnej arytmetyki rozwiazac.

-- 
If you think of MS-DOS as mono, and Windows as stereo,
  then Linux is Dolby Digital and all the music is free...



Więcej informacji o liście dyskusyjnej pld-devel-pl