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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gcc.target/] [i386/] [pr46880.c] - Blame information for rev 691

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 691 jeremybenn
/* PR target/46880 */
2
/* { dg-do run } */
3
/* { dg-options "-O2 -fno-strict-aliasing -msse2" } */
4
/* { dg-require-effective-target sse2_runtime } */
5
 
6
typedef double __m128d __attribute__ ((__vector_size__ (16), __may_alias__));
7
typedef double (*T)[2];
8
 
9
static __attribute__ ((noinline, noclone)) __m128d
10
foo (__m128d c, __m128d d)
11
{
12
  T cp = (T) &c;
13
  T dp = (T) &d;
14
  __m128d e = { (*cp)[1], (*dp)[1] };
15
  return e;
16
}
17
 
18
int
19
main ()
20
{
21
  __m128d c = { 1.0, 2.0 };
22
  __m128d d = { 3.0, 4.0 };
23
  union { __m128d x; double d[2]; } u;
24
  u.x = foo (c, d);
25
  if (u.d[0] != 2.0 || u.d[1] != 4.0)
26
    __builtin_abort ();
27
  return 0;
28
}

powered by: WebSVN 2.1.0

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