1a551c94aSIdo Barnea/*
2a551c94aSIdo Barnea *   BSD LICENSE
3a551c94aSIdo Barnea *
4a551c94aSIdo Barnea *   Copyright (C) Cavium networks Ltd. 2015.
5a551c94aSIdo Barnea *
6a551c94aSIdo Barnea *   Redistribution and use in source and binary forms, with or without
7a551c94aSIdo Barnea *   modification, are permitted provided that the following conditions
8a551c94aSIdo Barnea *   are met:
9a551c94aSIdo Barnea *
10a551c94aSIdo Barnea *     * Redistributions of source code must retain the above copyright
11a551c94aSIdo Barnea *       notice, this list of conditions and the following disclaimer.
12a551c94aSIdo Barnea *     * Redistributions in binary form must reproduce the above copyright
13a551c94aSIdo Barnea *       notice, this list of conditions and the following disclaimer in
14a551c94aSIdo Barnea *       the documentation and/or other materials provided with the
15a551c94aSIdo Barnea *       distribution.
16a551c94aSIdo Barnea *     * Neither the name of Cavium networks nor the names of its
17a551c94aSIdo Barnea *       contributors may be used to endorse or promote products derived
18a551c94aSIdo Barnea *       from this software without specific prior written permission.
19a551c94aSIdo Barnea *
20a551c94aSIdo Barnea *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21a551c94aSIdo Barnea *   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22a551c94aSIdo Barnea *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23a551c94aSIdo Barnea *   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24a551c94aSIdo Barnea *   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25a551c94aSIdo Barnea *   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26a551c94aSIdo Barnea *   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27a551c94aSIdo Barnea *   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28a551c94aSIdo Barnea *   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29a551c94aSIdo Barnea *   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30a551c94aSIdo Barnea *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31a551c94aSIdo Barnea*/
32a551c94aSIdo Barnea
33a551c94aSIdo Barnea#include "acl_run_neon.h"
34a551c94aSIdo Barnea
35a551c94aSIdo Barneaint
36a551c94aSIdo Barnearte_acl_classify_neon(const struct rte_acl_ctx *ctx, const uint8_t **data,
37a551c94aSIdo Barnea		      uint32_t *results, uint32_t num, uint32_t categories)
38a551c94aSIdo Barnea{
39a551c94aSIdo Barnea	if (likely(num >= 8))
40a551c94aSIdo Barnea		return search_neon_8(ctx, data, results, num, categories);
41a551c94aSIdo Barnea	else if (num >= 4)
42a551c94aSIdo Barnea		return search_neon_4(ctx, data, results, num, categories);
43a551c94aSIdo Barnea	else
44a551c94aSIdo Barnea		return rte_acl_classify_scalar(ctx, data, results, num,
45a551c94aSIdo Barnea			categories);
46a551c94aSIdo Barnea}
47