------- Comment #15 from belyshev at depni dot sinp dot msu dot ru 2006-02-21 12:45 ------- Another testcase, use "-Os -msse", fails with all versions since 3.2:
typedef float __m128 __attribute__ ((vector_size (16))); typedef int __m64 __attribute__ ((vector_size (8))); int puts (const char *s); void foo (__m128 *, __m64 *, int); int main (void) { foo (0, 0, 0); return 0; } void foo (__m128 *dst, __m64 *src, int n) { __m128 xmm0 = { 0 }; while (n > 64) { puts (""); xmm0 = __builtin_ia32_cvtpi2ps (xmm0, *src); *dst = xmm0; n --; } } -- belyshev at depni dot sinp dot msu dot ru changed: What |Removed |Added ---------------------------------------------------------------------------- Known to fail| |3.2.3 3.3.6 3.4.6 4.0.3 | |4.1.0 4.2.0 Last reconfirmed|0000-00-00 00:00:00 |2006-02-21 12:45:28 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13685