------- 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

Reply via email to