Add Vector datatype for SSE operations.

remotes/origin/master-1.1.x
Victor Julien 15 years ago
parent bc5738d57d
commit 7e128176d2

@ -202,6 +202,7 @@ util-validate.h util-affinity.h util-affinity.c \
util-memcmp.c util-memcmp.h \
util-proto-name.c util-proto-name.h \
util-syslog.c util-syslog.h \
util-vector.h \
tm-modules.c tm-modules.h \
tm-queues.c tm-queues.h \
tm-queuehandlers.c tm-queuehandlers.h \

@ -0,0 +1,43 @@
/* Copyright (C) 2007-2011 Open Information Security Foundation
*
* You can copy, redistribute or modify this Program under the terms of
* the GNU General Public License version 2 as published by the Free
* Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* version 2 along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
/**
* \file
*
* \author Victor Julien <victor@inliniac.net>
*/
#ifndef __UTIL_VECTOR_H__
#define __UTIL_VECTOR_H__
#ifdef defined(__SSE3__)
#include <pmmintrin.h>
typedef struct Vector_ {
union {
__m128i v; /**< vector */
uint8_t c[16]; /**< character */
uint16_t w[8]; /**< word */
uint32_t dw[4]; /**< double word */
uint64_t qw[2]; /**< quad word */
};
} Vector __attribute((aligned(16)));
#endif /* defined(__SSE3__) */
#endif /* __UTIL_VECTOR_H__ */
Loading…
Cancel
Save