[Bug target/59405] Incorrect FP<->MMX transition during call/ret

2013-12-08 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59405 Uroš Bizjak changed: What|Removed |Added Target Milestone|4.7.4 |4.8.3 --- Comment #12 from Uroš Bizjak ---

[Bug target/59405] Incorrect FP<->MMX transition during call/ret

2013-12-08 Thread uros at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59405 --- Comment #11 from uros at gcc dot gnu.org --- Author: uros Date: Sun Dec 8 14:20:42 2013 New Revision: 205790 URL: http://gcc.gnu.org/viewcvs?rev=205790&root=gcc&view=rev Log: Backport from mainline 2013-12-06 Uros Bizjak PR ta

[Bug target/59405] Incorrect FP<->MMX transition during call/ret

2013-12-06 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59405 Uroš Bizjak changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|---

[Bug target/59405] Incorrect FP<->MMX transition during call/ret

2013-12-06 Thread uros at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59405 --- Comment #9 from uros at gcc dot gnu.org --- Author: uros Date: Fri Dec 6 17:16:52 2013 New Revision: 205753 URL: http://gcc.gnu.org/viewcvs?rev=205753&root=gcc&view=rev Log: PR target/59405 * config/i386/i386.c (type_natural_mode): Pr

[Bug target/59405] Incorrect FP<->MMX transition during call/ret

2013-12-06 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59405 --- Comment #8 from Uroš Bizjak --- (In reply to Yukhin Kirill from comment #5) > I see. So, it seems like a limitation to passing vectors as arguments in > 32-bit mode. We may implement something similar to `vzerroupper' > autogeneration or simpl

[Bug target/59405] Incorrect FP<->MMX transition during call/ret

2013-12-06 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59405 --- Comment #7 from Uroš Bizjak --- (In reply to H.J. Lu from comment #6) > I think this is a dup of PR48397. No, this one happens due to missing interdependencies between x87 and MMX registers. We could make all MMX instructions dependant on st(

[Bug target/59405] Incorrect FP<->MMX transition during call/ret

2013-12-06 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59405 --- Comment #6 from H.J. Lu --- I think this is a dup of PR48397.

[Bug target/59405] Incorrect FP<->MMX transition during call/ret

2013-12-06 Thread kirill.yukhin at intel dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59405 --- Comment #5 from Yukhin Kirill --- I see. So, it seems like a limitation to passing vectors as arguments in 32-bit mode. We may implement something similar to `vzerroupper' autogeneration or simply close the bug as `user misunderstanding.'

[Bug target/59405] Incorrect FP<->MMX transition during call/ret

2013-12-06 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59405 --- Comment #4 from Uroš Bizjak --- (In reply to Yukhin Kirill from comment #3) > (In reply to Uroš Bizjak from comment #1) > > There is no testcase attached, but you need to *manually* insert _mm_empty > > (== emms) to switch from MMX to x87 stat

[Bug target/59405] Incorrect FP<->MMX transition during call/ret

2013-12-06 Thread kirill.yukhin at intel dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59405 --- Comment #3 from Yukhin Kirill --- (In reply to Uroš Bizjak from comment #1) > There is no testcase attached, but you need to *manually* insert _mm_empty > (== emms) to switch from MMX to x87 state. > > The compiler does not automatically inse

[Bug target/59405] Incorrect FP<->MMX transition during call/ret

2013-12-06 Thread kirill.yukhin at intel dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59405 --- Comment #2 from Yukhin Kirill --- Created attachment 31389 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=31389&action=edit Testcase

[Bug target/59405] Incorrect FP<->MMX transition during call/ret

2013-12-06 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59405 --- Comment #1 from Uroš Bizjak --- There is no testcase attached, but you need to *manually* insert _mm_empty (== emms) to switch from MMX to x87 state. The compiler does not automatically insert emms for you.