------- Comment #4 from hjl dot tools at gmail dot com  2008-03-18 02:43 -------
I don't think alias is the cause. With this patch:

--- ./ssse3-psignw.c.foo        2007-08-23 09:44:31.000000000 -0700
+++ ./ssse3-psignw.c    2008-03-17 19:40:53.000000000 -0700
@@ -9,7 +9,7 @@

 /* Test the 64-bit form */
 static void
-ssse3_test_psignw (int *i1, int *i2, int *r)
+ssse3_test_psignw (void *i1, void *i2, void *r)
 {
   __m64 t1 = *(__m64 *) i1;
   __m64 t2 = *(__m64 *) i2;
@@ -19,7 +19,7 @@ ssse3_test_psignw (int *i1, int *i2, int

 /* Test the 128-bit form */
 static void
-ssse3_test_psignw128 (int *i1, int *i2, int *r)
+ssse3_test_psignw128 (void *i1, void *i2, void *r)
 {
   /* Assumes incoming pointers are 16-byte aligned */
   __m128i t1 = *(__m128i *) i1;
@@ -29,7 +29,7 @@ ssse3_test_psignw128 (int *i1, int *i2, 

 /* Routine to manually compute the results */
 static void
-compute_correct_result (int *i1, int *i2, int *r)
+compute_correct_result (void *i1, void *i2, void *r)
 {
   short *s1 = (short *) i1;
   short *s2 = (short *) i2;

-O3 still fails.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35621

Reply via email to