[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#85535: marked as done (builtin memcmp() could be optimised)



Your message dated Tue, 23 Jun 2015 07:24:48 +0000
with message-id <E1Z7IZc-0001tY-Ii@franck.debian.org>
and subject line Bug#789156: Removed package(s) from unstable
has caused the Debian Bug report #85535,
regarding builtin memcmp() could be optimised
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
85535: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=85535
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: gcc
Version: 1:2.95.2-20
Severity: wishlist

If I did a memcmp() on two 32-bit objects and used the result value as
a boolean, then memcmp() should not go to the trouble of determining the
order of those two objects.  It should simply determine whether they're
equal or not.  This can be generalised to objects of any size.

For example, the code

int main() {
	return !memcmp("abcd", "efgh", 4);
}

produces the assembly (-S -g -O2),

        movl $.LC1,%esi
        movl $.LC0,%edi
        movl $4,%ecx
        cld
        testb $0,%al
        repz
        cmpsb
        sete %al

which is a waste because it could've simply loaded the two objects into
registers and compared them.  The same is true on other architectures as
well.

I have reproduced this problem with gcc 2.95.3.

-- System Information
Debian Release: testing/unstable
Kernel Version: Linux gondor 2.2.17 #1 Mon Sep 11 22:22:16 EST 2000 i586 unknown

Versions of the packages gcc depends on:
ii  binutils       2.10.1.0.2-1   The GNU assembler, linker and binary utiliti
ii  cpp            2.95.2-20      The GNU C preprocessor.
ii  libc6          2.2.1-1        GNU C Library: Shared libraries and Timezone


--- End Message ---
--- Begin Message ---
Version: 4.7.4-3+rm

Dear submitter,

as the package gcc-4.7 has just been removed from the Debian archive
unstable we hereby close the associated bug reports.  We are sorry
that we couldn't deal with your issue properly.

For details on the removal, please see https://bugs.debian.org/789156

The version of this package that was in Debian prior to this removal
can still be found using http://snapshot.debian.org/.

This message was generated automatically; if you believe that there is
a problem with it please contact the archive administrators by mailing
ftpmaster@ftp-master.debian.org.

Debian distribution maintenance software
pp.
Luca Falavigna (the ftpmaster behind the curtain)

--- End Message ---

Reply to: