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.target/] [mips/] [fixed-vector-type.c] - Blame information for rev 338

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 321 jeremybenn
/* Test vector fixed-point instructions */
2
/* { dg-do compile { target { fixed_point } } } */
3
/* { dg-options "-mdspr2 -O2" } */
4
/* { dg-final { scan-assembler-times "\taddq_s.ph\t" 2 } } */
5
/* { dg-final { scan-assembler-times "\tsubq_s.ph\t" 2 } } */
6
/* { dg-final { scan-assembler-times "\taddu_s.qb\t" 1 } } */
7
/* { dg-final { scan-assembler-times "\taddu_s.ph\t" 2 } } */
8
/* { dg-final { scan-assembler-times "\tsubu_s.qb\t" 1 } } */
9
/* { dg-final { scan-assembler-times "\tsubu_s.ph\t" 2 } } */
10
/* { dg-final { scan-assembler-times "\tmulq_rs.ph\t" 1 } } */
11
 
12
typedef _Sat unsigned short _Fract sat_v4uqq __attribute__ ((vector_size(4)));
13
typedef _Sat unsigned _Fract sat_v2uhq __attribute__ ((vector_size(4)));
14
typedef _Sat unsigned short _Accum sat_v2uha __attribute__ ((vector_size(4)));
15
typedef _Sat _Fract sat_v2hq __attribute__ ((vector_size(4)));
16
typedef _Sat short _Accum sat_v2ha __attribute__ ((vector_size(4)));
17
 
18
typedef unsigned short _Fract v4uqq __attribute__ ((vector_size(4)));
19
typedef unsigned _Fract v2uhq __attribute__ ((vector_size(4)));
20
typedef unsigned short _Accum v2uha __attribute__ ((vector_size(4)));
21
typedef _Fract v2hq __attribute__ ((vector_size(4)));
22
typedef short _Accum v2ha __attribute__ ((vector_size(4)));
23
 
24
NOMIPS16 sat_v2hq test1 (sat_v2hq a, sat_v2hq b)
25
{
26
  return a + b;
27
}
28
 
29
NOMIPS16 sat_v2ha test2 (sat_v2ha a, sat_v2ha b)
30
{
31
  return a + b;
32
}
33
 
34
NOMIPS16 sat_v2hq test3 (sat_v2hq a, sat_v2hq b)
35
{
36
  return a - b;
37
}
38
 
39
NOMIPS16 sat_v2ha test4 (sat_v2ha a, sat_v2ha b)
40
{
41
  return a - b;
42
}
43
 
44
NOMIPS16 sat_v4uqq test5 (sat_v4uqq a, sat_v4uqq b)
45
{
46
  return a + b;
47
}
48
 
49
NOMIPS16 sat_v2uhq test6 (sat_v2uhq a, sat_v2uhq b)
50
{
51
  return a + b;
52
}
53
 
54
NOMIPS16 sat_v2uha test7 (sat_v2uha a, sat_v2uha b)
55
{
56
  return a + b;
57
}
58
 
59
NOMIPS16 sat_v4uqq test8 (sat_v4uqq a, sat_v4uqq b)
60
{
61
  return a - b;
62
}
63
 
64
NOMIPS16 sat_v2uhq test9 (sat_v2uhq a, sat_v2uhq b)
65
{
66
  return a - b;
67
}
68
 
69
NOMIPS16 sat_v2uha test10 (sat_v2uha a, sat_v2uha b)
70
{
71
  return a - b;
72
}
73
 
74
NOMIPS16 sat_v2hq test11 (sat_v2hq a, sat_v2hq b)
75
{
76
  return a * b;
77
}
78
 
79
NOMIPS16 v2hq test12 (v2hq a, v2hq b)
80
{
81
  return a + b;
82
}
83
 
84
NOMIPS16 v2hq test13 (v2hq a, v2hq b)
85
{
86
  return a - b;
87
}
88
 
89
NOMIPS16 v2hq test14 (v2hq a, v2hq b)
90
{
91
  return a * b;
92
}
93
 
94
NOMIPS16 v2ha test15 (v2ha a, v2ha b)
95
{
96
  return a + b;
97
}
98
 
99
NOMIPS16 v2ha test16 (v2ha a, v2ha b)
100
{
101
  return a - b;
102
}
103
 
104
NOMIPS16 v4uqq test17 (v4uqq a, v4uqq b)
105
{
106
  return a + b;
107
}
108
 
109
NOMIPS16 v4uqq test18 (v4uqq a, v4uqq b)
110
{
111
  return a - b;
112
}
113
 
114
NOMIPS16 v2uhq test19 (v2uhq a, v2uhq b)
115
{
116
  return a + b;
117
}
118
 
119
NOMIPS16 v2uhq test20 (v2uhq a, v2uhq b)
120
{
121
  return a - b;
122
}
123
 
124
NOMIPS16 v2uha test21 (v2uha a, v2uha b)
125
{
126
  return a + b;
127
}
128
 
129
NOMIPS16 v2uha test22 (v2uha a, v2uha b)
130
{
131
  return a - b;
132
}

powered by: WebSVN 2.1.0

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