Commit e8f97b70 by Andrew Pinski Committed by Andrew Pinski

re PR middle-end/36445 (ICE in expand_expr_real_1 with -O1 with vector registers)

2008-09-03  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR middle-end/36445
        * g++.dg/torture/pr36445.C: New test.

From-SVN: r139947
parent c0ab1df3
2008-09-03 Andrew Pinski <andrew_pinski@playstation.sony.com> 2008-09-03 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR middle-end/36445
* g++.dg/torture/pr36445.C: New test.
2008-09-03 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR middle-end/37293 PR middle-end/37293
* g++.dg/torture/ipa-cp-1.C: New test. * g++.dg/torture/ipa-cp-1.C: New test.
......
/* { dg-do compile } */
// This used to fail as we would try to expand a VCE where one side had
// a mode of BLKmode and the other side was a vector mode.
#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 );
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment