1*59203274STaylor Simpson /*
2*59203274STaylor Simpson  *  Copyright(c) 2019-2021 Qualcomm Innovation Center, Inc. All Rights Reserved.
3*59203274STaylor Simpson  *
4*59203274STaylor Simpson  *  This program is free software; you can redistribute it and/or modify
5*59203274STaylor Simpson  *  it under the terms of the GNU General Public License as published by
6*59203274STaylor Simpson  *  the Free Software Foundation; either version 2 of the License, or
7*59203274STaylor Simpson  *  (at your option) any later version.
8*59203274STaylor Simpson  *
9*59203274STaylor Simpson  *  This program is distributed in the hope that it will be useful,
10*59203274STaylor Simpson  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
11*59203274STaylor Simpson  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12*59203274STaylor Simpson  *  GNU General Public License for more details.
13*59203274STaylor Simpson  *
14*59203274STaylor Simpson  *  You should have received a copy of the GNU General Public License
15*59203274STaylor Simpson  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
16*59203274STaylor Simpson  */
17*59203274STaylor Simpson 
18*59203274STaylor Simpson #include <stdio.h>
19*59203274STaylor Simpson 
20*59203274STaylor Simpson int gA[401];
21*59203274STaylor Simpson int gB[401];
22*59203274STaylor Simpson int gC[401];
23*59203274STaylor Simpson 
vector_add_int()24*59203274STaylor Simpson void vector_add_int()
25*59203274STaylor Simpson {
26*59203274STaylor Simpson   int i;
27*59203274STaylor Simpson   for (i = 0; i < 400; i++) {
28*59203274STaylor Simpson     gA[i] = gB[i] + gC[i];
29*59203274STaylor Simpson   }
30*59203274STaylor Simpson }
31*59203274STaylor Simpson 
main()32*59203274STaylor Simpson int main()
33*59203274STaylor Simpson {
34*59203274STaylor Simpson   int error = 0;
35*59203274STaylor Simpson   int i;
36*59203274STaylor Simpson   for (i = 0; i < 400; i++) {
37*59203274STaylor Simpson     gB[i] = i * 2;
38*59203274STaylor Simpson     gC[i] = i * 3;
39*59203274STaylor Simpson   }
40*59203274STaylor Simpson   gA[400] = 17;
41*59203274STaylor Simpson   vector_add_int();
42*59203274STaylor Simpson   for (i = 0; i < 400; i++) {
43*59203274STaylor Simpson     if (gA[i] != i * 5) {
44*59203274STaylor Simpson         error++;
45*59203274STaylor Simpson         printf("ERROR: gB[%d] = %d\t", i, gB[i]);
46*59203274STaylor Simpson         printf("gC[%d] = %d\t", i, gC[i]);
47*59203274STaylor Simpson         printf("gA[%d] = %d\n", i, gA[i]);
48*59203274STaylor Simpson     }
49*59203274STaylor Simpson   }
50*59203274STaylor Simpson   if (gA[400] != 17) {
51*59203274STaylor Simpson     error++;
52*59203274STaylor Simpson     printf("ERROR: Overran the buffer\n");
53*59203274STaylor Simpson   }
54*59203274STaylor Simpson   if (!error) {
55*59203274STaylor Simpson     printf("PASS\n");
56*59203274STaylor Simpson     return 0;
57*59203274STaylor Simpson   } else {
58*59203274STaylor Simpson     printf("FAIL\n");
59*59203274STaylor Simpson     return 1;
60*59203274STaylor Simpson   }
61*59203274STaylor Simpson }
62