This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/12083] New: [IMPROVEMENT PROPOSITION] To have builtin function comparing memory backwards
- From: "yuri at tsoft dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 27 Aug 2003 20:44:26 -0000
- Subject: [Bug c/12083] New: [IMPROVEMENT PROPOSITION] To have builtin function comparing memory backwards
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12083
Summary: [IMPROVEMENT PROPOSITION] To have builtin function
comparing memory backwards
Product: gcc
Version: 3.3
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: yuri at tsoft dot com
CC: gcc-bugs at gcc dot gnu dot org
Right now if code has function "memcmp" compiler will inline/optimize it into
"cld; repz cmpsb" - type of code inassembly on i386.
But if the problem is to compare backwards, assembly still can do it efficiently
just replacing cld with std and moving pointers to the end of block.
But from C this efficiency is unavailable.
I propose to add GCC-extention: add builtin function "gcc_rmemcmp" which
will compare memory in reverse direction.
Yuri (yuri at tsoft dot com).
PS: I will try to work on such patch myself once I have time.