From: Florian Weimer via Libc-alpha <libc-alpha@sourceware.org>
To: Zack Weinberg via Libc-alpha <libc-alpha@sourceware.org>
Cc: Zack Weinberg <zack@owlfolio.org>
Subject: Re: Re: [PATCH 1/5] x86_64: Add support for bcmp using sse2, sse 4_1, avx2, and evex
Date: Wed, 15 Sep 2021 16:01:46 +0200 [thread overview]
Message-ID: <87mtoerl85.fsf@oldenburg.str.redhat.com> (raw)
In-Reply-To: <02afac02-47a5-43a5-8437-79fdbbea62aa@www.fastmail.com> (Zack Weinberg via Libc-alpha's message of "Wed, 15 Sep 2021 09:37:23 -0400")
* Zack Weinberg via Libc-alpha:
> On Tue, Sep 14, 2021, at 8:00 PM, Joseph Myers wrote:
>> bcmp is an obsolescent function that no modern programs should be using,
>> and it's not in the implementation namespace either so compilers shouldn't
>> translate memcmp calls to bcmp.
>
> I want to add that glibc has made bcmp an alias for memcmp for many
> years, which means that Linux- or Hurd-specific programs that are
> still using bcmp may have come to depend on its return value
> indicating ordering rather than just equality. I myself had been
> under the impression that they were *specified* exactly the same,
> until this thread prompted me to double-check the specifications. As
> such I don't think it's safe for *glibc* to accept patches that
> optimize bcmp separately from memcmp.
That's a very good point.
> I do rather like the idea of a __gnu_memeq() that compilers could
> optimize memcmp calls to, when they can prove that the result is used
> only for its truth value.
Yes, we should use a name in the implementation namespace because even
if we pick an obvious like memequal, it will probably come back under a
different name from the C committee.
Thanks,
Florian
next prev parent reply other threads:[~2021-09-15 14:02 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-13 23:05 [PATCH 1/5] x86_64: Add support for bcmp using sse2, sse4_1, avx2, and evex Noah Goldstein via Libc-alpha
2021-09-13 23:05 ` [PATCH 2/5] x86_64: Add sse2 optimized bcmp implementation in memcmp.S Noah Goldstein via Libc-alpha
2021-09-13 23:05 ` [PATCH 3/5] x86_64: Add sse4_1 optimized bcmp implementation in memcmp-sse4.S Noah Goldstein via Libc-alpha
2021-09-13 23:05 ` [PATCH 4/5] x86_64: Add avx2 optimized bcmp implementation in bcmp-avx2.S Noah Goldstein via Libc-alpha
2021-09-13 23:05 ` [PATCH 5/5] x86_64: Add evex optimized bcmp implementation in bcmp-evex.S Noah Goldstein via Libc-alpha
2021-09-14 1:18 ` Carlos O'Donell via Libc-alpha
2021-09-14 2:05 ` Noah Goldstein via Libc-alpha
2021-09-14 2:35 ` Carlos O'Donell via Libc-alpha
2021-09-14 2:55 ` DJ Delorie via Libc-alpha
2021-09-14 3:24 ` Noah Goldstein via Libc-alpha
2021-09-14 3:40 ` Noah Goldstein via Libc-alpha
2021-09-14 4:21 ` DJ Delorie via Libc-alpha
2021-09-14 5:29 ` Noah Goldstein via Libc-alpha
2021-09-14 5:42 ` DJ Delorie via Libc-alpha
2021-09-14 5:55 ` Noah Goldstein via Libc-alpha
2021-09-13 23:22 ` [PATCH 1/5] x86_64: Add support for bcmp using sse2, sse4_1, avx2, and evex Noah Goldstein via Libc-alpha
2021-09-14 6:30 ` [PATCH v2 " Noah Goldstein via Libc-alpha
2021-09-14 6:30 ` [PATCH v2 2/5] x86_64: Add sse2 optimized bcmp implementation in memcmp.S Noah Goldstein via Libc-alpha
2021-09-14 6:30 ` [PATCH v2 3/5] x86_64: Add sse4_1 optimized bcmp implementation in memcmp-sse4.S Noah Goldstein via Libc-alpha
2021-09-14 6:30 ` [PATCH v2 4/5] x86_64: Add avx2 optimized bcmp implementation in bcmp-avx2.S Noah Goldstein via Libc-alpha
2021-09-14 6:30 ` [PATCH v2 5/5] x86_64: Add evex optimized bcmp implementation in bcmp-evex.S Noah Goldstein via Libc-alpha
2021-09-14 14:40 ` [PATCH v2 1/5] x86_64: Add support for bcmp using sse2, sse4_1, avx2, and evex H.J. Lu via Libc-alpha
2021-09-14 19:23 ` Noah Goldstein via Libc-alpha
2021-09-14 20:30 ` Florian Weimer via Libc-alpha
2021-09-15 0:00 ` [PATCH " Joseph Myers
2021-09-15 13:37 ` Zack Weinberg via Libc-alpha
2021-09-15 14:01 ` Florian Weimer via Libc-alpha [this message]
2021-09-15 18:06 ` Re: [PATCH 1/5] x86_64: Add support for bcmp using sse2, sse 4_1, " Noah Goldstein via Libc-alpha
2021-09-15 18:30 ` Joseph Myers
2021-09-27 1:35 ` Noah Goldstein via Libc-alpha
2021-09-27 7:29 ` Florian Weimer via Libc-alpha
2021-09-27 16:49 ` Noah Goldstein via Libc-alpha
2021-09-27 16:54 ` Florian Weimer via Libc-alpha
2021-09-27 17:54 ` Noah Goldstein via Libc-alpha
2021-09-27 17:56 ` Florian Weimer via Libc-alpha
2021-09-27 18:05 ` Noah Goldstein via Libc-alpha
2021-09-27 18:10 ` Florian Weimer via Libc-alpha
2021-09-27 18:15 ` Noah Goldstein via Libc-alpha
2021-09-27 18:22 ` Florian Weimer via Libc-alpha
2021-09-27 18:34 ` Noah Goldstein via Libc-alpha
2021-09-27 18:56 ` Florian Weimer via Libc-alpha
2021-09-27 19:20 ` Noah Goldstein via Libc-alpha
2021-09-27 19:34 ` Florian Weimer via Libc-alpha
2021-09-27 19:43 ` Noah Goldstein via Libc-alpha
2021-09-27 19:59 ` Florian Weimer via Libc-alpha
2021-09-27 20:22 ` Noah Goldstein via Libc-alpha
2021-09-27 20:24 ` Florian Weimer via Libc-alpha
2021-09-27 20:38 ` Noah Goldstein via Libc-alpha
2021-09-28 0:07 ` Noah Goldstein via Libc-alpha
2021-09-27 17:42 ` Joseph Myers
2021-09-27 17:48 ` Noah Goldstein via Libc-alpha
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
List information: https://www.gnu.org/software/libc/involved.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87mtoerl85.fsf@oldenburg.str.redhat.com \
--to=libc-alpha@sourceware.org \
--cc=fweimer@redhat.com \
--cc=zack@owlfolio.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).