On Sun, Dec 01, 2019 at  03:43:37PM +0100, Jan Hubicka wrote:
> >     PR target/92549
> >     * config/i386/i386.md (peephole2 for *swap<mode>): New peephole2.
> > 
> >     * gcc.target/i386/pr92549.c: New test.
> 
> It is very hard to get a testcase, unforutnately, but I got the
> following (locally non-reproducible) failure while building firefox with
> LTO+FDO:
> 
> [task 2019-12-01T14:38:04.166Z] 14:38:04     INFO -   1080 | }
> [task 2019-12-01T14:38:04.166Z] 14:38:04     INFO -        |
> [task 2019-12-01T14:38:04.166Z] 14:38:04     INFO -  (insn 5555 1389 1390 41 
> (parallel [
> [task 2019-12-01T14:38:04.166Z] 14:38:04     INFO -              (set (reg:SI 
> 24 xmm4 [orig:187 SR.3778 ] [187])
> [task 2019-12-01T14:38:04.166Z] 14:38:04     INFO - (reg:SI 23 xmm3 [orig:104 
> SR.3780 ] [104]))
> [task 2019-12-01T14:38:04.166Z] 14:38:04     INFO -              (set (reg:SI 
> 23 xmm3 [orig:104 SR.3780 ] [104])
> [task 2019-12-01T14:38:04.166Z] 14:38:04     INFO - (reg:SI 24 xmm4 [orig:187 
> SR.3778 ] [187]))
> [task 2019-12-01T14:38:04.166Z] 14:38:04     INFO -          ])
> "/builds/worker/workspace/build/src/obj-firefox/dist/include/mozilla/WritingModes.h":1117:0
> 78 {*swapsi}
> [task 2019-12-01T14:38:04.167Z] 14:38:04     INFO -       (nil))
> [task 2019-12-01T14:38:04.167Z] 14:38:04     INFO -  during RTL pass: rnreg
> 
> I guess the problem is that there is no xchange in SSE instruction set,
> so peephle needs to be more restrictive?

I'll have a look tomorrow.

        Jakub

Reply via email to