[Bug middle-end/28831] [6/7/8 Regression] Aggregate copy not elided when using a return value as a pass-by-value parameter

2018-02-01 Thread aldyh at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=28831

--- Comment #32 from Aldy Hernandez  ---
errr, slightly LESS worse code

[Bug middle-end/28831] [6/7/8 Regression] Aggregate copy not elided when using a return value as a pass-by-value parameter

2018-02-01 Thread aldyh at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=28831

Aldy Hernandez  changed:

   What|Removed |Added

   Last reconfirmed|2010-01-17 13:10:45 |2018-2-1
 CC||aldyh at gcc dot gnu.org

--- Comment #31 from Aldy Hernandez  ---
Still a problem, though we now generate slightly worse code by using rep;movsl
instead of a memcpy:

movl%esp, %esi
subl$12, %esp
pushl   %esi
callf
subl$3988, %esp
movl$1000, %ecx
movl%esp, %edi
rep; movsl
callg