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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [gcc/] [testsuite/] [g++.dg/] [eh/] [simd-2.C] - Blame information for rev 816

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 149 jeremybenn
// Test EH when V4SI SIMD registers are involved.
2
// Contributed by Aldy Hernandez (aldy@quesejoda.com).
3
// { dg-options "-O" }
4
// { dg-options "-O -w" { target { { i?86-*-* x86_64-*-* } && ilp32 } } }
5
// { dg-options "-O -w" { target powerpc*-*-* } }
6
// { dg-options "-O -w -maltivec" { target { powerpc*-*-linux* && powerpc_altivec_ok } } }
7
// { dg-options "-O -w -maltivec" { target { powerpc*-*-darwin* && powerpc_altivec_ok } } }
8
// { dg-xfail-if "" { "powerpc-*-eabispe*" "powerpc-ibm-aix*" } { "*" } { "" } }
9
// { dg-do run }
10
 
11
#include "check-vect.h"
12
 
13
typedef int __attribute__((vector_size (16))) vecint;
14
 
15
vecint vecfunc (vecint beachbum)
16
{
17
  return beachbum;
18
}
19
 
20
void f3 (void)
21
{
22
  vecint foobar = (vecint) {0, 0};
23
  foobar = vecfunc (foobar);
24
 
25
  throw int();
26
}
27
 
28
void f2 (void)
29
{
30
  vecint foobar = (vecint) {0, 0};
31
  foobar = vecfunc (foobar);
32
 
33
  f3 ();
34
}
35
 
36
void f1 (void)
37
{
38
  int i;
39
  try
40
    {
41
      f2 ();
42
    }
43
  catch (int)
44
    {
45
      i = 9;
46
    }
47
}
48
 
49
int main ()
50
{
51
  /* Exit with zero if the hardware does not support AltiVec instructions.  */
52
  check_vect ();
53
  f1 ();
54
  return 0;
55
}

powered by: WebSVN 2.1.0

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