------- Comment #3 from rguenth at gcc dot gnu dot org  2009-08-12 18:54 -------
We used to get

  memcpy (&c, &"12345678"[2], 6); [tail call]
  memcpy (&c, "123456", 6); [tail call]

for expansion, but now we get

  D.2386_1 = (const void * restrict) "123456";
  c.1_2 = (void * restrict) &c;
  memcpy (c.1_2, D.2386_1, 6); [tail call]

and

  D.2383_1 = (const void * restrict) "12345678";
  D.2384_2 = D.2383_1 + 2;
  c.0_3 = (void * restrict) &c;
  memcpy (c.0_3, D.2384_2, 6); [tail call]

it's probably me that caused this - will have a look and add a target
independent testcase.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |rguenth at gcc dot gnu dot
                   |dot org                     |org
             Status|UNCONFIRMED                 |ASSIGNED
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2009-08-12 18:54:55
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41047

Reply via email to