1*6467f958SSadaf Ebrahimi //
2*6467f958SSadaf Ebrahimi // Copyright (c) 2017 The Khronos Group Inc.
3*6467f958SSadaf Ebrahimi //
4*6467f958SSadaf Ebrahimi // Licensed under the Apache License, Version 2.0 (the "License");
5*6467f958SSadaf Ebrahimi // you may not use this file except in compliance with the License.
6*6467f958SSadaf Ebrahimi // You may obtain a copy of the License at
7*6467f958SSadaf Ebrahimi //
8*6467f958SSadaf Ebrahimi // http://www.apache.org/licenses/LICENSE-2.0
9*6467f958SSadaf Ebrahimi //
10*6467f958SSadaf Ebrahimi // Unless required by applicable law or agreed to in writing, software
11*6467f958SSadaf Ebrahimi // distributed under the License is distributed on an "AS IS" BASIS,
12*6467f958SSadaf Ebrahimi // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*6467f958SSadaf Ebrahimi // See the License for the specific language governing permissions and
14*6467f958SSadaf Ebrahimi // limitations under the License.
15*6467f958SSadaf Ebrahimi //
16*6467f958SSadaf Ebrahimi #include "harness/compat.h"
17*6467f958SSadaf Ebrahimi
18*6467f958SSadaf Ebrahimi #include <stdio.h>
19*6467f958SSadaf Ebrahimi #include <string.h>
20*6467f958SSadaf Ebrahimi #include "procs.h"
21*6467f958SSadaf Ebrahimi #include "harness/testHarness.h"
22*6467f958SSadaf Ebrahimi
23*6467f958SSadaf Ebrahimi #if !defined(_WIN32)
24*6467f958SSadaf Ebrahimi #include <unistd.h>
25*6467f958SSadaf Ebrahimi #endif
26*6467f958SSadaf Ebrahimi
27*6467f958SSadaf Ebrahimi #if DENSE_PACK_VECS
28*6467f958SSadaf Ebrahimi const int g_vector_aligns[] = {0, 1, 2, 3, 4,
29*6467f958SSadaf Ebrahimi 5, 6, 7, 8,
30*6467f958SSadaf Ebrahimi 9, 10, 11, 12,
31*6467f958SSadaf Ebrahimi 13, 14, 15, 16};
32*6467f958SSadaf Ebrahimi
33*6467f958SSadaf Ebrahimi #else
34*6467f958SSadaf Ebrahimi const int g_vector_aligns[] = {0, 1, 2, 4, 4,
35*6467f958SSadaf Ebrahimi 8, 8, 8, 8,
36*6467f958SSadaf Ebrahimi 16, 16, 16, 16,
37*6467f958SSadaf Ebrahimi 16, 16, 16, 16};
38*6467f958SSadaf Ebrahimi #endif
39*6467f958SSadaf Ebrahimi
40*6467f958SSadaf Ebrahimi
41*6467f958SSadaf Ebrahimi const int g_vector_allocs[] = {0, 1, 2, 4, 4,
42*6467f958SSadaf Ebrahimi 8, 8, 8, 8,
43*6467f958SSadaf Ebrahimi 16, 16, 16, 16,
44*6467f958SSadaf Ebrahimi 16, 16, 16, 16};
45*6467f958SSadaf Ebrahimi
46*6467f958SSadaf Ebrahimi
47*6467f958SSadaf Ebrahimi test_definition test_list[] = {
48*6467f958SSadaf Ebrahimi ADD_TEST( relational_any ),
49*6467f958SSadaf Ebrahimi ADD_TEST( relational_all ),
50*6467f958SSadaf Ebrahimi ADD_TEST( relational_bitselect ),
51*6467f958SSadaf Ebrahimi ADD_TEST( relational_select_signed ),
52*6467f958SSadaf Ebrahimi ADD_TEST( relational_select_unsigned ),
53*6467f958SSadaf Ebrahimi
54*6467f958SSadaf Ebrahimi ADD_TEST( relational_isequal ),
55*6467f958SSadaf Ebrahimi ADD_TEST( relational_isnotequal ),
56*6467f958SSadaf Ebrahimi ADD_TEST( relational_isgreater ),
57*6467f958SSadaf Ebrahimi ADD_TEST( relational_isgreaterequal ),
58*6467f958SSadaf Ebrahimi ADD_TEST( relational_isless ),
59*6467f958SSadaf Ebrahimi ADD_TEST( relational_islessequal ),
60*6467f958SSadaf Ebrahimi ADD_TEST( relational_islessgreater ),
61*6467f958SSadaf Ebrahimi
62*6467f958SSadaf Ebrahimi ADD_TEST( shuffle_copy ),
63*6467f958SSadaf Ebrahimi ADD_TEST( shuffle_function_call ),
64*6467f958SSadaf Ebrahimi ADD_TEST( shuffle_array_cast ),
65*6467f958SSadaf Ebrahimi ADD_TEST( shuffle_built_in ),
66*6467f958SSadaf Ebrahimi ADD_TEST( shuffle_built_in_dual_input ),
67*6467f958SSadaf Ebrahimi };
68*6467f958SSadaf Ebrahimi
69*6467f958SSadaf Ebrahimi const int test_num = ARRAY_SIZE( test_list );
70*6467f958SSadaf Ebrahimi
main(int argc,const char * argv[])71*6467f958SSadaf Ebrahimi int main(int argc, const char *argv[])
72*6467f958SSadaf Ebrahimi {
73*6467f958SSadaf Ebrahimi return runTestHarness(argc, argv, test_num, test_list, false, 0);
74*6467f958SSadaf Ebrahimi }
75*6467f958SSadaf Ebrahimi
76