http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35258
Andreas Krebbel changed:
What|Removed |Added
Status|NEW |RESOLVED
Resolution|
--- Comment #6 from krebbel at gcc dot gnu dot org 2008-02-25 15:08 ---
Subject: Bug 35258
Author: krebbel
Date: Mon Feb 25 15:07:17 2008
New Revision: 132628
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=132628
Log:
2008-02-25 Andreas Krebbel <[EMAIL PROTECTED]>
PR
--- Comment #5 from krebbel at gcc dot gnu dot org 2008-02-20 12:59 ---
The assembler code is broken. In case of an overlap mvc copies one byte at a
time and continuing with the next after the first has been written. That's how
we use mvc for memsets.
The mvcs are merged by the dead sto
--- Comment #4 from rguenth at gcc dot gnu dot org 2008-02-20 09:52 ---
Actually the asm looks correct. mvc is a memmove operation, moving 4 bytes
from string1+1 to string1+2.
--
rguenth at gcc dot gnu dot org changed:
What|Removed |Added
--- Comment #3 from rguenth at gcc dot gnu dot org 2008-02-20 09:43 ---
This would be an executable testcase:
extern void *memcpy (void *, const void *, __SIZE_TYPE__);
extern int memcmp(const void *s1, const void *s2, __SIZE_TYPE__ n);
extern void abort(void);
char string1[9] = "1234
--- Comment #2 from pinskia at gcc dot gnu dot org 2008-02-20 02:08 ---
Hmm, &temp refers to the pointer to the array.
What happens if you use temp instead of &temp?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35258
--- Comment #1 from janis at gcc dot gnu dot org 2008-02-20 02:02 ---
Created an attachment (id=15185)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15185&action=view)
test case
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35258