This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/19680] sub-optimial register allocation with sse
- From: "tbptbp at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 31 Jan 2005 20:35:19 -0000
- Subject: [Bug rtl-optimization/19680] sub-optimial register allocation with sse
- References: <20050128233416.19680.tbptbp@gmail.com>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From tbptbp at gmail dot com 2005-01-31 20:35 -------
Hmm, there's something fishy with _mm_set1_epi32.
With your patches there's no stack copy anymore but, with
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19714 testcase, i get:
00401080 <eliminated(int)>:
401080: 66 0f 6e 4c 24 04 movd 0x4(%esp),%xmm1
401086: 66 0f 70 c1 00 pshufd $0x0,%xmm1,%xmm0
40108b: c3 ret
00401090 <not_eliminated(int const*)>:
401090: 8b 44 24 04 mov 0x4(%esp),%eax
401094: 66 0f 6e 08 movd (%eax),%xmm1
401098: 66 0f 70 c1 00 pshufd $0x0,%xmm1,%xmm0
40109d: c3 ret
00401050 <not_eliminated_bis(int const&)>:
401050: 8b 44 24 04 mov 0x4(%esp),%eax
401054: 66 0f 6e 08 movd (%eax),%xmm1
401058: 66 0f 70 c1 00 pshufd $0x0,%xmm1,%xmm0
40105d: c3 ret
... and that's quite bogus :)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19680