public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Gabriel Paubert <paubert@iram.es>
To: Andy <borucki.andrzej@gmail.com>
Cc: Basile Starynkevitch <basile@starynkevitch.net>, gcc@gcc.gnu.org
Subject: Re: a small C (naive) program faster with clang than with gcc
Date: Wed, 26 Apr 2023 08:45:33 +0200	[thread overview]
Message-ID: <ZEjIjeJjToWfrg/0@lt-gp.iram.es> (raw)
In-Reply-To: <CAE2KeALoesct+OmbCWpawZ7cLSWW-QTByeqbzGH6+QpRg+LkWQ@mail.gmail.com>

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
> <basile@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<basile@starynkevitch.net>
> > (only mine opinions / les opinions sont miennes uniquement)
> > 92340 Bourg-la-Reine, France
> > web page: starynkevitch.net/Basile/ & refpersys.org



      parent reply	other threads:[~2023-04-26  6:45 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-24 15:33 Basile Starynkevitch
2023-04-25 16:01 ` Andy
2023-04-26  2:45   ` LIU Hao
2023-04-26  6:45   ` Gabriel Paubert [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZEjIjeJjToWfrg/0@lt-gp.iram.es \
    --to=paubert@iram.es \
    --cc=basile@starynkevitch.net \
    --cc=borucki.andrzej@gmail.com \
    --cc=gcc@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).