------- Comment #2 from pinskia at gcc dot gnu dot org  2007-07-28 01:15 -------
fold-const.c is causing it at:
10277         /* ~X ^ X is -1.  */

The issue is that we don't fold ~vector_cst at all.

Anyways here is a reduced testcase:
typedef int __m128i __attribute__ ((__vector_size__ (16) ));

typedef __m128i v2d;

v2d rval();
v2d g;
struct A {
   v2d a;
   v2d b;
};
struct B {
   A a;
};
void foo(B);
void bar() {
   v2d l;
   A a={};
   a.a ^= ~a.b;
   a.a ^= ~(v2d) {0,0};
   B c = {a};
   foo(c);
}


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
          Component|tree-optimization           |middle-end
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2007-07-28 01:15:25
               date|                            |


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

Reply via email to