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). -- Jakub Bogusz http://cyber.cs.net.pl/~qboosh/ _______________________________________________________ złota zasada - kto się nie zna, niech się nie wypowiada
