------- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-04 16:05 ------- The code does not do what you want it to do: You want: #include <xmmintrin.h>
extern "C" double fadd(double a, double b) { __m128d a1; __m128d b1; __m128d c; double res; a1 = _mm_loadl_pd(a1, &a); b1 =_mm_loadl_pd(b1, &b); c = _mm_add_sd(a1, b1); _mm_storel_pd(&res, c); return res; } But the ICE is a regression from 3.3 so confirming on that -- What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed| |1 Keywords|ssemmx, wrong-code | Last reconfirmed|0000-00-00 00:00:00 |2005-07-04 16:05:07 date| | Summary|ICE and wrong code gen with |[3.4 Regression] ICE with |_mm_loadl_pd/__builtin_ia32_|_mm_loadl_pd/__builtin_ia32_ |loadlpd |loadlpd Target Milestone|--- |3.4.5 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22292