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

Subversion Repositories openrisc

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc1/] [gcc/] [testsuite/] [gcc.dg/] [tree-ssa/] [fre-vce-1.c] - Blame information for rev 298

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 298 jeremybenn
/* { dg-options "-O2 -fdump-tree-fre -w" } */
2
/* { dg-do compile } */
3
#define vector __attribute__((vector_size(sizeof(int)*4) ))
4
struct s { vector int i; };
5
vector float f(struct s *sv)
6
{
7
  sv->i = (vector int){1, 2, 3, 4};
8
  return (vector float)sv->i;
9
}
10
 
11
 
12
vector float f1(struct s *sv, vector int a)
13
{
14
  sv->i = a;
15
  return (vector float)sv->i;
16
}
17
 
18
struct s1 { int i; };
19
 
20
void g(struct s1 *, float);
21
void a1 (struct s1 sv)
22
{
23
  sv.i = 1;
24
  g(&sv, *(float*)&sv.i);
25
}
26
 
27
 
28
void a2 (struct s1 sv, int i)
29
{
30
  sv.i = i;
31
  g(&sv, *(float*)&sv.i);
32
}
33
 
34
/* { dg-final { scan-tree-dump-times "sv_\[0-9\]\\\(D\\\)->i" 2 "fre" } } */
35
/* We can't value-number *(float *)&sv.i as VIEW_CONVERT_EXPR of the
36
   value of sv.i.  */
37
/* { dg-final { scan-tree-dump-times "sv.i" 2 "fre" { xfail *-*-* } } } */
38
/* { dg-final { cleanup-tree-dump "fre" } } */

powered by: WebSVN 2.1.0

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