OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [g++.dg/] [torture/] [pr36445.C] - Blame information for rev 693

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 693 jeremybenn
/* { dg-do compile } */
2
/* { dg-options "-msse" { target { i?86-*-* x86_64-*-* } } } */
3
// This used to fail as we would try to expand a VCE where one side had
4
// a mode of BLKmode and the other side was a vector mode.
5
#define vector __attribute__((vector_size(16) ))
6
struct struct1  {
7
  union { float a[3]; }    vmx;
8
  struct struct2   {
9
    struct2(const struct2& r) {}
10
  } w;
11
} __attribute__((aligned(16)));
12
struct struct3  {
13
  vector float vmx;
14
  operator const struct1& () const{
15
    return *reinterpret_cast(this);
16
  }
17
};
18
struct3 func3( struct3 V1);
19
struct3 func2( void );
20
void func1( )  {
21
  struct1 vVec = func2() ;
22
  func3 ( (struct3&)vVec );
23
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.