#define vector __attribute__((vector_size(16) ))
commit0f510c9a06acc854f80a606f34c8f2b6bc8ef237
authorpinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 31 Aug 2008 02:40:13 +0000 (31 02:40 +0000)
committerpinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 31 Aug 2008 02:40:13 +0000 (31 02:40 +0000)
treec26fb67132b81ba83d6eaed246bea9658b7cfd2a
parent7f9dd8e2feacc52268e8b4bb828aed307adbc68b
#define vector __attribute__((vector_size(16) ))
struct struct1  {
  union { float a[3]; }    vmx;
  struct struct2   {
    struct2(const struct2& r) {}
  } w;
} __attribute__((aligned(16)));
struct struct3  {
  vector float vmx;
  operator const struct1& () const{
    return *reinterpret_cast<const struct1*>(this);
  }
};
struct3 func3( struct3 V1);
struct3 func2( void );
void func1( )  {
  struct1 vVec = func2() ;
  func3 ( (struct3&)vVec );
}

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@139820 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/expmed.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/torture/pr36444.C [new file with mode: 0644]
gcc/testsuite/gcc.c-torture/compile/vector-4.c [new file with mode: 0644]