On Tue, Apr 25, 2023 at 06:01:22PM +0200, Andy via Gcc wrote: > I see it in godbolt > GCC compiles to: > movsx eax, BYTE PTR [rdi+2] > cmp al, 9 > ja .L42 > Clang: > movzx edx, byte ptr [rdi + 2] > cmp edx, 9 > ja .LBB0_40 > > > GCC extend with sign, Clang with zero. > cmp with 32 bit register is apparently faster than 8bit
What happens if you compile with -funsigned-char? There may be also some alignment issue, after all cmp al,9 is 2 bytes while cmp edx,9 is 6. Gabriel > > pon., 24 kwi 2023 o 17:34 Basile Starynkevitch > <bas...@starynkevitch.net> napisaĆ(a): > > > > Hello all, > > > > > > Consider the naive program (GPLv3+) to solve the cryptaddition > > > > `NEUF` + `DEUX` = `ONZE` > > > > onhttps://github.com/bstarynk/misc-basile/blob/master/CryptArithm/neuf%2Bdeux%3Donze/naive0.c > > (commit0d1bd0e > > <https://urldefense.com/v3/__https://github.com/bstarynk/misc-basile/commit/0d1bd0ea8e2708036fcf126cc1f096be888360ab__;!!D9dNQwwGXtA!TTyEodY6pBOA7p844eEtBYxzayqn8ZjEYjc-4GVTZaYJTYVSspXkfjZTE1oDYSJzVhSTOYPQbo8$ > > >) > > > > > > On Linux/x86-64 that source code compiled with gcc-12 -O3 is twice as > > slower as with clang -O3 > > > > (Debian/Sid or Ubuntu/22/10) > > > > Feel free to add it to some testsuite! > > > > > > Thanks > > > > > > -- > > Basile Starynkevitch<bas...@starynkevitch.net> > > (only mine opinions / les opinions sont miennes uniquement) > > 92340 Bourg-la-Reine, France > > web page: starynkevitch.net/Basile/ & refpersys.org