On Fri, Oct 10, 2014 at 7:29 PM, Ilya Enkovich <enkovich....@gmail.com> wrote: > 2014-10-10 21:10 GMT+04:00 Uros Bizjak <ubiz...@gmail.com>: >> On Wed, Oct 1, 2014 at 8:57 PM, Vladimir Makarov <vmaka...@redhat.com> wrote: >> >>> The problem is in code introduced by Bernd in IRA and caller-saves.c in >>> 2012. It is basically an optimization for functions returning always the >>> same result as one argument (e.g. memcpy returning 1st argument). >>> >>> There are two possible solutions. First one is to prohibit the >>> optimizations when there is a parallel in SET. Second one is to go deeper >>> if the call result is guaranteed in the first element which is true for the >>> patch. >> >> I suspect that the first solution will regress >> gcc.target/i386/retarg.c on i686 - that testcase test if referred >> optimization is effective. All things equal, I think we should go with >> the second solution. > > The first solutions is in trunk since October 3 > (https://gcc.gnu.org/ml/gcc-cvs/2014-10/msg00094.html) and I don't see > such fail. Patch actually just checks for a case which never occurs > right now and therefore should be quite safe.
True, but after MPX patches are committed, PARALLELs will be passed as call targets. I wonder if the testcase fails then. Uros.