diff options
Diffstat (limited to 'lib/gcc/arm-linux-androideabi')
48 files changed, 0 insertions, 16753 deletions
diff --git a/lib/gcc/arm-linux-androideabi/4.8/armv7-a/crtbegin.o b/lib/gcc/arm-linux-androideabi/4.8/armv7-a/crtbegin.o Binary files differdeleted file mode 100644 index eb7e792..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/armv7-a/crtbegin.o +++ /dev/null diff --git a/lib/gcc/arm-linux-androideabi/4.8/armv7-a/crtbeginS.o b/lib/gcc/arm-linux-androideabi/4.8/armv7-a/crtbeginS.o Binary files differdeleted file mode 100644 index 6158c43..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/armv7-a/crtbeginS.o +++ /dev/null diff --git a/lib/gcc/arm-linux-androideabi/4.8/armv7-a/crtbeginT.o b/lib/gcc/arm-linux-androideabi/4.8/armv7-a/crtbeginT.o Binary files differdeleted file mode 100644 index eb7e792..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/armv7-a/crtbeginT.o +++ /dev/null diff --git a/lib/gcc/arm-linux-androideabi/4.8/armv7-a/crtend.o b/lib/gcc/arm-linux-androideabi/4.8/armv7-a/crtend.o Binary files differdeleted file mode 100644 index 61bc03a..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/armv7-a/crtend.o +++ /dev/null diff --git a/lib/gcc/arm-linux-androideabi/4.8/armv7-a/crtendS.o b/lib/gcc/arm-linux-androideabi/4.8/armv7-a/crtendS.o Binary files differdeleted file mode 100644 index 61bc03a..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/armv7-a/crtendS.o +++ /dev/null diff --git a/lib/gcc/arm-linux-androideabi/4.8/armv7-a/libgcc.a b/lib/gcc/arm-linux-androideabi/4.8/armv7-a/libgcc.a Binary files differdeleted file mode 100644 index 9b8f1ac..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/armv7-a/libgcc.a +++ /dev/null diff --git a/lib/gcc/arm-linux-androideabi/4.8/armv7-a/libgcov.a b/lib/gcc/arm-linux-androideabi/4.8/armv7-a/libgcov.a Binary files differdeleted file mode 100644 index 7be1071..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/armv7-a/libgcov.a +++ /dev/null diff --git a/lib/gcc/arm-linux-androideabi/4.8/armv7-a/thumb/crtbegin.o b/lib/gcc/arm-linux-androideabi/4.8/armv7-a/thumb/crtbegin.o Binary files differdeleted file mode 100644 index afb6960..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/armv7-a/thumb/crtbegin.o +++ /dev/null diff --git a/lib/gcc/arm-linux-androideabi/4.8/armv7-a/thumb/crtbeginS.o b/lib/gcc/arm-linux-androideabi/4.8/armv7-a/thumb/crtbeginS.o Binary files differdeleted file mode 100644 index a70dc39..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/armv7-a/thumb/crtbeginS.o +++ /dev/null diff --git a/lib/gcc/arm-linux-androideabi/4.8/armv7-a/thumb/crtbeginT.o b/lib/gcc/arm-linux-androideabi/4.8/armv7-a/thumb/crtbeginT.o Binary files differdeleted file mode 100644 index afb6960..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/armv7-a/thumb/crtbeginT.o +++ /dev/null diff --git a/lib/gcc/arm-linux-androideabi/4.8/armv7-a/thumb/crtend.o b/lib/gcc/arm-linux-androideabi/4.8/armv7-a/thumb/crtend.o Binary files differdeleted file mode 100644 index 884fd7b..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/armv7-a/thumb/crtend.o +++ /dev/null diff --git a/lib/gcc/arm-linux-androideabi/4.8/armv7-a/thumb/crtendS.o b/lib/gcc/arm-linux-androideabi/4.8/armv7-a/thumb/crtendS.o Binary files differdeleted file mode 100644 index 884fd7b..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/armv7-a/thumb/crtendS.o +++ /dev/null diff --git a/lib/gcc/arm-linux-androideabi/4.8/armv7-a/thumb/libgcc.a b/lib/gcc/arm-linux-androideabi/4.8/armv7-a/thumb/libgcc.a Binary files differdeleted file mode 100644 index 6889dd1..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/armv7-a/thumb/libgcc.a +++ /dev/null diff --git a/lib/gcc/arm-linux-androideabi/4.8/armv7-a/thumb/libgcov.a b/lib/gcc/arm-linux-androideabi/4.8/armv7-a/thumb/libgcov.a Binary files differdeleted file mode 100644 index df8b759..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/armv7-a/thumb/libgcov.a +++ /dev/null diff --git a/lib/gcc/arm-linux-androideabi/4.8/crtbegin.o b/lib/gcc/arm-linux-androideabi/4.8/crtbegin.o Binary files differdeleted file mode 100644 index 2a51c6c..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/crtbegin.o +++ /dev/null diff --git a/lib/gcc/arm-linux-androideabi/4.8/crtbeginS.o b/lib/gcc/arm-linux-androideabi/4.8/crtbeginS.o Binary files differdeleted file mode 100644 index 0df0044..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/crtbeginS.o +++ /dev/null diff --git a/lib/gcc/arm-linux-androideabi/4.8/crtbeginT.o b/lib/gcc/arm-linux-androideabi/4.8/crtbeginT.o Binary files differdeleted file mode 100644 index 2a51c6c..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/crtbeginT.o +++ /dev/null diff --git a/lib/gcc/arm-linux-androideabi/4.8/crtend.o b/lib/gcc/arm-linux-androideabi/4.8/crtend.o Binary files differdeleted file mode 100644 index 77cef44..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/crtend.o +++ /dev/null diff --git a/lib/gcc/arm-linux-androideabi/4.8/crtendS.o b/lib/gcc/arm-linux-androideabi/4.8/crtendS.o Binary files differdeleted file mode 100644 index 77cef44..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/crtendS.o +++ /dev/null diff --git a/lib/gcc/arm-linux-androideabi/4.8/include-fixed/README b/lib/gcc/arm-linux-androideabi/4.8/include-fixed/README deleted file mode 100644 index 7086a77..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/include-fixed/README +++ /dev/null @@ -1,14 +0,0 @@ -This README file is copied into the directory for GCC-only header files -when fixincludes is run by the makefile for GCC. - -Many of the files in this directory were automatically edited from the -standard system header files by the fixincludes process. They are -system-specific, and will not work on any other kind of system. They -are also not part of GCC. The reason we have to do this is because -GCC requires ANSI C headers and many vendors supply ANSI-incompatible -headers. - -Because this is an automated process, sometimes headers get "fixed" -that do not, strictly speaking, need a fix. As long as nothing is broken -by the process, it is just an unfortunate collateral inconvenience. -We would like to rectify it, if it is not "too inconvenient". diff --git a/lib/gcc/arm-linux-androideabi/4.8/include-fixed/limits.h b/lib/gcc/arm-linux-androideabi/4.8/include-fixed/limits.h deleted file mode 100644 index 9640a88..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/include-fixed/limits.h +++ /dev/null @@ -1,171 +0,0 @@ -/* Copyright (C) 1992-2013 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC 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. - -Under Section 7 of GPL version 3, you are granted additional -permissions described in the GCC Runtime Library Exception, version -3.1, as published by the Free Software Foundation. - -You should have received a copy of the GNU General Public License and -a copy of the GCC Runtime Library Exception along with this program; -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -<http://www.gnu.org/licenses/>. */ - -/* This administrivia gets added to the beginning of limits.h - if the system has its own version of limits.h. */ - -/* We use _GCC_LIMITS_H_ because we want this not to match - any macros that the system's limits.h uses for its own purposes. */ -#ifndef _GCC_LIMITS_H_ /* Terminated in limity.h. */ -#define _GCC_LIMITS_H_ - -#ifndef _LIBC_LIMITS_H_ -/* Use "..." so that we find syslimits.h only in this same directory. */ -#include "syslimits.h" -#endif -/* Copyright (C) 1991-2013 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 3, or (at your option) any later -version. - -GCC 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. - -Under Section 7 of GPL version 3, you are granted additional -permissions described in the GCC Runtime Library Exception, version -3.1, as published by the Free Software Foundation. - -You should have received a copy of the GNU General Public License and -a copy of the GCC Runtime Library Exception along with this program; -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -<http://www.gnu.org/licenses/>. */ - -#ifndef _LIMITS_H___ -#define _LIMITS_H___ - -/* Number of bits in a `char'. */ -#undef CHAR_BIT -#define CHAR_BIT __CHAR_BIT__ - -/* Maximum length of a multibyte character. */ -#ifndef MB_LEN_MAX -#define MB_LEN_MAX 1 -#endif - -/* Minimum and maximum values a `signed char' can hold. */ -#undef SCHAR_MIN -#define SCHAR_MIN (-SCHAR_MAX - 1) -#undef SCHAR_MAX -#define SCHAR_MAX __SCHAR_MAX__ - -/* Maximum value an `unsigned char' can hold. (Minimum is 0). */ -#undef UCHAR_MAX -#if __SCHAR_MAX__ == __INT_MAX__ -# define UCHAR_MAX (SCHAR_MAX * 2U + 1U) -#else -# define UCHAR_MAX (SCHAR_MAX * 2 + 1) -#endif - -/* Minimum and maximum values a `char' can hold. */ -#ifdef __CHAR_UNSIGNED__ -# undef CHAR_MIN -# if __SCHAR_MAX__ == __INT_MAX__ -# define CHAR_MIN 0U -# else -# define CHAR_MIN 0 -# endif -# undef CHAR_MAX -# define CHAR_MAX UCHAR_MAX -#else -# undef CHAR_MIN -# define CHAR_MIN SCHAR_MIN -# undef CHAR_MAX -# define CHAR_MAX SCHAR_MAX -#endif - -/* Minimum and maximum values a `signed short int' can hold. */ -#undef SHRT_MIN -#define SHRT_MIN (-SHRT_MAX - 1) -#undef SHRT_MAX -#define SHRT_MAX __SHRT_MAX__ - -/* Maximum value an `unsigned short int' can hold. (Minimum is 0). */ -#undef USHRT_MAX -#if __SHRT_MAX__ == __INT_MAX__ -# define USHRT_MAX (SHRT_MAX * 2U + 1U) -#else -# define USHRT_MAX (SHRT_MAX * 2 + 1) -#endif - -/* Minimum and maximum values a `signed int' can hold. */ -#undef INT_MIN -#define INT_MIN (-INT_MAX - 1) -#undef INT_MAX -#define INT_MAX __INT_MAX__ - -/* Maximum value an `unsigned int' can hold. (Minimum is 0). */ -#undef UINT_MAX -#define UINT_MAX (INT_MAX * 2U + 1U) - -/* Minimum and maximum values a `signed long int' can hold. - (Same as `int'). */ -#undef LONG_MIN -#define LONG_MIN (-LONG_MAX - 1L) -#undef LONG_MAX -#define LONG_MAX __LONG_MAX__ - -/* Maximum value an `unsigned long int' can hold. (Minimum is 0). */ -#undef ULONG_MAX -#define ULONG_MAX (LONG_MAX * 2UL + 1UL) - -#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L -/* Minimum and maximum values a `signed long long int' can hold. */ -# undef LLONG_MIN -# define LLONG_MIN (-LLONG_MAX - 1LL) -# undef LLONG_MAX -# define LLONG_MAX __LONG_LONG_MAX__ - -/* Maximum value an `unsigned long long int' can hold. (Minimum is 0). */ -# undef ULLONG_MAX -# define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL) -#endif - -#if defined (__GNU_LIBRARY__) ? defined (__USE_GNU) : !defined (__STRICT_ANSI__) -/* Minimum and maximum values a `signed long long int' can hold. */ -# undef LONG_LONG_MIN -# define LONG_LONG_MIN (-LONG_LONG_MAX - 1LL) -# undef LONG_LONG_MAX -# define LONG_LONG_MAX __LONG_LONG_MAX__ - -/* Maximum value an `unsigned long long int' can hold. (Minimum is 0). */ -# undef ULONG_LONG_MAX -# define ULONG_LONG_MAX (LONG_LONG_MAX * 2ULL + 1ULL) -#endif - -#endif /* _LIMITS_H___ */ -/* This administrivia gets added to the end of limits.h - if the system has its own version of limits.h. */ - -#else /* not _GCC_LIMITS_H_ */ - -#ifdef _GCC_NEXT_LIMITS_H -#include_next <limits.h> /* recurse down to the real one */ -#endif - -#endif /* not _GCC_LIMITS_H_ */ diff --git a/lib/gcc/arm-linux-androideabi/4.8/include-fixed/stdio.h b/lib/gcc/arm-linux-androideabi/4.8/include-fixed/stdio.h deleted file mode 100644 index 2094f9d..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/include-fixed/stdio.h +++ /dev/null @@ -1,441 +0,0 @@ -/* DO NOT EDIT THIS FILE. - - It has been auto-edited by fixincludes from: - - "/tmp/toolchain-build-linux-4.8/prefix/sysroot/usr/include/stdio.h" - - This had to be done to correct non-standard usages in the - original, manufacturer supplied header file. */ - -/* $OpenBSD: stdio.h,v 1.35 2006/01/13 18:10:09 miod Exp $ */ -/* $NetBSD: stdio.h,v 1.18 1996/04/25 18:29:21 jtc Exp $ */ - -/*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Chris Torek. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)stdio.h 5.17 (Berkeley) 6/3/91 - */ - -#ifndef _STDIO_H_ -#define _STDIO_H_ - -#include <sys/cdefs.h> -#include <sys/types.h> - -/* __gnuc_va_list and size_t must be defined by stdio.h according to Posix */ -#define __need___va_list -#include <stdarg.h> - -/* note that this forces stddef.h to *only* define size_t */ -#define __need_size_t -#include <stddef.h> - -#define __need_NULL -#include <stddef.h> - -#define _FSTDIO /* Define for new stdio with functions. */ - -typedef off_t fpos_t; /* stdio file position type */ - -/* - * NB: to fit things in six character monocase externals, the stdio - * code uses the prefix `__s' for stdio objects, typically followed - * by a three-character attempt at a mnemonic. - */ - -/* stdio buffers */ -struct __sbuf { - unsigned char *_base; - int _size; -}; - -/* - * stdio state variables. - * - * The following always hold: - * - * if (_flags&(__SLBF|__SWR)) == (__SLBF|__SWR), - * _lbfsize is -_bf._size, else _lbfsize is 0 - * if _flags&__SRD, _w is 0 - * if _flags&__SWR, _r is 0 - * - * This ensures that the getc and putc macros (or inline functions) never - * try to write or read from a file that is in `read' or `write' mode. - * (Moreover, they can, and do, automatically switch from read mode to - * write mode, and back, on "r+" and "w+" files.) - * - * _lbfsize is used only to make the inline line-buffered output stream - * code as compact as possible. - * - * _ub, _up, and _ur are used when ungetc() pushes back more characters - * than fit in the current _bf, or when ungetc() pushes back a character - * that does not match the previous one in _bf. When this happens, - * _ub._base becomes non-nil (i.e., a stream has ungetc() data iff - * _ub._base!=NULL) and _up and _ur save the current values of _p and _r. - * - * NOTE: if you change this structure, you also need to update the - * std() initializer in findfp.c. - */ -typedef struct __sFILE { - unsigned char *_p; /* current position in (some) buffer */ - int _r; /* read space left for getc() */ - int _w; /* write space left for putc() */ - short _flags; /* flags, below; this FILE is free if 0 */ - short _file; /* fileno, if Unix descriptor, else -1 */ - struct __sbuf _bf; /* the buffer (at least 1 byte, if !NULL) */ - int _lbfsize; /* 0 or -_bf._size, for inline putc */ - - /* operations */ - void *_cookie; /* cookie passed to io functions */ - int (*_close)(void *); - int (*_read)(void *, char *, int); - fpos_t (*_seek)(void *, fpos_t, int); - int (*_write)(void *, const char *, int); - - /* extension data, to avoid further ABI breakage */ - struct __sbuf _ext; - /* data for long sequences of ungetc() */ - unsigned char *_up; /* saved _p when _p is doing ungetc data */ - int _ur; /* saved _r when _r is counting ungetc data */ - - /* tricks to meet minimum requirements even when malloc() fails */ - unsigned char _ubuf[3]; /* guarantee an ungetc() buffer */ - unsigned char _nbuf[1]; /* guarantee a getc() buffer */ - - /* separate buffer for fgetln() when line crosses buffer boundary */ - struct __sbuf _lb; /* buffer for fgetln() */ - - /* Unix stdio files get aligned to block boundaries on fseek() */ - int _blksize; /* stat.st_blksize (may be != _bf._size) */ - fpos_t _offset; /* current lseek offset */ -} FILE; - -__BEGIN_DECLS -extern FILE __sF[]; -__END_DECLS - -#define __SLBF 0x0001 /* line buffered */ -#define __SNBF 0x0002 /* unbuffered */ -#define __SRD 0x0004 /* OK to read */ -#define __SWR 0x0008 /* OK to write */ - /* RD and WR are never simultaneously asserted */ -#define __SRW 0x0010 /* open for reading & writing */ -#define __SEOF 0x0020 /* found EOF */ -#define __SERR 0x0040 /* found error */ -#define __SMBF 0x0080 /* _buf is from malloc */ -#define __SAPP 0x0100 /* fdopen()ed in append mode */ -#define __SSTR 0x0200 /* this is an sprintf/snprintf string */ -#define __SOPT 0x0400 /* do fseek() optimisation */ -#define __SNPT 0x0800 /* do not do fseek() optimisation */ -#define __SOFF 0x1000 /* set iff _offset is in fact correct */ -#define __SMOD 0x2000 /* true => fgetln modified _p text */ -#define __SALC 0x4000 /* allocate string space dynamically */ - -/* - * The following three definitions are for ANSI C, which took them - * from System V, which brilliantly took internal interface macros and - * made them official arguments to setvbuf(), without renaming them. - * Hence, these ugly _IOxxx names are *supposed* to appear in user code. - * - * Although numbered as their counterparts above, the implementation - * does not rely on this. - */ -#define _IOFBF 0 /* setvbuf should set fully buffered */ -#define _IOLBF 1 /* setvbuf should set line buffered */ -#define _IONBF 2 /* setvbuf should set unbuffered */ - -#define BUFSIZ 1024 /* size of buffer used by setbuf */ - -#define EOF (-1) - -/* - * FOPEN_MAX is a minimum maximum, and should be the number of descriptors - * that the kernel can provide without allocation of a resource that can - * fail without the process sleeping. Do not use this for anything. - */ -#define FOPEN_MAX 20 /* must be <= OPEN_MAX <sys/syslimits.h> */ -#define FILENAME_MAX 1024 /* must be <= PATH_MAX <sys/syslimits.h> */ - -/* System V/ANSI C; this is the wrong way to do this, do *not* use these. */ -#if __BSD_VISIBLE || __XPG_VISIBLE -#define P_tmpdir "/tmp/" -#endif -#define L_tmpnam 1024 /* XXX must be == PATH_MAX */ -#define TMP_MAX 308915776 - -#ifndef SEEK_SET -#define SEEK_SET 0 /* set file offset to offset */ -#endif -#ifndef SEEK_CUR -#define SEEK_CUR 1 /* set file offset to current plus offset */ -#endif -#ifndef SEEK_END -#define SEEK_END 2 /* set file offset to EOF plus offset */ -#endif - -#define stdin (&__sF[0]) -#define stdout (&__sF[1]) -#define stderr (&__sF[2]) - -/* - * Functions defined in ANSI C standard. - */ -__BEGIN_DECLS -void clearerr(FILE *); -int fclose(FILE *); -int feof(FILE *); -int ferror(FILE *); -int fflush(FILE *); -int fgetc(FILE *); -int fgetpos(FILE *, fpos_t *); -char *fgets(char *, int, FILE *); -FILE *fopen(const char *, const char *); -int fprintf(FILE *, const char *, ...); -int fputc(int, FILE *); -int fputs(const char *, FILE *); -size_t fread(void *, size_t, size_t, FILE *); -FILE *freopen(const char *, const char *, FILE *); -int fscanf(FILE *, const char *, ...); -int fseek(FILE *, long, int); -int fseeko(FILE *, off_t, int); -int fsetpos(FILE *, const fpos_t *); -long ftell(FILE *); -off_t ftello(FILE *); -size_t fwrite(const void *, size_t, size_t, FILE *); -int getc(FILE *); -int getchar(void); -char *gets(char *); -#if __BSD_VISIBLE && !defined(__SYS_ERRLIST) -#define __SYS_ERRLIST - -extern int sys_nerr; /* perror(3) external variables */ -extern char *sys_errlist[]; -#endif -void perror(const char *); -int printf(const char *, ...); -int putc(int, FILE *); -int putchar(int); -int puts(const char *); -int remove(const char *); -int rename(const char *, const char *); -void rewind(FILE *); -int scanf(const char *, ...); -void setbuf(FILE *, char *); -int setvbuf(FILE *, char *, int, size_t); -int sprintf(char *, const char *, ...); -int sscanf(const char *, const char *, ...); -FILE *tmpfile(void); -char *tmpnam(char *); -int ungetc(int, FILE *); -int vfprintf(FILE *, const char *, __gnuc_va_list); -int vprintf(const char *, __gnuc_va_list); -int vsprintf(char *, const char *, __gnuc_va_list); - -#if __ISO_C_VISIBLE >= 1999 || __BSD_VISIBLE -int snprintf(char *, size_t, const char *, ...) - __attribute__((__format__ (printf, 3, 4))) - __attribute__((__nonnull__ (3))); -int vfscanf(FILE *, const char *, __gnuc_va_list) - __attribute__((__format__ (scanf, 2, 0))) - __attribute__((__nonnull__ (2))); -int vscanf(const char *, __gnuc_va_list) - __attribute__((__format__ (scanf, 1, 0))) - __attribute__((__nonnull__ (1))); -int vsnprintf(char *, size_t, const char *, __gnuc_va_list) - __attribute__((__format__ (printf, 3, 0))) - __attribute__((__nonnull__ (3))); -int vsscanf(const char *, const char *, __gnuc_va_list) - __attribute__((__format__ (scanf, 2, 0))) - __attribute__((__nonnull__ (2))); -#endif /* __ISO_C_VISIBLE >= 1999 || __BSD_VISIBLE */ - -__END_DECLS - - -/* - * Functions defined in POSIX 1003.1. - */ -#if __BSD_VISIBLE || __POSIX_VISIBLE || __XPG_VISIBLE -#define L_ctermid 1024 /* size for ctermid(); PATH_MAX */ -#define L_cuserid 9 /* size for cuserid(); UT_NAMESIZE + 1 */ - -__BEGIN_DECLS -#if 0 /* MISSING FROM BIONIC */ -char *ctermid(char *); -char *cuserid(char *); -#endif /* MISSING */ -FILE *fdopen(int, const char *); -int fileno(FILE *); - -#if (__POSIX_VISIBLE >= 199209) -int pclose(FILE *); -FILE *popen(const char *, const char *); -#endif - -#if __POSIX_VISIBLE >= 199506 -void flockfile(FILE *); -int ftrylockfile(FILE *); -void funlockfile(FILE *); - -/* - * These are normally used through macros as defined below, but POSIX - * requires functions as well. - */ -int getc_unlocked(FILE *); -int getchar_unlocked(void); -int putc_unlocked(int, FILE *); -int putchar_unlocked(int); -#endif /* __POSIX_VISIBLE >= 199506 */ - -#if __XPG_VISIBLE -char *tempnam(const char *, const char *); -#endif -__END_DECLS - -#endif /* __BSD_VISIBLE || __POSIX_VISIBLE || __XPG_VISIBLE */ - -/* - * Routines that are purely local. - */ -#if __BSD_VISIBLE -__BEGIN_DECLS -int asprintf(char **, const char *, ...) - __attribute__((__format__ (printf, 2, 3))) - __attribute__((__nonnull__ (2))); -char *fgetln(FILE *, size_t *); -int fpurge(FILE *); -int getw(FILE *); -int putw(int, FILE *); -void setbuffer(FILE *, char *, int); -int setlinebuf(FILE *); -int vasprintf(char **, const char *, __gnuc_va_list) - __attribute__((__format__ (printf, 2, 0))) - __attribute__((__nonnull__ (2))); -__END_DECLS - -/* - * Stdio function-access interface. - */ -__BEGIN_DECLS -FILE *funopen(const void *, - int (*)(void *, char *, int), - int (*)(void *, const char *, int), - fpos_t (*)(void *, fpos_t, int), - int (*)(void *)); -__END_DECLS -#define fropen(cookie, fn) funopen(cookie, fn, 0, 0, 0) -#define fwopen(cookie, fn) funopen(cookie, 0, fn, 0, 0) -#endif /* __BSD_VISIBLE */ - -/* - * Functions internal to the implementation. - */ -__BEGIN_DECLS -int __srget(FILE *); -int __swbuf(int, FILE *); -__END_DECLS - -/* - * The __sfoo macros are here so that we can - * define function versions in the C library. - */ -#define __sgetc(p) (--(p)->_r < 0 ? __srget(p) : (int)(*(p)->_p++)) -#if defined(__GNUC__) -static __inline int __sputc(int _c, FILE *_p) { - if (--_p->_w >= 0 || (_p->_w >= _p->_lbfsize && (char)_c != '\n')) - return (*_p->_p++ = _c); - else - return (__swbuf(_c, _p)); -} -#else -/* - * This has been tuned to generate reasonable code on the vax using pcc. - */ -#define __sputc(c, p) \ - (--(p)->_w < 0 ? \ - (p)->_w >= (p)->_lbfsize ? \ - (*(p)->_p = (c)), *(p)->_p != '\n' ? \ - (int)*(p)->_p++ : \ - __swbuf('\n', p) : \ - __swbuf((int)(c), p) : \ - (*(p)->_p = (c), (int)*(p)->_p++)) -#endif - -#define __sfeof(p) (((p)->_flags & __SEOF) != 0) -#define __sferror(p) (((p)->_flags & __SERR) != 0) -#define __sclearerr(p) ((void)((p)->_flags &= ~(__SERR|__SEOF))) -#define __sfileno(p) ((p)->_file) - -#define feof(p) __sfeof(p) -#define ferror(p) __sferror(p) - -#ifndef _POSIX_THREADS -#define clearerr(p) __sclearerr(p) -#endif - -#if __POSIX_VISIBLE -#define fileno(p) __sfileno(p) -#endif - -#ifndef lint -#ifndef _POSIX_THREADS -#define getc(fp) __sgetc(fp) -#endif /* _POSIX_THREADS */ -#define getc_unlocked(fp) __sgetc(fp) -/* - * The macro implementations of putc and putc_unlocked are not - * fully POSIX compliant; they do not set errno on failure - */ -#if __BSD_VISIBLE -#ifndef _POSIX_THREADS -#define putc(x, fp) __sputc(x, fp) -#endif /* _POSIX_THREADS */ -#define putc_unlocked(x, fp) __sputc(x, fp) -#endif /* __BSD_VISIBLE */ -#endif /* lint */ - -#define getchar() getc(stdin) -#define putchar(x) putc(x, stdout) -#define getchar_unlocked() getc_unlocked(stdin) -#define putchar_unlocked(c) putc_unlocked(c, stdout) - -#ifdef _GNU_SOURCE -/* - * glibc defines dprintf(int, const char*, ...), which is poorly named - * and likely to conflict with locally defined debugging printfs - * fdprintf is a better name, and some programs that use fdprintf use a - * #define fdprintf dprintf for compatibility - */ -int fdprintf(int, const char*, ...); -int vfdprintf(int, const char*, __gnuc_va_list); -#endif /* _GNU_SOURCE */ - -#endif /* _STDIO_H_ */ diff --git a/lib/gcc/arm-linux-androideabi/4.8/include-fixed/syslimits.h b/lib/gcc/arm-linux-androideabi/4.8/include-fixed/syslimits.h deleted file mode 100644 index a362802..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/include-fixed/syslimits.h +++ /dev/null @@ -1,8 +0,0 @@ -/* syslimits.h stands for the system's own limits.h file. - If we can use it ok unmodified, then we install this text. - If fixincludes fixes it, then the fixed version is installed - instead of this text. */ - -#define _GCC_NEXT_LIMITS_H /* tell gcc's limits.h to recurse */ -#include_next <limits.h> -#undef _GCC_NEXT_LIMITS_H diff --git a/lib/gcc/arm-linux-androideabi/4.8/include/arm_neon.h b/lib/gcc/arm-linux-androideabi/4.8/include/arm_neon.h deleted file mode 100644 index 4d945ce..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/include/arm_neon.h +++ /dev/null @@ -1,12342 +0,0 @@ -/* ARM NEON intrinsics include file. This file is generated automatically - using neon-gen.ml. Please do not edit manually. - - Copyright (C) 2006-2013 Free Software Foundation, Inc. - Contributed by CodeSourcery. - - This file is part of GCC. - - GCC is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published - by the Free Software Foundation; either version 3, or (at your - option) any later version. - - GCC 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. - - Under Section 7 of GPL version 3, you are granted additional - permissions described in the GCC Runtime Library Exception, version - 3.1, as published by the Free Software Foundation. - - You should have received a copy of the GNU General Public License and - a copy of the GCC Runtime Library Exception along with this program; - see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - <http://www.gnu.org/licenses/>. */ - -#ifndef _GCC_ARM_NEON_H -#define _GCC_ARM_NEON_H 1 - -#ifndef __ARM_NEON__ -#error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h -#else - -#ifdef __cplusplus -extern "C" { -#endif - -#include <stdint.h> - -typedef __builtin_neon_qi int8x8_t __attribute__ ((__vector_size__ (8))); -typedef __builtin_neon_hi int16x4_t __attribute__ ((__vector_size__ (8))); -typedef __builtin_neon_si int32x2_t __attribute__ ((__vector_size__ (8))); -typedef __builtin_neon_di int64x1_t; -typedef __builtin_neon_sf float32x2_t __attribute__ ((__vector_size__ (8))); -typedef __builtin_neon_poly8 poly8x8_t __attribute__ ((__vector_size__ (8))); -typedef __builtin_neon_poly16 poly16x4_t __attribute__ ((__vector_size__ (8))); -typedef __builtin_neon_uqi uint8x8_t __attribute__ ((__vector_size__ (8))); -typedef __builtin_neon_uhi uint16x4_t __attribute__ ((__vector_size__ (8))); -typedef __builtin_neon_usi uint32x2_t __attribute__ ((__vector_size__ (8))); -typedef __builtin_neon_udi uint64x1_t; -typedef __builtin_neon_qi int8x16_t __attribute__ ((__vector_size__ (16))); -typedef __builtin_neon_hi int16x8_t __attribute__ ((__vector_size__ (16))); -typedef __builtin_neon_si int32x4_t __attribute__ ((__vector_size__ (16))); -typedef __builtin_neon_di int64x2_t __attribute__ ((__vector_size__ (16))); -typedef __builtin_neon_sf float32x4_t __attribute__ ((__vector_size__ (16))); -typedef __builtin_neon_poly8 poly8x16_t __attribute__ ((__vector_size__ (16))); -typedef __builtin_neon_poly16 poly16x8_t __attribute__ ((__vector_size__ (16))); -typedef __builtin_neon_uqi uint8x16_t __attribute__ ((__vector_size__ (16))); -typedef __builtin_neon_uhi uint16x8_t __attribute__ ((__vector_size__ (16))); -typedef __builtin_neon_usi uint32x4_t __attribute__ ((__vector_size__ (16))); -typedef __builtin_neon_udi uint64x2_t __attribute__ ((__vector_size__ (16))); - -typedef float float32_t; -typedef __builtin_neon_poly8 poly8_t; -typedef __builtin_neon_poly16 poly16_t; - -typedef struct int8x8x2_t -{ - int8x8_t val[2]; -} int8x8x2_t; - -typedef struct int8x16x2_t -{ - int8x16_t val[2]; -} int8x16x2_t; - -typedef struct int16x4x2_t -{ - int16x4_t val[2]; -} int16x4x2_t; - -typedef struct int16x8x2_t -{ - int16x8_t val[2]; -} int16x8x2_t; - -typedef struct int32x2x2_t -{ - int32x2_t val[2]; -} int32x2x2_t; - -typedef struct int32x4x2_t -{ - int32x4_t val[2]; -} int32x4x2_t; - -typedef struct int64x1x2_t -{ - int64x1_t val[2]; -} int64x1x2_t; - -typedef struct int64x2x2_t -{ - int64x2_t val[2]; -} int64x2x2_t; - -typedef struct uint8x8x2_t -{ - uint8x8_t val[2]; -} uint8x8x2_t; - -typedef struct uint8x16x2_t -{ - uint8x16_t val[2]; -} uint8x16x2_t; - -typedef struct uint16x4x2_t -{ - uint16x4_t val[2]; -} uint16x4x2_t; - -typedef struct uint16x8x2_t -{ - uint16x8_t val[2]; -} uint16x8x2_t; - -typedef struct uint32x2x2_t -{ - uint32x2_t val[2]; -} uint32x2x2_t; - -typedef struct uint32x4x2_t -{ - uint32x4_t val[2]; -} uint32x4x2_t; - -typedef struct uint64x1x2_t -{ - uint64x1_t val[2]; -} uint64x1x2_t; - -typedef struct uint64x2x2_t -{ - uint64x2_t val[2]; -} uint64x2x2_t; - -typedef struct float32x2x2_t -{ - float32x2_t val[2]; -} float32x2x2_t; - -typedef struct float32x4x2_t -{ - float32x4_t val[2]; -} float32x4x2_t; - -typedef struct poly8x8x2_t -{ - poly8x8_t val[2]; -} poly8x8x2_t; - -typedef struct poly8x16x2_t -{ - poly8x16_t val[2]; -} poly8x16x2_t; - -typedef struct poly16x4x2_t -{ - poly16x4_t val[2]; -} poly16x4x2_t; - -typedef struct poly16x8x2_t -{ - poly16x8_t val[2]; -} poly16x8x2_t; - -typedef struct int8x8x3_t -{ - int8x8_t val[3]; -} int8x8x3_t; - -typedef struct int8x16x3_t -{ - int8x16_t val[3]; -} int8x16x3_t; - -typedef struct int16x4x3_t -{ - int16x4_t val[3]; -} int16x4x3_t; - -typedef struct int16x8x3_t -{ - int16x8_t val[3]; -} int16x8x3_t; - -typedef struct int32x2x3_t -{ - int32x2_t val[3]; -} int32x2x3_t; - -typedef struct int32x4x3_t -{ - int32x4_t val[3]; -} int32x4x3_t; - -typedef struct int64x1x3_t -{ - int64x1_t val[3]; -} int64x1x3_t; - -typedef struct int64x2x3_t -{ - int64x2_t val[3]; -} int64x2x3_t; - -typedef struct uint8x8x3_t -{ - uint8x8_t val[3]; -} uint8x8x3_t; - -typedef struct uint8x16x3_t -{ - uint8x16_t val[3]; -} uint8x16x3_t; - -typedef struct uint16x4x3_t -{ - uint16x4_t val[3]; -} uint16x4x3_t; - -typedef struct uint16x8x3_t -{ - uint16x8_t val[3]; -} uint16x8x3_t; - -typedef struct uint32x2x3_t -{ - uint32x2_t val[3]; -} uint32x2x3_t; - -typedef struct uint32x4x3_t -{ - uint32x4_t val[3]; -} uint32x4x3_t; - -typedef struct uint64x1x3_t -{ - uint64x1_t val[3]; -} uint64x1x3_t; - -typedef struct uint64x2x3_t -{ - uint64x2_t val[3]; -} uint64x2x3_t; - -typedef struct float32x2x3_t -{ - float32x2_t val[3]; -} float32x2x3_t; - -typedef struct float32x4x3_t -{ - float32x4_t val[3]; -} float32x4x3_t; - -typedef struct poly8x8x3_t -{ - poly8x8_t val[3]; -} poly8x8x3_t; - -typedef struct poly8x16x3_t -{ - poly8x16_t val[3]; -} poly8x16x3_t; - -typedef struct poly16x4x3_t -{ - poly16x4_t val[3]; -} poly16x4x3_t; - -typedef struct poly16x8x3_t -{ - poly16x8_t val[3]; -} poly16x8x3_t; - -typedef struct int8x8x4_t -{ - int8x8_t val[4]; -} int8x8x4_t; - -typedef struct int8x16x4_t -{ - int8x16_t val[4]; -} int8x16x4_t; - -typedef struct int16x4x4_t -{ - int16x4_t val[4]; -} int16x4x4_t; - -typedef struct int16x8x4_t -{ - int16x8_t val[4]; -} int16x8x4_t; - -typedef struct int32x2x4_t -{ - int32x2_t val[4]; -} int32x2x4_t; - -typedef struct int32x4x4_t -{ - int32x4_t val[4]; -} int32x4x4_t; - -typedef struct int64x1x4_t -{ - int64x1_t val[4]; -} int64x1x4_t; - -typedef struct int64x2x4_t -{ - int64x2_t val[4]; -} int64x2x4_t; - -typedef struct uint8x8x4_t -{ - uint8x8_t val[4]; -} uint8x8x4_t; - -typedef struct uint8x16x4_t -{ - uint8x16_t val[4]; -} uint8x16x4_t; - -typedef struct uint16x4x4_t -{ - uint16x4_t val[4]; -} uint16x4x4_t; - -typedef struct uint16x8x4_t -{ - uint16x8_t val[4]; -} uint16x8x4_t; - -typedef struct uint32x2x4_t -{ - uint32x2_t val[4]; -} uint32x2x4_t; - -typedef struct uint32x4x4_t -{ - uint32x4_t val[4]; -} uint32x4x4_t; - -typedef struct uint64x1x4_t -{ - uint64x1_t val[4]; -} uint64x1x4_t; - -typedef struct uint64x2x4_t -{ - uint64x2_t val[4]; -} uint64x2x4_t; - -typedef struct float32x2x4_t -{ - float32x2_t val[4]; -} float32x2x4_t; - -typedef struct float32x4x4_t -{ - float32x4_t val[4]; -} float32x4x4_t; - -typedef struct poly8x8x4_t -{ - poly8x8_t val[4]; -} poly8x8x4_t; - -typedef struct poly8x16x4_t -{ - poly8x16_t val[4]; -} poly8x16x4_t; - -typedef struct poly16x4x4_t -{ - poly16x4_t val[4]; -} poly16x4x4_t; - -typedef struct poly16x8x4_t -{ - poly16x8_t val[4]; -} poly16x8x4_t; - - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vadd_s8 (int8x8_t __a, int8x8_t __b) -{ - return (int8x8_t)__builtin_neon_vaddv8qi (__a, __b, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vadd_s16 (int16x4_t __a, int16x4_t __b) -{ - return (int16x4_t)__builtin_neon_vaddv4hi (__a, __b, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vadd_s32 (int32x2_t __a, int32x2_t __b) -{ - return (int32x2_t)__builtin_neon_vaddv2si (__a, __b, 1); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vadd_f32 (float32x2_t __a, float32x2_t __b) -{ - return (float32x2_t)__builtin_neon_vaddv2sf (__a, __b, 3); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vadd_u8 (uint8x8_t __a, uint8x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vaddv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vadd_u16 (uint16x4_t __a, uint16x4_t __b) -{ - return (uint16x4_t)__builtin_neon_vaddv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vadd_u32 (uint32x2_t __a, uint32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vaddv2si ((int32x2_t) __a, (int32x2_t) __b, 0); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vadd_s64 (int64x1_t __a, int64x1_t __b) -{ - return (int64x1_t)__builtin_neon_vadddi (__a, __b, 1); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vadd_u64 (uint64x1_t __a, uint64x1_t __b) -{ - return (uint64x1_t)__builtin_neon_vadddi ((int64x1_t) __a, (int64x1_t) __b, 0); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vaddq_s8 (int8x16_t __a, int8x16_t __b) -{ - return (int8x16_t)__builtin_neon_vaddv16qi (__a, __b, 1); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vaddq_s16 (int16x8_t __a, int16x8_t __b) -{ - return (int16x8_t)__builtin_neon_vaddv8hi (__a, __b, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vaddq_s32 (int32x4_t __a, int32x4_t __b) -{ - return (int32x4_t)__builtin_neon_vaddv4si (__a, __b, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vaddq_s64 (int64x2_t __a, int64x2_t __b) -{ - return (int64x2_t)__builtin_neon_vaddv2di (__a, __b, 1); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vaddq_f32 (float32x4_t __a, float32x4_t __b) -{ - return (float32x4_t)__builtin_neon_vaddv4sf (__a, __b, 3); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vaddq_u8 (uint8x16_t __a, uint8x16_t __b) -{ - return (uint8x16_t)__builtin_neon_vaddv16qi ((int8x16_t) __a, (int8x16_t) __b, 0); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vaddq_u16 (uint16x8_t __a, uint16x8_t __b) -{ - return (uint16x8_t)__builtin_neon_vaddv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vaddq_u32 (uint32x4_t __a, uint32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vaddv4si ((int32x4_t) __a, (int32x4_t) __b, 0); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vaddq_u64 (uint64x2_t __a, uint64x2_t __b) -{ - return (uint64x2_t)__builtin_neon_vaddv2di ((int64x2_t) __a, (int64x2_t) __b, 0); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vaddl_s8 (int8x8_t __a, int8x8_t __b) -{ - return (int16x8_t)__builtin_neon_vaddlv8qi (__a, __b, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vaddl_s16 (int16x4_t __a, int16x4_t __b) -{ - return (int32x4_t)__builtin_neon_vaddlv4hi (__a, __b, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vaddl_s32 (int32x2_t __a, int32x2_t __b) -{ - return (int64x2_t)__builtin_neon_vaddlv2si (__a, __b, 1); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vaddl_u8 (uint8x8_t __a, uint8x8_t __b) -{ - return (uint16x8_t)__builtin_neon_vaddlv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vaddl_u16 (uint16x4_t __a, uint16x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vaddlv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vaddl_u32 (uint32x2_t __a, uint32x2_t __b) -{ - return (uint64x2_t)__builtin_neon_vaddlv2si ((int32x2_t) __a, (int32x2_t) __b, 0); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vaddw_s8 (int16x8_t __a, int8x8_t __b) -{ - return (int16x8_t)__builtin_neon_vaddwv8qi (__a, __b, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vaddw_s16 (int32x4_t __a, int16x4_t __b) -{ - return (int32x4_t)__builtin_neon_vaddwv4hi (__a, __b, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vaddw_s32 (int64x2_t __a, int32x2_t __b) -{ - return (int64x2_t)__builtin_neon_vaddwv2si (__a, __b, 1); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vaddw_u8 (uint16x8_t __a, uint8x8_t __b) -{ - return (uint16x8_t)__builtin_neon_vaddwv8qi ((int16x8_t) __a, (int8x8_t) __b, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vaddw_u16 (uint32x4_t __a, uint16x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vaddwv4hi ((int32x4_t) __a, (int16x4_t) __b, 0); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vaddw_u32 (uint64x2_t __a, uint32x2_t __b) -{ - return (uint64x2_t)__builtin_neon_vaddwv2si ((int64x2_t) __a, (int32x2_t) __b, 0); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vhadd_s8 (int8x8_t __a, int8x8_t __b) -{ - return (int8x8_t)__builtin_neon_vhaddv8qi (__a, __b, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vhadd_s16 (int16x4_t __a, int16x4_t __b) -{ - return (int16x4_t)__builtin_neon_vhaddv4hi (__a, __b, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vhadd_s32 (int32x2_t __a, int32x2_t __b) -{ - return (int32x2_t)__builtin_neon_vhaddv2si (__a, __b, 1); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vhadd_u8 (uint8x8_t __a, uint8x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vhaddv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vhadd_u16 (uint16x4_t __a, uint16x4_t __b) -{ - return (uint16x4_t)__builtin_neon_vhaddv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vhadd_u32 (uint32x2_t __a, uint32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vhaddv2si ((int32x2_t) __a, (int32x2_t) __b, 0); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vhaddq_s8 (int8x16_t __a, int8x16_t __b) -{ - return (int8x16_t)__builtin_neon_vhaddv16qi (__a, __b, 1); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vhaddq_s16 (int16x8_t __a, int16x8_t __b) -{ - return (int16x8_t)__builtin_neon_vhaddv8hi (__a, __b, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vhaddq_s32 (int32x4_t __a, int32x4_t __b) -{ - return (int32x4_t)__builtin_neon_vhaddv4si (__a, __b, 1); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vhaddq_u8 (uint8x16_t __a, uint8x16_t __b) -{ - return (uint8x16_t)__builtin_neon_vhaddv16qi ((int8x16_t) __a, (int8x16_t) __b, 0); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vhaddq_u16 (uint16x8_t __a, uint16x8_t __b) -{ - return (uint16x8_t)__builtin_neon_vhaddv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vhaddq_u32 (uint32x4_t __a, uint32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vhaddv4si ((int32x4_t) __a, (int32x4_t) __b, 0); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vrhadd_s8 (int8x8_t __a, int8x8_t __b) -{ - return (int8x8_t)__builtin_neon_vhaddv8qi (__a, __b, 5); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vrhadd_s16 (int16x4_t __a, int16x4_t __b) -{ - return (int16x4_t)__builtin_neon_vhaddv4hi (__a, __b, 5); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vrhadd_s32 (int32x2_t __a, int32x2_t __b) -{ - return (int32x2_t)__builtin_neon_vhaddv2si (__a, __b, 5); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vrhadd_u8 (uint8x8_t __a, uint8x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vhaddv8qi ((int8x8_t) __a, (int8x8_t) __b, 4); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vrhadd_u16 (uint16x4_t __a, uint16x4_t __b) -{ - return (uint16x4_t)__builtin_neon_vhaddv4hi ((int16x4_t) __a, (int16x4_t) __b, 4); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vrhadd_u32 (uint32x2_t __a, uint32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vhaddv2si ((int32x2_t) __a, (int32x2_t) __b, 4); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vrhaddq_s8 (int8x16_t __a, int8x16_t __b) -{ - return (int8x16_t)__builtin_neon_vhaddv16qi (__a, __b, 5); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vrhaddq_s16 (int16x8_t __a, int16x8_t __b) -{ - return (int16x8_t)__builtin_neon_vhaddv8hi (__a, __b, 5); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vrhaddq_s32 (int32x4_t __a, int32x4_t __b) -{ - return (int32x4_t)__builtin_neon_vhaddv4si (__a, __b, 5); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vrhaddq_u8 (uint8x16_t __a, uint8x16_t __b) -{ - return (uint8x16_t)__builtin_neon_vhaddv16qi ((int8x16_t) __a, (int8x16_t) __b, 4); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vrhaddq_u16 (uint16x8_t __a, uint16x8_t __b) -{ - return (uint16x8_t)__builtin_neon_vhaddv8hi ((int16x8_t) __a, (int16x8_t) __b, 4); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vrhaddq_u32 (uint32x4_t __a, uint32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vhaddv4si ((int32x4_t) __a, (int32x4_t) __b, 4); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vqadd_s8 (int8x8_t __a, int8x8_t __b) -{ - return (int8x8_t)__builtin_neon_vqaddv8qi (__a, __b, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vqadd_s16 (int16x4_t __a, int16x4_t __b) -{ - return (int16x4_t)__builtin_neon_vqaddv4hi (__a, __b, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vqadd_s32 (int32x2_t __a, int32x2_t __b) -{ - return (int32x2_t)__builtin_neon_vqaddv2si (__a, __b, 1); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vqadd_s64 (int64x1_t __a, int64x1_t __b) -{ - return (int64x1_t)__builtin_neon_vqadddi (__a, __b, 1); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vqadd_u8 (uint8x8_t __a, uint8x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vqaddv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vqadd_u16 (uint16x4_t __a, uint16x4_t __b) -{ - return (uint16x4_t)__builtin_neon_vqaddv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vqadd_u32 (uint32x2_t __a, uint32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vqaddv2si ((int32x2_t) __a, (int32x2_t) __b, 0); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vqadd_u64 (uint64x1_t __a, uint64x1_t __b) -{ - return (uint64x1_t)__builtin_neon_vqadddi ((int64x1_t) __a, (int64x1_t) __b, 0); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vqaddq_s8 (int8x16_t __a, int8x16_t __b) -{ - return (int8x16_t)__builtin_neon_vqaddv16qi (__a, __b, 1); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vqaddq_s16 (int16x8_t __a, int16x8_t __b) -{ - return (int16x8_t)__builtin_neon_vqaddv8hi (__a, __b, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vqaddq_s32 (int32x4_t __a, int32x4_t __b) -{ - return (int32x4_t)__builtin_neon_vqaddv4si (__a, __b, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vqaddq_s64 (int64x2_t __a, int64x2_t __b) -{ - return (int64x2_t)__builtin_neon_vqaddv2di (__a, __b, 1); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vqaddq_u8 (uint8x16_t __a, uint8x16_t __b) -{ - return (uint8x16_t)__builtin_neon_vqaddv16qi ((int8x16_t) __a, (int8x16_t) __b, 0); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vqaddq_u16 (uint16x8_t __a, uint16x8_t __b) -{ - return (uint16x8_t)__builtin_neon_vqaddv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vqaddq_u32 (uint32x4_t __a, uint32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vqaddv4si ((int32x4_t) __a, (int32x4_t) __b, 0); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vqaddq_u64 (uint64x2_t __a, uint64x2_t __b) -{ - return (uint64x2_t)__builtin_neon_vqaddv2di ((int64x2_t) __a, (int64x2_t) __b, 0); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vaddhn_s16 (int16x8_t __a, int16x8_t __b) -{ - return (int8x8_t)__builtin_neon_vaddhnv8hi (__a, __b, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vaddhn_s32 (int32x4_t __a, int32x4_t __b) -{ - return (int16x4_t)__builtin_neon_vaddhnv4si (__a, __b, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vaddhn_s64 (int64x2_t __a, int64x2_t __b) -{ - return (int32x2_t)__builtin_neon_vaddhnv2di (__a, __b, 1); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vaddhn_u16 (uint16x8_t __a, uint16x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vaddhnv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vaddhn_u32 (uint32x4_t __a, uint32x4_t __b) -{ - return (uint16x4_t)__builtin_neon_vaddhnv4si ((int32x4_t) __a, (int32x4_t) __b, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vaddhn_u64 (uint64x2_t __a, uint64x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vaddhnv2di ((int64x2_t) __a, (int64x2_t) __b, 0); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vraddhn_s16 (int16x8_t __a, int16x8_t __b) -{ - return (int8x8_t)__builtin_neon_vaddhnv8hi (__a, __b, 5); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vraddhn_s32 (int32x4_t __a, int32x4_t __b) -{ - return (int16x4_t)__builtin_neon_vaddhnv4si (__a, __b, 5); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vraddhn_s64 (int64x2_t __a, int64x2_t __b) -{ - return (int32x2_t)__builtin_neon_vaddhnv2di (__a, __b, 5); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vraddhn_u16 (uint16x8_t __a, uint16x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vaddhnv8hi ((int16x8_t) __a, (int16x8_t) __b, 4); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vraddhn_u32 (uint32x4_t __a, uint32x4_t __b) -{ - return (uint16x4_t)__builtin_neon_vaddhnv4si ((int32x4_t) __a, (int32x4_t) __b, 4); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vraddhn_u64 (uint64x2_t __a, uint64x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vaddhnv2di ((int64x2_t) __a, (int64x2_t) __b, 4); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vmul_s8 (int8x8_t __a, int8x8_t __b) -{ - return (int8x8_t)__builtin_neon_vmulv8qi (__a, __b, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vmul_s16 (int16x4_t __a, int16x4_t __b) -{ - return (int16x4_t)__builtin_neon_vmulv4hi (__a, __b, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vmul_s32 (int32x2_t __a, int32x2_t __b) -{ - return (int32x2_t)__builtin_neon_vmulv2si (__a, __b, 1); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vmul_f32 (float32x2_t __a, float32x2_t __b) -{ - return (float32x2_t)__builtin_neon_vmulv2sf (__a, __b, 3); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vmul_u8 (uint8x8_t __a, uint8x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vmulv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vmul_u16 (uint16x4_t __a, uint16x4_t __b) -{ - return (uint16x4_t)__builtin_neon_vmulv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vmul_u32 (uint32x2_t __a, uint32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vmulv2si ((int32x2_t) __a, (int32x2_t) __b, 0); -} - -__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vmul_p8 (poly8x8_t __a, poly8x8_t __b) -{ - return (poly8x8_t)__builtin_neon_vmulv8qi ((int8x8_t) __a, (int8x8_t) __b, 2); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vmulq_s8 (int8x16_t __a, int8x16_t __b) -{ - return (int8x16_t)__builtin_neon_vmulv16qi (__a, __b, 1); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vmulq_s16 (int16x8_t __a, int16x8_t __b) -{ - return (int16x8_t)__builtin_neon_vmulv8hi (__a, __b, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vmulq_s32 (int32x4_t __a, int32x4_t __b) -{ - return (int32x4_t)__builtin_neon_vmulv4si (__a, __b, 1); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vmulq_f32 (float32x4_t __a, float32x4_t __b) -{ - return (float32x4_t)__builtin_neon_vmulv4sf (__a, __b, 3); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vmulq_u8 (uint8x16_t __a, uint8x16_t __b) -{ - return (uint8x16_t)__builtin_neon_vmulv16qi ((int8x16_t) __a, (int8x16_t) __b, 0); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vmulq_u16 (uint16x8_t __a, uint16x8_t __b) -{ - return (uint16x8_t)__builtin_neon_vmulv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vmulq_u32 (uint32x4_t __a, uint32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vmulv4si ((int32x4_t) __a, (int32x4_t) __b, 0); -} - -__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) -vmulq_p8 (poly8x16_t __a, poly8x16_t __b) -{ - return (poly8x16_t)__builtin_neon_vmulv16qi ((int8x16_t) __a, (int8x16_t) __b, 2); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vqdmulh_s16 (int16x4_t __a, int16x4_t __b) -{ - return (int16x4_t)__builtin_neon_vqdmulhv4hi (__a, __b, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vqdmulh_s32 (int32x2_t __a, int32x2_t __b) -{ - return (int32x2_t)__builtin_neon_vqdmulhv2si (__a, __b, 1); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vqdmulhq_s16 (int16x8_t __a, int16x8_t __b) -{ - return (int16x8_t)__builtin_neon_vqdmulhv8hi (__a, __b, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vqdmulhq_s32 (int32x4_t __a, int32x4_t __b) -{ - return (int32x4_t)__builtin_neon_vqdmulhv4si (__a, __b, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vqrdmulh_s16 (int16x4_t __a, int16x4_t __b) -{ - return (int16x4_t)__builtin_neon_vqdmulhv4hi (__a, __b, 5); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vqrdmulh_s32 (int32x2_t __a, int32x2_t __b) -{ - return (int32x2_t)__builtin_neon_vqdmulhv2si (__a, __b, 5); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vqrdmulhq_s16 (int16x8_t __a, int16x8_t __b) -{ - return (int16x8_t)__builtin_neon_vqdmulhv8hi (__a, __b, 5); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vqrdmulhq_s32 (int32x4_t __a, int32x4_t __b) -{ - return (int32x4_t)__builtin_neon_vqdmulhv4si (__a, __b, 5); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vmull_s8 (int8x8_t __a, int8x8_t __b) -{ - return (int16x8_t)__builtin_neon_vmullv8qi (__a, __b, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vmull_s16 (int16x4_t __a, int16x4_t __b) -{ - return (int32x4_t)__builtin_neon_vmullv4hi (__a, __b, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vmull_s32 (int32x2_t __a, int32x2_t __b) -{ - return (int64x2_t)__builtin_neon_vmullv2si (__a, __b, 1); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vmull_u8 (uint8x8_t __a, uint8x8_t __b) -{ - return (uint16x8_t)__builtin_neon_vmullv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vmull_u16 (uint16x4_t __a, uint16x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vmullv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vmull_u32 (uint32x2_t __a, uint32x2_t __b) -{ - return (uint64x2_t)__builtin_neon_vmullv2si ((int32x2_t) __a, (int32x2_t) __b, 0); -} - -__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) -vmull_p8 (poly8x8_t __a, poly8x8_t __b) -{ - return (poly16x8_t)__builtin_neon_vmullv8qi ((int8x8_t) __a, (int8x8_t) __b, 2); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vqdmull_s16 (int16x4_t __a, int16x4_t __b) -{ - return (int32x4_t)__builtin_neon_vqdmullv4hi (__a, __b, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vqdmull_s32 (int32x2_t __a, int32x2_t __b) -{ - return (int64x2_t)__builtin_neon_vqdmullv2si (__a, __b, 1); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vmla_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c) -{ - return (int8x8_t)__builtin_neon_vmlav8qi (__a, __b, __c, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vmla_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c) -{ - return (int16x4_t)__builtin_neon_vmlav4hi (__a, __b, __c, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vmla_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c) -{ - return (int32x2_t)__builtin_neon_vmlav2si (__a, __b, __c, 1); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vmla_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c) -{ - return (float32x2_t)__builtin_neon_vmlav2sf (__a, __b, __c, 3); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vmla_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c) -{ - return (uint8x8_t)__builtin_neon_vmlav8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vmla_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c) -{ - return (uint16x4_t)__builtin_neon_vmlav4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vmla_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c) -{ - return (uint32x2_t)__builtin_neon_vmlav2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vmlaq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c) -{ - return (int8x16_t)__builtin_neon_vmlav16qi (__a, __b, __c, 1); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vmlaq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c) -{ - return (int16x8_t)__builtin_neon_vmlav8hi (__a, __b, __c, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vmlaq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c) -{ - return (int32x4_t)__builtin_neon_vmlav4si (__a, __b, __c, 1); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vmlaq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c) -{ - return (float32x4_t)__builtin_neon_vmlav4sf (__a, __b, __c, 3); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vmlaq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c) -{ - return (uint8x16_t)__builtin_neon_vmlav16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c, 0); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vmlaq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c) -{ - return (uint16x8_t)__builtin_neon_vmlav8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vmlaq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c) -{ - return (uint32x4_t)__builtin_neon_vmlav4si ((int32x4_t) __a, (int32x4_t) __b, (int32x4_t) __c, 0); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vmlal_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c) -{ - return (int16x8_t)__builtin_neon_vmlalv8qi (__a, __b, __c, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vmlal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c) -{ - return (int32x4_t)__builtin_neon_vmlalv4hi (__a, __b, __c, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vmlal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c) -{ - return (int64x2_t)__builtin_neon_vmlalv2si (__a, __b, __c, 1); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vmlal_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c) -{ - return (uint16x8_t)__builtin_neon_vmlalv8qi ((int16x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vmlal_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c) -{ - return (uint32x4_t)__builtin_neon_vmlalv4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vmlal_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c) -{ - return (uint64x2_t)__builtin_neon_vmlalv2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vqdmlal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c) -{ - return (int32x4_t)__builtin_neon_vqdmlalv4hi (__a, __b, __c, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vqdmlal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c) -{ - return (int64x2_t)__builtin_neon_vqdmlalv2si (__a, __b, __c, 1); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vmls_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c) -{ - return (int8x8_t)__builtin_neon_vmlsv8qi (__a, __b, __c, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vmls_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c) -{ - return (int16x4_t)__builtin_neon_vmlsv4hi (__a, __b, __c, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vmls_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c) -{ - return (int32x2_t)__builtin_neon_vmlsv2si (__a, __b, __c, 1); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vmls_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c) -{ - return (float32x2_t)__builtin_neon_vmlsv2sf (__a, __b, __c, 3); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vmls_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c) -{ - return (uint8x8_t)__builtin_neon_vmlsv8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vmls_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c) -{ - return (uint16x4_t)__builtin_neon_vmlsv4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vmls_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c) -{ - return (uint32x2_t)__builtin_neon_vmlsv2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vmlsq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c) -{ - return (int8x16_t)__builtin_neon_vmlsv16qi (__a, __b, __c, 1); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vmlsq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c) -{ - return (int16x8_t)__builtin_neon_vmlsv8hi (__a, __b, __c, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vmlsq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c) -{ - return (int32x4_t)__builtin_neon_vmlsv4si (__a, __b, __c, 1); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vmlsq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c) -{ - return (float32x4_t)__builtin_neon_vmlsv4sf (__a, __b, __c, 3); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vmlsq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c) -{ - return (uint8x16_t)__builtin_neon_vmlsv16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c, 0); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vmlsq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c) -{ - return (uint16x8_t)__builtin_neon_vmlsv8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vmlsq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c) -{ - return (uint32x4_t)__builtin_neon_vmlsv4si ((int32x4_t) __a, (int32x4_t) __b, (int32x4_t) __c, 0); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vmlsl_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c) -{ - return (int16x8_t)__builtin_neon_vmlslv8qi (__a, __b, __c, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vmlsl_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c) -{ - return (int32x4_t)__builtin_neon_vmlslv4hi (__a, __b, __c, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vmlsl_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c) -{ - return (int64x2_t)__builtin_neon_vmlslv2si (__a, __b, __c, 1); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vmlsl_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c) -{ - return (uint16x8_t)__builtin_neon_vmlslv8qi ((int16x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vmlsl_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c) -{ - return (uint32x4_t)__builtin_neon_vmlslv4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vmlsl_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c) -{ - return (uint64x2_t)__builtin_neon_vmlslv2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vqdmlsl_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c) -{ - return (int32x4_t)__builtin_neon_vqdmlslv4hi (__a, __b, __c, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vqdmlsl_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c) -{ - return (int64x2_t)__builtin_neon_vqdmlslv2si (__a, __b, __c, 1); -} - -#ifdef __ARM_FEATURE_FMA -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vfma_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c) -{ - return (float32x2_t)__builtin_neon_vfmav2sf (__a, __b, __c, 3); -} - -#endif -#ifdef __ARM_FEATURE_FMA -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vfmaq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c) -{ - return (float32x4_t)__builtin_neon_vfmav4sf (__a, __b, __c, 3); -} - -#endif -#ifdef __ARM_FEATURE_FMA -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vfms_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c) -{ - return (float32x2_t)__builtin_neon_vfmsv2sf (__a, __b, __c, 3); -} - -#endif -#ifdef __ARM_FEATURE_FMA -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vfmsq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c) -{ - return (float32x4_t)__builtin_neon_vfmsv4sf (__a, __b, __c, 3); -} - -#endif -#if __ARM_ARCH >= 8 -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vrndn_f32 (float32x2_t __a) -{ - return (float32x2_t)__builtin_neon_vrintnv2sf (__a); -} - -#endif -#if __ARM_ARCH >= 8 -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vrndqn_f32 (float32x4_t __a) -{ - return (float32x4_t)__builtin_neon_vrintnv4sf (__a); -} - -#endif -#if __ARM_ARCH >= 8 -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vrnda_f32 (float32x2_t __a) -{ - return (float32x2_t)__builtin_neon_vrintav2sf (__a); -} - -#endif -#if __ARM_ARCH >= 8 -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vrndqa_f32 (float32x4_t __a) -{ - return (float32x4_t)__builtin_neon_vrintav4sf (__a); -} - -#endif -#if __ARM_ARCH >= 8 -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vrndp_f32 (float32x2_t __a) -{ - return (float32x2_t)__builtin_neon_vrintpv2sf (__a); -} - -#endif -#if __ARM_ARCH >= 8 -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vrndqp_f32 (float32x4_t __a) -{ - return (float32x4_t)__builtin_neon_vrintpv4sf (__a); -} - -#endif -#if __ARM_ARCH >= 8 -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vrndm_f32 (float32x2_t __a) -{ - return (float32x2_t)__builtin_neon_vrintmv2sf (__a); -} - -#endif -#if __ARM_ARCH >= 8 -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vrndqm_f32 (float32x4_t __a) -{ - return (float32x4_t)__builtin_neon_vrintmv4sf (__a); -} - -#endif -#if __ARM_ARCH >= 8 -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vrnd_f32 (float32x2_t __a) -{ - return (float32x2_t)__builtin_neon_vrintzv2sf (__a); -} - -#endif -#if __ARM_ARCH >= 8 -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vrndq_f32 (float32x4_t __a) -{ - return (float32x4_t)__builtin_neon_vrintzv4sf (__a); -} - -#endif -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vsub_s8 (int8x8_t __a, int8x8_t __b) -{ - return (int8x8_t)__builtin_neon_vsubv8qi (__a, __b, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vsub_s16 (int16x4_t __a, int16x4_t __b) -{ - return (int16x4_t)__builtin_neon_vsubv4hi (__a, __b, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vsub_s32 (int32x2_t __a, int32x2_t __b) -{ - return (int32x2_t)__builtin_neon_vsubv2si (__a, __b, 1); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vsub_f32 (float32x2_t __a, float32x2_t __b) -{ - return (float32x2_t)__builtin_neon_vsubv2sf (__a, __b, 3); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vsub_u8 (uint8x8_t __a, uint8x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vsubv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vsub_u16 (uint16x4_t __a, uint16x4_t __b) -{ - return (uint16x4_t)__builtin_neon_vsubv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vsub_u32 (uint32x2_t __a, uint32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vsubv2si ((int32x2_t) __a, (int32x2_t) __b, 0); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vsub_s64 (int64x1_t __a, int64x1_t __b) -{ - return (int64x1_t)__builtin_neon_vsubdi (__a, __b, 1); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vsub_u64 (uint64x1_t __a, uint64x1_t __b) -{ - return (uint64x1_t)__builtin_neon_vsubdi ((int64x1_t) __a, (int64x1_t) __b, 0); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vsubq_s8 (int8x16_t __a, int8x16_t __b) -{ - return (int8x16_t)__builtin_neon_vsubv16qi (__a, __b, 1); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vsubq_s16 (int16x8_t __a, int16x8_t __b) -{ - return (int16x8_t)__builtin_neon_vsubv8hi (__a, __b, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vsubq_s32 (int32x4_t __a, int32x4_t __b) -{ - return (int32x4_t)__builtin_neon_vsubv4si (__a, __b, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vsubq_s64 (int64x2_t __a, int64x2_t __b) -{ - return (int64x2_t)__builtin_neon_vsubv2di (__a, __b, 1); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vsubq_f32 (float32x4_t __a, float32x4_t __b) -{ - return (float32x4_t)__builtin_neon_vsubv4sf (__a, __b, 3); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vsubq_u8 (uint8x16_t __a, uint8x16_t __b) -{ - return (uint8x16_t)__builtin_neon_vsubv16qi ((int8x16_t) __a, (int8x16_t) __b, 0); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vsubq_u16 (uint16x8_t __a, uint16x8_t __b) -{ - return (uint16x8_t)__builtin_neon_vsubv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vsubq_u32 (uint32x4_t __a, uint32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vsubv4si ((int32x4_t) __a, (int32x4_t) __b, 0); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vsubq_u64 (uint64x2_t __a, uint64x2_t __b) -{ - return (uint64x2_t)__builtin_neon_vsubv2di ((int64x2_t) __a, (int64x2_t) __b, 0); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vsubl_s8 (int8x8_t __a, int8x8_t __b) -{ - return (int16x8_t)__builtin_neon_vsublv8qi (__a, __b, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vsubl_s16 (int16x4_t __a, int16x4_t __b) -{ - return (int32x4_t)__builtin_neon_vsublv4hi (__a, __b, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vsubl_s32 (int32x2_t __a, int32x2_t __b) -{ - return (int64x2_t)__builtin_neon_vsublv2si (__a, __b, 1); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vsubl_u8 (uint8x8_t __a, uint8x8_t __b) -{ - return (uint16x8_t)__builtin_neon_vsublv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vsubl_u16 (uint16x4_t __a, uint16x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vsublv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vsubl_u32 (uint32x2_t __a, uint32x2_t __b) -{ - return (uint64x2_t)__builtin_neon_vsublv2si ((int32x2_t) __a, (int32x2_t) __b, 0); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vsubw_s8 (int16x8_t __a, int8x8_t __b) -{ - return (int16x8_t)__builtin_neon_vsubwv8qi (__a, __b, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vsubw_s16 (int32x4_t __a, int16x4_t __b) -{ - return (int32x4_t)__builtin_neon_vsubwv4hi (__a, __b, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vsubw_s32 (int64x2_t __a, int32x2_t __b) -{ - return (int64x2_t)__builtin_neon_vsubwv2si (__a, __b, 1); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vsubw_u8 (uint16x8_t __a, uint8x8_t __b) -{ - return (uint16x8_t)__builtin_neon_vsubwv8qi ((int16x8_t) __a, (int8x8_t) __b, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vsubw_u16 (uint32x4_t __a, uint16x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vsubwv4hi ((int32x4_t) __a, (int16x4_t) __b, 0); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vsubw_u32 (uint64x2_t __a, uint32x2_t __b) -{ - return (uint64x2_t)__builtin_neon_vsubwv2si ((int64x2_t) __a, (int32x2_t) __b, 0); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vhsub_s8 (int8x8_t __a, int8x8_t __b) -{ - return (int8x8_t)__builtin_neon_vhsubv8qi (__a, __b, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vhsub_s16 (int16x4_t __a, int16x4_t __b) -{ - return (int16x4_t)__builtin_neon_vhsubv4hi (__a, __b, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vhsub_s32 (int32x2_t __a, int32x2_t __b) -{ - return (int32x2_t)__builtin_neon_vhsubv2si (__a, __b, 1); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vhsub_u8 (uint8x8_t __a, uint8x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vhsubv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vhsub_u16 (uint16x4_t __a, uint16x4_t __b) -{ - return (uint16x4_t)__builtin_neon_vhsubv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vhsub_u32 (uint32x2_t __a, uint32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vhsubv2si ((int32x2_t) __a, (int32x2_t) __b, 0); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vhsubq_s8 (int8x16_t __a, int8x16_t __b) -{ - return (int8x16_t)__builtin_neon_vhsubv16qi (__a, __b, 1); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vhsubq_s16 (int16x8_t __a, int16x8_t __b) -{ - return (int16x8_t)__builtin_neon_vhsubv8hi (__a, __b, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vhsubq_s32 (int32x4_t __a, int32x4_t __b) -{ - return (int32x4_t)__builtin_neon_vhsubv4si (__a, __b, 1); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vhsubq_u8 (uint8x16_t __a, uint8x16_t __b) -{ - return (uint8x16_t)__builtin_neon_vhsubv16qi ((int8x16_t) __a, (int8x16_t) __b, 0); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vhsubq_u16 (uint16x8_t __a, uint16x8_t __b) -{ - return (uint16x8_t)__builtin_neon_vhsubv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vhsubq_u32 (uint32x4_t __a, uint32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vhsubv4si ((int32x4_t) __a, (int32x4_t) __b, 0); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vqsub_s8 (int8x8_t __a, int8x8_t __b) -{ - return (int8x8_t)__builtin_neon_vqsubv8qi (__a, __b, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vqsub_s16 (int16x4_t __a, int16x4_t __b) -{ - return (int16x4_t)__builtin_neon_vqsubv4hi (__a, __b, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vqsub_s32 (int32x2_t __a, int32x2_t __b) -{ - return (int32x2_t)__builtin_neon_vqsubv2si (__a, __b, 1); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vqsub_s64 (int64x1_t __a, int64x1_t __b) -{ - return (int64x1_t)__builtin_neon_vqsubdi (__a, __b, 1); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vqsub_u8 (uint8x8_t __a, uint8x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vqsubv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vqsub_u16 (uint16x4_t __a, uint16x4_t __b) -{ - return (uint16x4_t)__builtin_neon_vqsubv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vqsub_u32 (uint32x2_t __a, uint32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vqsubv2si ((int32x2_t) __a, (int32x2_t) __b, 0); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vqsub_u64 (uint64x1_t __a, uint64x1_t __b) -{ - return (uint64x1_t)__builtin_neon_vqsubdi ((int64x1_t) __a, (int64x1_t) __b, 0); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vqsubq_s8 (int8x16_t __a, int8x16_t __b) -{ - return (int8x16_t)__builtin_neon_vqsubv16qi (__a, __b, 1); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vqsubq_s16 (int16x8_t __a, int16x8_t __b) -{ - return (int16x8_t)__builtin_neon_vqsubv8hi (__a, __b, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vqsubq_s32 (int32x4_t __a, int32x4_t __b) -{ - return (int32x4_t)__builtin_neon_vqsubv4si (__a, __b, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vqsubq_s64 (int64x2_t __a, int64x2_t __b) -{ - return (int64x2_t)__builtin_neon_vqsubv2di (__a, __b, 1); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vqsubq_u8 (uint8x16_t __a, uint8x16_t __b) -{ - return (uint8x16_t)__builtin_neon_vqsubv16qi ((int8x16_t) __a, (int8x16_t) __b, 0); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vqsubq_u16 (uint16x8_t __a, uint16x8_t __b) -{ - return (uint16x8_t)__builtin_neon_vqsubv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vqsubq_u32 (uint32x4_t __a, uint32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vqsubv4si ((int32x4_t) __a, (int32x4_t) __b, 0); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vqsubq_u64 (uint64x2_t __a, uint64x2_t __b) -{ - return (uint64x2_t)__builtin_neon_vqsubv2di ((int64x2_t) __a, (int64x2_t) __b, 0); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vsubhn_s16 (int16x8_t __a, int16x8_t __b) -{ - return (int8x8_t)__builtin_neon_vsubhnv8hi (__a, __b, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vsubhn_s32 (int32x4_t __a, int32x4_t __b) -{ - return (int16x4_t)__builtin_neon_vsubhnv4si (__a, __b, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vsubhn_s64 (int64x2_t __a, int64x2_t __b) -{ - return (int32x2_t)__builtin_neon_vsubhnv2di (__a, __b, 1); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vsubhn_u16 (uint16x8_t __a, uint16x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vsubhnv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vsubhn_u32 (uint32x4_t __a, uint32x4_t __b) -{ - return (uint16x4_t)__builtin_neon_vsubhnv4si ((int32x4_t) __a, (int32x4_t) __b, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vsubhn_u64 (uint64x2_t __a, uint64x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vsubhnv2di ((int64x2_t) __a, (int64x2_t) __b, 0); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vrsubhn_s16 (int16x8_t __a, int16x8_t __b) -{ - return (int8x8_t)__builtin_neon_vsubhnv8hi (__a, __b, 5); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vrsubhn_s32 (int32x4_t __a, int32x4_t __b) -{ - return (int16x4_t)__builtin_neon_vsubhnv4si (__a, __b, 5); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vrsubhn_s64 (int64x2_t __a, int64x2_t __b) -{ - return (int32x2_t)__builtin_neon_vsubhnv2di (__a, __b, 5); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vrsubhn_u16 (uint16x8_t __a, uint16x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vsubhnv8hi ((int16x8_t) __a, (int16x8_t) __b, 4); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vrsubhn_u32 (uint32x4_t __a, uint32x4_t __b) -{ - return (uint16x4_t)__builtin_neon_vsubhnv4si ((int32x4_t) __a, (int32x4_t) __b, 4); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vrsubhn_u64 (uint64x2_t __a, uint64x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vsubhnv2di ((int64x2_t) __a, (int64x2_t) __b, 4); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vceq_s8 (int8x8_t __a, int8x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vceqv8qi (__a, __b, 1); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vceq_s16 (int16x4_t __a, int16x4_t __b) -{ - return (uint16x4_t)__builtin_neon_vceqv4hi (__a, __b, 1); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vceq_s32 (int32x2_t __a, int32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vceqv2si (__a, __b, 1); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vceq_f32 (float32x2_t __a, float32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vceqv2sf (__a, __b, 3); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vceq_u8 (uint8x8_t __a, uint8x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vceqv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vceq_u16 (uint16x4_t __a, uint16x4_t __b) -{ - return (uint16x4_t)__builtin_neon_vceqv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vceq_u32 (uint32x2_t __a, uint32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vceqv2si ((int32x2_t) __a, (int32x2_t) __b, 0); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vceq_p8 (poly8x8_t __a, poly8x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vceqv8qi ((int8x8_t) __a, (int8x8_t) __b, 2); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vceqq_s8 (int8x16_t __a, int8x16_t __b) -{ - return (uint8x16_t)__builtin_neon_vceqv16qi (__a, __b, 1); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vceqq_s16 (int16x8_t __a, int16x8_t __b) -{ - return (uint16x8_t)__builtin_neon_vceqv8hi (__a, __b, 1); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vceqq_s32 (int32x4_t __a, int32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vceqv4si (__a, __b, 1); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vceqq_f32 (float32x4_t __a, float32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vceqv4sf (__a, __b, 3); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vceqq_u8 (uint8x16_t __a, uint8x16_t __b) -{ - return (uint8x16_t)__builtin_neon_vceqv16qi ((int8x16_t) __a, (int8x16_t) __b, 0); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vceqq_u16 (uint16x8_t __a, uint16x8_t __b) -{ - return (uint16x8_t)__builtin_neon_vceqv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vceqq_u32 (uint32x4_t __a, uint32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vceqv4si ((int32x4_t) __a, (int32x4_t) __b, 0); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vceqq_p8 (poly8x16_t __a, poly8x16_t __b) -{ - return (uint8x16_t)__builtin_neon_vceqv16qi ((int8x16_t) __a, (int8x16_t) __b, 2); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vcge_s8 (int8x8_t __a, int8x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vcgev8qi (__a, __b, 1); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vcge_s16 (int16x4_t __a, int16x4_t __b) -{ - return (uint16x4_t)__builtin_neon_vcgev4hi (__a, __b, 1); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vcge_s32 (int32x2_t __a, int32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vcgev2si (__a, __b, 1); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vcge_f32 (float32x2_t __a, float32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vcgev2sf (__a, __b, 3); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vcge_u8 (uint8x8_t __a, uint8x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vcgeuv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vcge_u16 (uint16x4_t __a, uint16x4_t __b) -{ - return (uint16x4_t)__builtin_neon_vcgeuv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vcge_u32 (uint32x2_t __a, uint32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vcgeuv2si ((int32x2_t) __a, (int32x2_t) __b, 0); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vcgeq_s8 (int8x16_t __a, int8x16_t __b) -{ - return (uint8x16_t)__builtin_neon_vcgev16qi (__a, __b, 1); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vcgeq_s16 (int16x8_t __a, int16x8_t __b) -{ - return (uint16x8_t)__builtin_neon_vcgev8hi (__a, __b, 1); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vcgeq_s32 (int32x4_t __a, int32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vcgev4si (__a, __b, 1); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vcgeq_f32 (float32x4_t __a, float32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vcgev4sf (__a, __b, 3); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vcgeq_u8 (uint8x16_t __a, uint8x16_t __b) -{ - return (uint8x16_t)__builtin_neon_vcgeuv16qi ((int8x16_t) __a, (int8x16_t) __b, 0); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vcgeq_u16 (uint16x8_t __a, uint16x8_t __b) -{ - return (uint16x8_t)__builtin_neon_vcgeuv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vcgeq_u32 (uint32x4_t __a, uint32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vcgeuv4si ((int32x4_t) __a, (int32x4_t) __b, 0); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vcle_s8 (int8x8_t __a, int8x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vcgev8qi (__b, __a, 1); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vcle_s16 (int16x4_t __a, int16x4_t __b) -{ - return (uint16x4_t)__builtin_neon_vcgev4hi (__b, __a, 1); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vcle_s32 (int32x2_t __a, int32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vcgev2si (__b, __a, 1); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vcle_f32 (float32x2_t __a, float32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vcgev2sf (__b, __a, 3); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vcle_u8 (uint8x8_t __a, uint8x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vcgeuv8qi ((int8x8_t) __b, (int8x8_t) __a, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vcle_u16 (uint16x4_t __a, uint16x4_t __b) -{ - return (uint16x4_t)__builtin_neon_vcgeuv4hi ((int16x4_t) __b, (int16x4_t) __a, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vcle_u32 (uint32x2_t __a, uint32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vcgeuv2si ((int32x2_t) __b, (int32x2_t) __a, 0); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vcleq_s8 (int8x16_t __a, int8x16_t __b) -{ - return (uint8x16_t)__builtin_neon_vcgev16qi (__b, __a, 1); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vcleq_s16 (int16x8_t __a, int16x8_t __b) -{ - return (uint16x8_t)__builtin_neon_vcgev8hi (__b, __a, 1); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vcleq_s32 (int32x4_t __a, int32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vcgev4si (__b, __a, 1); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vcleq_f32 (float32x4_t __a, float32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vcgev4sf (__b, __a, 3); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vcleq_u8 (uint8x16_t __a, uint8x16_t __b) -{ - return (uint8x16_t)__builtin_neon_vcgeuv16qi ((int8x16_t) __b, (int8x16_t) __a, 0); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vcleq_u16 (uint16x8_t __a, uint16x8_t __b) -{ - return (uint16x8_t)__builtin_neon_vcgeuv8hi ((int16x8_t) __b, (int16x8_t) __a, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vcleq_u32 (uint32x4_t __a, uint32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vcgeuv4si ((int32x4_t) __b, (int32x4_t) __a, 0); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vcgt_s8 (int8x8_t __a, int8x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vcgtv8qi (__a, __b, 1); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vcgt_s16 (int16x4_t __a, int16x4_t __b) -{ - return (uint16x4_t)__builtin_neon_vcgtv4hi (__a, __b, 1); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vcgt_s32 (int32x2_t __a, int32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vcgtv2si (__a, __b, 1); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vcgt_f32 (float32x2_t __a, float32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vcgtv2sf (__a, __b, 3); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vcgt_u8 (uint8x8_t __a, uint8x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vcgtuv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vcgt_u16 (uint16x4_t __a, uint16x4_t __b) -{ - return (uint16x4_t)__builtin_neon_vcgtuv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vcgt_u32 (uint32x2_t __a, uint32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vcgtuv2si ((int32x2_t) __a, (int32x2_t) __b, 0); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vcgtq_s8 (int8x16_t __a, int8x16_t __b) -{ - return (uint8x16_t)__builtin_neon_vcgtv16qi (__a, __b, 1); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vcgtq_s16 (int16x8_t __a, int16x8_t __b) -{ - return (uint16x8_t)__builtin_neon_vcgtv8hi (__a, __b, 1); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vcgtq_s32 (int32x4_t __a, int32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vcgtv4si (__a, __b, 1); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vcgtq_f32 (float32x4_t __a, float32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vcgtv4sf (__a, __b, 3); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vcgtq_u8 (uint8x16_t __a, uint8x16_t __b) -{ - return (uint8x16_t)__builtin_neon_vcgtuv16qi ((int8x16_t) __a, (int8x16_t) __b, 0); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vcgtq_u16 (uint16x8_t __a, uint16x8_t __b) -{ - return (uint16x8_t)__builtin_neon_vcgtuv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vcgtq_u32 (uint32x4_t __a, uint32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vcgtuv4si ((int32x4_t) __a, (int32x4_t) __b, 0); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vclt_s8 (int8x8_t __a, int8x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vcgtv8qi (__b, __a, 1); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vclt_s16 (int16x4_t __a, int16x4_t __b) -{ - return (uint16x4_t)__builtin_neon_vcgtv4hi (__b, __a, 1); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vclt_s32 (int32x2_t __a, int32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vcgtv2si (__b, __a, 1); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vclt_f32 (float32x2_t __a, float32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vcgtv2sf (__b, __a, 3); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vclt_u8 (uint8x8_t __a, uint8x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vcgtuv8qi ((int8x8_t) __b, (int8x8_t) __a, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vclt_u16 (uint16x4_t __a, uint16x4_t __b) -{ - return (uint16x4_t)__builtin_neon_vcgtuv4hi ((int16x4_t) __b, (int16x4_t) __a, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vclt_u32 (uint32x2_t __a, uint32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vcgtuv2si ((int32x2_t) __b, (int32x2_t) __a, 0); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vcltq_s8 (int8x16_t __a, int8x16_t __b) -{ - return (uint8x16_t)__builtin_neon_vcgtv16qi (__b, __a, 1); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vcltq_s16 (int16x8_t __a, int16x8_t __b) -{ - return (uint16x8_t)__builtin_neon_vcgtv8hi (__b, __a, 1); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vcltq_s32 (int32x4_t __a, int32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vcgtv4si (__b, __a, 1); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vcltq_f32 (float32x4_t __a, float32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vcgtv4sf (__b, __a, 3); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vcltq_u8 (uint8x16_t __a, uint8x16_t __b) -{ - return (uint8x16_t)__builtin_neon_vcgtuv16qi ((int8x16_t) __b, (int8x16_t) __a, 0); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vcltq_u16 (uint16x8_t __a, uint16x8_t __b) -{ - return (uint16x8_t)__builtin_neon_vcgtuv8hi ((int16x8_t) __b, (int16x8_t) __a, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vcltq_u32 (uint32x4_t __a, uint32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vcgtuv4si ((int32x4_t) __b, (int32x4_t) __a, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vcage_f32 (float32x2_t __a, float32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vcagev2sf (__a, __b, 3); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vcageq_f32 (float32x4_t __a, float32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vcagev4sf (__a, __b, 3); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vcale_f32 (float32x2_t __a, float32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vcagev2sf (__b, __a, 3); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vcaleq_f32 (float32x4_t __a, float32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vcagev4sf (__b, __a, 3); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vcagt_f32 (float32x2_t __a, float32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vcagtv2sf (__a, __b, 3); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vcagtq_f32 (float32x4_t __a, float32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vcagtv4sf (__a, __b, 3); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vcalt_f32 (float32x2_t __a, float32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vcagtv2sf (__b, __a, 3); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vcaltq_f32 (float32x4_t __a, float32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vcagtv4sf (__b, __a, 3); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vtst_s8 (int8x8_t __a, int8x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vtstv8qi (__a, __b, 1); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vtst_s16 (int16x4_t __a, int16x4_t __b) -{ - return (uint16x4_t)__builtin_neon_vtstv4hi (__a, __b, 1); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vtst_s32 (int32x2_t __a, int32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vtstv2si (__a, __b, 1); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vtst_u8 (uint8x8_t __a, uint8x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vtstv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vtst_u16 (uint16x4_t __a, uint16x4_t __b) -{ - return (uint16x4_t)__builtin_neon_vtstv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vtst_u32 (uint32x2_t __a, uint32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vtstv2si ((int32x2_t) __a, (int32x2_t) __b, 0); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vtst_p8 (poly8x8_t __a, poly8x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vtstv8qi ((int8x8_t) __a, (int8x8_t) __b, 2); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vtstq_s8 (int8x16_t __a, int8x16_t __b) -{ - return (uint8x16_t)__builtin_neon_vtstv16qi (__a, __b, 1); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vtstq_s16 (int16x8_t __a, int16x8_t __b) -{ - return (uint16x8_t)__builtin_neon_vtstv8hi (__a, __b, 1); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vtstq_s32 (int32x4_t __a, int32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vtstv4si (__a, __b, 1); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vtstq_u8 (uint8x16_t __a, uint8x16_t __b) -{ - return (uint8x16_t)__builtin_neon_vtstv16qi ((int8x16_t) __a, (int8x16_t) __b, 0); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vtstq_u16 (uint16x8_t __a, uint16x8_t __b) -{ - return (uint16x8_t)__builtin_neon_vtstv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vtstq_u32 (uint32x4_t __a, uint32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vtstv4si ((int32x4_t) __a, (int32x4_t) __b, 0); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vtstq_p8 (poly8x16_t __a, poly8x16_t __b) -{ - return (uint8x16_t)__builtin_neon_vtstv16qi ((int8x16_t) __a, (int8x16_t) __b, 2); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vabd_s8 (int8x8_t __a, int8x8_t __b) -{ - return (int8x8_t)__builtin_neon_vabdv8qi (__a, __b, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vabd_s16 (int16x4_t __a, int16x4_t __b) -{ - return (int16x4_t)__builtin_neon_vabdv4hi (__a, __b, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vabd_s32 (int32x2_t __a, int32x2_t __b) -{ - return (int32x2_t)__builtin_neon_vabdv2si (__a, __b, 1); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vabd_f32 (float32x2_t __a, float32x2_t __b) -{ - return (float32x2_t)__builtin_neon_vabdv2sf (__a, __b, 3); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vabd_u8 (uint8x8_t __a, uint8x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vabdv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vabd_u16 (uint16x4_t __a, uint16x4_t __b) -{ - return (uint16x4_t)__builtin_neon_vabdv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vabd_u32 (uint32x2_t __a, uint32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vabdv2si ((int32x2_t) __a, (int32x2_t) __b, 0); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vabdq_s8 (int8x16_t __a, int8x16_t __b) -{ - return (int8x16_t)__builtin_neon_vabdv16qi (__a, __b, 1); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vabdq_s16 (int16x8_t __a, int16x8_t __b) -{ - return (int16x8_t)__builtin_neon_vabdv8hi (__a, __b, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vabdq_s32 (int32x4_t __a, int32x4_t __b) -{ - return (int32x4_t)__builtin_neon_vabdv4si (__a, __b, 1); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vabdq_f32 (float32x4_t __a, float32x4_t __b) -{ - return (float32x4_t)__builtin_neon_vabdv4sf (__a, __b, 3); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vabdq_u8 (uint8x16_t __a, uint8x16_t __b) -{ - return (uint8x16_t)__builtin_neon_vabdv16qi ((int8x16_t) __a, (int8x16_t) __b, 0); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vabdq_u16 (uint16x8_t __a, uint16x8_t __b) -{ - return (uint16x8_t)__builtin_neon_vabdv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vabdq_u32 (uint32x4_t __a, uint32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vabdv4si ((int32x4_t) __a, (int32x4_t) __b, 0); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vabdl_s8 (int8x8_t __a, int8x8_t __b) -{ - return (int16x8_t)__builtin_neon_vabdlv8qi (__a, __b, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vabdl_s16 (int16x4_t __a, int16x4_t __b) -{ - return (int32x4_t)__builtin_neon_vabdlv4hi (__a, __b, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vabdl_s32 (int32x2_t __a, int32x2_t __b) -{ - return (int64x2_t)__builtin_neon_vabdlv2si (__a, __b, 1); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vabdl_u8 (uint8x8_t __a, uint8x8_t __b) -{ - return (uint16x8_t)__builtin_neon_vabdlv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vabdl_u16 (uint16x4_t __a, uint16x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vabdlv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vabdl_u32 (uint32x2_t __a, uint32x2_t __b) -{ - return (uint64x2_t)__builtin_neon_vabdlv2si ((int32x2_t) __a, (int32x2_t) __b, 0); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vaba_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c) -{ - return (int8x8_t)__builtin_neon_vabav8qi (__a, __b, __c, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vaba_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c) -{ - return (int16x4_t)__builtin_neon_vabav4hi (__a, __b, __c, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vaba_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c) -{ - return (int32x2_t)__builtin_neon_vabav2si (__a, __b, __c, 1); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vaba_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c) -{ - return (uint8x8_t)__builtin_neon_vabav8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vaba_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c) -{ - return (uint16x4_t)__builtin_neon_vabav4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vaba_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c) -{ - return (uint32x2_t)__builtin_neon_vabav2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vabaq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c) -{ - return (int8x16_t)__builtin_neon_vabav16qi (__a, __b, __c, 1); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vabaq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c) -{ - return (int16x8_t)__builtin_neon_vabav8hi (__a, __b, __c, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vabaq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c) -{ - return (int32x4_t)__builtin_neon_vabav4si (__a, __b, __c, 1); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vabaq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c) -{ - return (uint8x16_t)__builtin_neon_vabav16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c, 0); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vabaq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c) -{ - return (uint16x8_t)__builtin_neon_vabav8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vabaq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c) -{ - return (uint32x4_t)__builtin_neon_vabav4si ((int32x4_t) __a, (int32x4_t) __b, (int32x4_t) __c, 0); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vabal_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c) -{ - return (int16x8_t)__builtin_neon_vabalv8qi (__a, __b, __c, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vabal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c) -{ - return (int32x4_t)__builtin_neon_vabalv4hi (__a, __b, __c, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vabal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c) -{ - return (int64x2_t)__builtin_neon_vabalv2si (__a, __b, __c, 1); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vabal_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c) -{ - return (uint16x8_t)__builtin_neon_vabalv8qi ((int16x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vabal_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c) -{ - return (uint32x4_t)__builtin_neon_vabalv4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vabal_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c) -{ - return (uint64x2_t)__builtin_neon_vabalv2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vmax_s8 (int8x8_t __a, int8x8_t __b) -{ - return (int8x8_t)__builtin_neon_vmaxv8qi (__a, __b, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vmax_s16 (int16x4_t __a, int16x4_t __b) -{ - return (int16x4_t)__builtin_neon_vmaxv4hi (__a, __b, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vmax_s32 (int32x2_t __a, int32x2_t __b) -{ - return (int32x2_t)__builtin_neon_vmaxv2si (__a, __b, 1); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vmax_f32 (float32x2_t __a, float32x2_t __b) -{ - return (float32x2_t)__builtin_neon_vmaxv2sf (__a, __b, 3); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vmax_u8 (uint8x8_t __a, uint8x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vmaxv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vmax_u16 (uint16x4_t __a, uint16x4_t __b) -{ - return (uint16x4_t)__builtin_neon_vmaxv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vmax_u32 (uint32x2_t __a, uint32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vmaxv2si ((int32x2_t) __a, (int32x2_t) __b, 0); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vmaxq_s8 (int8x16_t __a, int8x16_t __b) -{ - return (int8x16_t)__builtin_neon_vmaxv16qi (__a, __b, 1); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vmaxq_s16 (int16x8_t __a, int16x8_t __b) -{ - return (int16x8_t)__builtin_neon_vmaxv8hi (__a, __b, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vmaxq_s32 (int32x4_t __a, int32x4_t __b) -{ - return (int32x4_t)__builtin_neon_vmaxv4si (__a, __b, 1); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vmaxq_f32 (float32x4_t __a, float32x4_t __b) -{ - return (float32x4_t)__builtin_neon_vmaxv4sf (__a, __b, 3); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vmaxq_u8 (uint8x16_t __a, uint8x16_t __b) -{ - return (uint8x16_t)__builtin_neon_vmaxv16qi ((int8x16_t) __a, (int8x16_t) __b, 0); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vmaxq_u16 (uint16x8_t __a, uint16x8_t __b) -{ - return (uint16x8_t)__builtin_neon_vmaxv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vmaxq_u32 (uint32x4_t __a, uint32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vmaxv4si ((int32x4_t) __a, (int32x4_t) __b, 0); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vmin_s8 (int8x8_t __a, int8x8_t __b) -{ - return (int8x8_t)__builtin_neon_vminv8qi (__a, __b, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vmin_s16 (int16x4_t __a, int16x4_t __b) -{ - return (int16x4_t)__builtin_neon_vminv4hi (__a, __b, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vmin_s32 (int32x2_t __a, int32x2_t __b) -{ - return (int32x2_t)__builtin_neon_vminv2si (__a, __b, 1); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vmin_f32 (float32x2_t __a, float32x2_t __b) -{ - return (float32x2_t)__builtin_neon_vminv2sf (__a, __b, 3); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vmin_u8 (uint8x8_t __a, uint8x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vminv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vmin_u16 (uint16x4_t __a, uint16x4_t __b) -{ - return (uint16x4_t)__builtin_neon_vminv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vmin_u32 (uint32x2_t __a, uint32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vminv2si ((int32x2_t) __a, (int32x2_t) __b, 0); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vminq_s8 (int8x16_t __a, int8x16_t __b) -{ - return (int8x16_t)__builtin_neon_vminv16qi (__a, __b, 1); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vminq_s16 (int16x8_t __a, int16x8_t __b) -{ - return (int16x8_t)__builtin_neon_vminv8hi (__a, __b, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vminq_s32 (int32x4_t __a, int32x4_t __b) -{ - return (int32x4_t)__builtin_neon_vminv4si (__a, __b, 1); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vminq_f32 (float32x4_t __a, float32x4_t __b) -{ - return (float32x4_t)__builtin_neon_vminv4sf (__a, __b, 3); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vminq_u8 (uint8x16_t __a, uint8x16_t __b) -{ - return (uint8x16_t)__builtin_neon_vminv16qi ((int8x16_t) __a, (int8x16_t) __b, 0); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vminq_u16 (uint16x8_t __a, uint16x8_t __b) -{ - return (uint16x8_t)__builtin_neon_vminv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vminq_u32 (uint32x4_t __a, uint32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vminv4si ((int32x4_t) __a, (int32x4_t) __b, 0); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vpadd_s8 (int8x8_t __a, int8x8_t __b) -{ - return (int8x8_t)__builtin_neon_vpaddv8qi (__a, __b, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vpadd_s16 (int16x4_t __a, int16x4_t __b) -{ - return (int16x4_t)__builtin_neon_vpaddv4hi (__a, __b, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vpadd_s32 (int32x2_t __a, int32x2_t __b) -{ - return (int32x2_t)__builtin_neon_vpaddv2si (__a, __b, 1); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vpadd_f32 (float32x2_t __a, float32x2_t __b) -{ - return (float32x2_t)__builtin_neon_vpaddv2sf (__a, __b, 3); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vpadd_u8 (uint8x8_t __a, uint8x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vpaddv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vpadd_u16 (uint16x4_t __a, uint16x4_t __b) -{ - return (uint16x4_t)__builtin_neon_vpaddv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vpadd_u32 (uint32x2_t __a, uint32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vpaddv2si ((int32x2_t) __a, (int32x2_t) __b, 0); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vpaddl_s8 (int8x8_t __a) -{ - return (int16x4_t)__builtin_neon_vpaddlv8qi (__a, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vpaddl_s16 (int16x4_t __a) -{ - return (int32x2_t)__builtin_neon_vpaddlv4hi (__a, 1); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vpaddl_s32 (int32x2_t __a) -{ - return (int64x1_t)__builtin_neon_vpaddlv2si (__a, 1); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vpaddl_u8 (uint8x8_t __a) -{ - return (uint16x4_t)__builtin_neon_vpaddlv8qi ((int8x8_t) __a, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vpaddl_u16 (uint16x4_t __a) -{ - return (uint32x2_t)__builtin_neon_vpaddlv4hi ((int16x4_t) __a, 0); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vpaddl_u32 (uint32x2_t __a) -{ - return (uint64x1_t)__builtin_neon_vpaddlv2si ((int32x2_t) __a, 0); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vpaddlq_s8 (int8x16_t __a) -{ - return (int16x8_t)__builtin_neon_vpaddlv16qi (__a, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vpaddlq_s16 (int16x8_t __a) -{ - return (int32x4_t)__builtin_neon_vpaddlv8hi (__a, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vpaddlq_s32 (int32x4_t __a) -{ - return (int64x2_t)__builtin_neon_vpaddlv4si (__a, 1); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vpaddlq_u8 (uint8x16_t __a) -{ - return (uint16x8_t)__builtin_neon_vpaddlv16qi ((int8x16_t) __a, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vpaddlq_u16 (uint16x8_t __a) -{ - return (uint32x4_t)__builtin_neon_vpaddlv8hi ((int16x8_t) __a, 0); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vpaddlq_u32 (uint32x4_t __a) -{ - return (uint64x2_t)__builtin_neon_vpaddlv4si ((int32x4_t) __a, 0); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vpadal_s8 (int16x4_t __a, int8x8_t __b) -{ - return (int16x4_t)__builtin_neon_vpadalv8qi (__a, __b, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vpadal_s16 (int32x2_t __a, int16x4_t __b) -{ - return (int32x2_t)__builtin_neon_vpadalv4hi (__a, __b, 1); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vpadal_s32 (int64x1_t __a, int32x2_t __b) -{ - return (int64x1_t)__builtin_neon_vpadalv2si (__a, __b, 1); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vpadal_u8 (uint16x4_t __a, uint8x8_t __b) -{ - return (uint16x4_t)__builtin_neon_vpadalv8qi ((int16x4_t) __a, (int8x8_t) __b, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vpadal_u16 (uint32x2_t __a, uint16x4_t __b) -{ - return (uint32x2_t)__builtin_neon_vpadalv4hi ((int32x2_t) __a, (int16x4_t) __b, 0); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vpadal_u32 (uint64x1_t __a, uint32x2_t __b) -{ - return (uint64x1_t)__builtin_neon_vpadalv2si ((int64x1_t) __a, (int32x2_t) __b, 0); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vpadalq_s8 (int16x8_t __a, int8x16_t __b) -{ - return (int16x8_t)__builtin_neon_vpadalv16qi (__a, __b, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vpadalq_s16 (int32x4_t __a, int16x8_t __b) -{ - return (int32x4_t)__builtin_neon_vpadalv8hi (__a, __b, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vpadalq_s32 (int64x2_t __a, int32x4_t __b) -{ - return (int64x2_t)__builtin_neon_vpadalv4si (__a, __b, 1); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vpadalq_u8 (uint16x8_t __a, uint8x16_t __b) -{ - return (uint16x8_t)__builtin_neon_vpadalv16qi ((int16x8_t) __a, (int8x16_t) __b, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vpadalq_u16 (uint32x4_t __a, uint16x8_t __b) -{ - return (uint32x4_t)__builtin_neon_vpadalv8hi ((int32x4_t) __a, (int16x8_t) __b, 0); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vpadalq_u32 (uint64x2_t __a, uint32x4_t __b) -{ - return (uint64x2_t)__builtin_neon_vpadalv4si ((int64x2_t) __a, (int32x4_t) __b, 0); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vpmax_s8 (int8x8_t __a, int8x8_t __b) -{ - return (int8x8_t)__builtin_neon_vpmaxv8qi (__a, __b, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vpmax_s16 (int16x4_t __a, int16x4_t __b) -{ - return (int16x4_t)__builtin_neon_vpmaxv4hi (__a, __b, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vpmax_s32 (int32x2_t __a, int32x2_t __b) -{ - return (int32x2_t)__builtin_neon_vpmaxv2si (__a, __b, 1); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vpmax_f32 (float32x2_t __a, float32x2_t __b) -{ - return (float32x2_t)__builtin_neon_vpmaxv2sf (__a, __b, 3); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vpmax_u8 (uint8x8_t __a, uint8x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vpmaxv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vpmax_u16 (uint16x4_t __a, uint16x4_t __b) -{ - return (uint16x4_t)__builtin_neon_vpmaxv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vpmax_u32 (uint32x2_t __a, uint32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vpmaxv2si ((int32x2_t) __a, (int32x2_t) __b, 0); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vpmin_s8 (int8x8_t __a, int8x8_t __b) -{ - return (int8x8_t)__builtin_neon_vpminv8qi (__a, __b, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vpmin_s16 (int16x4_t __a, int16x4_t __b) -{ - return (int16x4_t)__builtin_neon_vpminv4hi (__a, __b, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vpmin_s32 (int32x2_t __a, int32x2_t __b) -{ - return (int32x2_t)__builtin_neon_vpminv2si (__a, __b, 1); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vpmin_f32 (float32x2_t __a, float32x2_t __b) -{ - return (float32x2_t)__builtin_neon_vpminv2sf (__a, __b, 3); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vpmin_u8 (uint8x8_t __a, uint8x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vpminv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vpmin_u16 (uint16x4_t __a, uint16x4_t __b) -{ - return (uint16x4_t)__builtin_neon_vpminv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vpmin_u32 (uint32x2_t __a, uint32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vpminv2si ((int32x2_t) __a, (int32x2_t) __b, 0); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vrecps_f32 (float32x2_t __a, float32x2_t __b) -{ - return (float32x2_t)__builtin_neon_vrecpsv2sf (__a, __b, 3); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vrecpsq_f32 (float32x4_t __a, float32x4_t __b) -{ - return (float32x4_t)__builtin_neon_vrecpsv4sf (__a, __b, 3); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vrsqrts_f32 (float32x2_t __a, float32x2_t __b) -{ - return (float32x2_t)__builtin_neon_vrsqrtsv2sf (__a, __b, 3); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vrsqrtsq_f32 (float32x4_t __a, float32x4_t __b) -{ - return (float32x4_t)__builtin_neon_vrsqrtsv4sf (__a, __b, 3); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vshl_s8 (int8x8_t __a, int8x8_t __b) -{ - return (int8x8_t)__builtin_neon_vshlv8qi (__a, __b, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vshl_s16 (int16x4_t __a, int16x4_t __b) -{ - return (int16x4_t)__builtin_neon_vshlv4hi (__a, __b, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vshl_s32 (int32x2_t __a, int32x2_t __b) -{ - return (int32x2_t)__builtin_neon_vshlv2si (__a, __b, 1); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vshl_s64 (int64x1_t __a, int64x1_t __b) -{ - return (int64x1_t)__builtin_neon_vshldi (__a, __b, 1); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vshl_u8 (uint8x8_t __a, int8x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vshlv8qi ((int8x8_t) __a, __b, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vshl_u16 (uint16x4_t __a, int16x4_t __b) -{ - return (uint16x4_t)__builtin_neon_vshlv4hi ((int16x4_t) __a, __b, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vshl_u32 (uint32x2_t __a, int32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vshlv2si ((int32x2_t) __a, __b, 0); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vshl_u64 (uint64x1_t __a, int64x1_t __b) -{ - return (uint64x1_t)__builtin_neon_vshldi ((int64x1_t) __a, __b, 0); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vshlq_s8 (int8x16_t __a, int8x16_t __b) -{ - return (int8x16_t)__builtin_neon_vshlv16qi (__a, __b, 1); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vshlq_s16 (int16x8_t __a, int16x8_t __b) -{ - return (int16x8_t)__builtin_neon_vshlv8hi (__a, __b, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vshlq_s32 (int32x4_t __a, int32x4_t __b) -{ - return (int32x4_t)__builtin_neon_vshlv4si (__a, __b, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vshlq_s64 (int64x2_t __a, int64x2_t __b) -{ - return (int64x2_t)__builtin_neon_vshlv2di (__a, __b, 1); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vshlq_u8 (uint8x16_t __a, int8x16_t __b) -{ - return (uint8x16_t)__builtin_neon_vshlv16qi ((int8x16_t) __a, __b, 0); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vshlq_u16 (uint16x8_t __a, int16x8_t __b) -{ - return (uint16x8_t)__builtin_neon_vshlv8hi ((int16x8_t) __a, __b, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vshlq_u32 (uint32x4_t __a, int32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vshlv4si ((int32x4_t) __a, __b, 0); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vshlq_u64 (uint64x2_t __a, int64x2_t __b) -{ - return (uint64x2_t)__builtin_neon_vshlv2di ((int64x2_t) __a, __b, 0); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vrshl_s8 (int8x8_t __a, int8x8_t __b) -{ - return (int8x8_t)__builtin_neon_vshlv8qi (__a, __b, 5); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vrshl_s16 (int16x4_t __a, int16x4_t __b) -{ - return (int16x4_t)__builtin_neon_vshlv4hi (__a, __b, 5); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vrshl_s32 (int32x2_t __a, int32x2_t __b) -{ - return (int32x2_t)__builtin_neon_vshlv2si (__a, __b, 5); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vrshl_s64 (int64x1_t __a, int64x1_t __b) -{ - return (int64x1_t)__builtin_neon_vshldi (__a, __b, 5); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vrshl_u8 (uint8x8_t __a, int8x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vshlv8qi ((int8x8_t) __a, __b, 4); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vrshl_u16 (uint16x4_t __a, int16x4_t __b) -{ - return (uint16x4_t)__builtin_neon_vshlv4hi ((int16x4_t) __a, __b, 4); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vrshl_u32 (uint32x2_t __a, int32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vshlv2si ((int32x2_t) __a, __b, 4); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vrshl_u64 (uint64x1_t __a, int64x1_t __b) -{ - return (uint64x1_t)__builtin_neon_vshldi ((int64x1_t) __a, __b, 4); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vrshlq_s8 (int8x16_t __a, int8x16_t __b) -{ - return (int8x16_t)__builtin_neon_vshlv16qi (__a, __b, 5); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vrshlq_s16 (int16x8_t __a, int16x8_t __b) -{ - return (int16x8_t)__builtin_neon_vshlv8hi (__a, __b, 5); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vrshlq_s32 (int32x4_t __a, int32x4_t __b) -{ - return (int32x4_t)__builtin_neon_vshlv4si (__a, __b, 5); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vrshlq_s64 (int64x2_t __a, int64x2_t __b) -{ - return (int64x2_t)__builtin_neon_vshlv2di (__a, __b, 5); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vrshlq_u8 (uint8x16_t __a, int8x16_t __b) -{ - return (uint8x16_t)__builtin_neon_vshlv16qi ((int8x16_t) __a, __b, 4); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vrshlq_u16 (uint16x8_t __a, int16x8_t __b) -{ - return (uint16x8_t)__builtin_neon_vshlv8hi ((int16x8_t) __a, __b, 4); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vrshlq_u32 (uint32x4_t __a, int32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vshlv4si ((int32x4_t) __a, __b, 4); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vrshlq_u64 (uint64x2_t __a, int64x2_t __b) -{ - return (uint64x2_t)__builtin_neon_vshlv2di ((int64x2_t) __a, __b, 4); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vqshl_s8 (int8x8_t __a, int8x8_t __b) -{ - return (int8x8_t)__builtin_neon_vqshlv8qi (__a, __b, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vqshl_s16 (int16x4_t __a, int16x4_t __b) -{ - return (int16x4_t)__builtin_neon_vqshlv4hi (__a, __b, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vqshl_s32 (int32x2_t __a, int32x2_t __b) -{ - return (int32x2_t)__builtin_neon_vqshlv2si (__a, __b, 1); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vqshl_s64 (int64x1_t __a, int64x1_t __b) -{ - return (int64x1_t)__builtin_neon_vqshldi (__a, __b, 1); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vqshl_u8 (uint8x8_t __a, int8x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vqshlv8qi ((int8x8_t) __a, __b, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vqshl_u16 (uint16x4_t __a, int16x4_t __b) -{ - return (uint16x4_t)__builtin_neon_vqshlv4hi ((int16x4_t) __a, __b, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vqshl_u32 (uint32x2_t __a, int32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vqshlv2si ((int32x2_t) __a, __b, 0); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vqshl_u64 (uint64x1_t __a, int64x1_t __b) -{ - return (uint64x1_t)__builtin_neon_vqshldi ((int64x1_t) __a, __b, 0); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vqshlq_s8 (int8x16_t __a, int8x16_t __b) -{ - return (int8x16_t)__builtin_neon_vqshlv16qi (__a, __b, 1); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vqshlq_s16 (int16x8_t __a, int16x8_t __b) -{ - return (int16x8_t)__builtin_neon_vqshlv8hi (__a, __b, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vqshlq_s32 (int32x4_t __a, int32x4_t __b) -{ - return (int32x4_t)__builtin_neon_vqshlv4si (__a, __b, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vqshlq_s64 (int64x2_t __a, int64x2_t __b) -{ - return (int64x2_t)__builtin_neon_vqshlv2di (__a, __b, 1); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vqshlq_u8 (uint8x16_t __a, int8x16_t __b) -{ - return (uint8x16_t)__builtin_neon_vqshlv16qi ((int8x16_t) __a, __b, 0); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vqshlq_u16 (uint16x8_t __a, int16x8_t __b) -{ - return (uint16x8_t)__builtin_neon_vqshlv8hi ((int16x8_t) __a, __b, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vqshlq_u32 (uint32x4_t __a, int32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vqshlv4si ((int32x4_t) __a, __b, 0); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vqshlq_u64 (uint64x2_t __a, int64x2_t __b) -{ - return (uint64x2_t)__builtin_neon_vqshlv2di ((int64x2_t) __a, __b, 0); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vqrshl_s8 (int8x8_t __a, int8x8_t __b) -{ - return (int8x8_t)__builtin_neon_vqshlv8qi (__a, __b, 5); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vqrshl_s16 (int16x4_t __a, int16x4_t __b) -{ - return (int16x4_t)__builtin_neon_vqshlv4hi (__a, __b, 5); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vqrshl_s32 (int32x2_t __a, int32x2_t __b) -{ - return (int32x2_t)__builtin_neon_vqshlv2si (__a, __b, 5); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vqrshl_s64 (int64x1_t __a, int64x1_t __b) -{ - return (int64x1_t)__builtin_neon_vqshldi (__a, __b, 5); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vqrshl_u8 (uint8x8_t __a, int8x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vqshlv8qi ((int8x8_t) __a, __b, 4); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vqrshl_u16 (uint16x4_t __a, int16x4_t __b) -{ - return (uint16x4_t)__builtin_neon_vqshlv4hi ((int16x4_t) __a, __b, 4); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vqrshl_u32 (uint32x2_t __a, int32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vqshlv2si ((int32x2_t) __a, __b, 4); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vqrshl_u64 (uint64x1_t __a, int64x1_t __b) -{ - return (uint64x1_t)__builtin_neon_vqshldi ((int64x1_t) __a, __b, 4); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vqrshlq_s8 (int8x16_t __a, int8x16_t __b) -{ - return (int8x16_t)__builtin_neon_vqshlv16qi (__a, __b, 5); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vqrshlq_s16 (int16x8_t __a, int16x8_t __b) -{ - return (int16x8_t)__builtin_neon_vqshlv8hi (__a, __b, 5); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vqrshlq_s32 (int32x4_t __a, int32x4_t __b) -{ - return (int32x4_t)__builtin_neon_vqshlv4si (__a, __b, 5); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vqrshlq_s64 (int64x2_t __a, int64x2_t __b) -{ - return (int64x2_t)__builtin_neon_vqshlv2di (__a, __b, 5); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vqrshlq_u8 (uint8x16_t __a, int8x16_t __b) -{ - return (uint8x16_t)__builtin_neon_vqshlv16qi ((int8x16_t) __a, __b, 4); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vqrshlq_u16 (uint16x8_t __a, int16x8_t __b) -{ - return (uint16x8_t)__builtin_neon_vqshlv8hi ((int16x8_t) __a, __b, 4); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vqrshlq_u32 (uint32x4_t __a, int32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vqshlv4si ((int32x4_t) __a, __b, 4); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vqrshlq_u64 (uint64x2_t __a, int64x2_t __b) -{ - return (uint64x2_t)__builtin_neon_vqshlv2di ((int64x2_t) __a, __b, 4); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vshr_n_s8 (int8x8_t __a, const int __b) -{ - return (int8x8_t)__builtin_neon_vshr_nv8qi (__a, __b, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vshr_n_s16 (int16x4_t __a, const int __b) -{ - return (int16x4_t)__builtin_neon_vshr_nv4hi (__a, __b, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vshr_n_s32 (int32x2_t __a, const int __b) -{ - return (int32x2_t)__builtin_neon_vshr_nv2si (__a, __b, 1); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vshr_n_s64 (int64x1_t __a, const int __b) -{ - return (int64x1_t)__builtin_neon_vshr_ndi (__a, __b, 1); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vshr_n_u8 (uint8x8_t __a, const int __b) -{ - return (uint8x8_t)__builtin_neon_vshr_nv8qi ((int8x8_t) __a, __b, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vshr_n_u16 (uint16x4_t __a, const int __b) -{ - return (uint16x4_t)__builtin_neon_vshr_nv4hi ((int16x4_t) __a, __b, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vshr_n_u32 (uint32x2_t __a, const int __b) -{ - return (uint32x2_t)__builtin_neon_vshr_nv2si ((int32x2_t) __a, __b, 0); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vshr_n_u64 (uint64x1_t __a, const int __b) -{ - return (uint64x1_t)__builtin_neon_vshr_ndi ((int64x1_t) __a, __b, 0); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vshrq_n_s8 (int8x16_t __a, const int __b) -{ - return (int8x16_t)__builtin_neon_vshr_nv16qi (__a, __b, 1); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vshrq_n_s16 (int16x8_t __a, const int __b) -{ - return (int16x8_t)__builtin_neon_vshr_nv8hi (__a, __b, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vshrq_n_s32 (int32x4_t __a, const int __b) -{ - return (int32x4_t)__builtin_neon_vshr_nv4si (__a, __b, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vshrq_n_s64 (int64x2_t __a, const int __b) -{ - return (int64x2_t)__builtin_neon_vshr_nv2di (__a, __b, 1); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vshrq_n_u8 (uint8x16_t __a, const int __b) -{ - return (uint8x16_t)__builtin_neon_vshr_nv16qi ((int8x16_t) __a, __b, 0); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vshrq_n_u16 (uint16x8_t __a, const int __b) -{ - return (uint16x8_t)__builtin_neon_vshr_nv8hi ((int16x8_t) __a, __b, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vshrq_n_u32 (uint32x4_t __a, const int __b) -{ - return (uint32x4_t)__builtin_neon_vshr_nv4si ((int32x4_t) __a, __b, 0); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vshrq_n_u64 (uint64x2_t __a, const int __b) -{ - return (uint64x2_t)__builtin_neon_vshr_nv2di ((int64x2_t) __a, __b, 0); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vrshr_n_s8 (int8x8_t __a, const int __b) -{ - return (int8x8_t)__builtin_neon_vshr_nv8qi (__a, __b, 5); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vrshr_n_s16 (int16x4_t __a, const int __b) -{ - return (int16x4_t)__builtin_neon_vshr_nv4hi (__a, __b, 5); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vrshr_n_s32 (int32x2_t __a, const int __b) -{ - return (int32x2_t)__builtin_neon_vshr_nv2si (__a, __b, 5); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vrshr_n_s64 (int64x1_t __a, const int __b) -{ - return (int64x1_t)__builtin_neon_vshr_ndi (__a, __b, 5); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vrshr_n_u8 (uint8x8_t __a, const int __b) -{ - return (uint8x8_t)__builtin_neon_vshr_nv8qi ((int8x8_t) __a, __b, 4); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vrshr_n_u16 (uint16x4_t __a, const int __b) -{ - return (uint16x4_t)__builtin_neon_vshr_nv4hi ((int16x4_t) __a, __b, 4); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vrshr_n_u32 (uint32x2_t __a, const int __b) -{ - return (uint32x2_t)__builtin_neon_vshr_nv2si ((int32x2_t) __a, __b, 4); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vrshr_n_u64 (uint64x1_t __a, const int __b) -{ - return (uint64x1_t)__builtin_neon_vshr_ndi ((int64x1_t) __a, __b, 4); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vrshrq_n_s8 (int8x16_t __a, const int __b) -{ - return (int8x16_t)__builtin_neon_vshr_nv16qi (__a, __b, 5); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vrshrq_n_s16 (int16x8_t __a, const int __b) -{ - return (int16x8_t)__builtin_neon_vshr_nv8hi (__a, __b, 5); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vrshrq_n_s32 (int32x4_t __a, const int __b) -{ - return (int32x4_t)__builtin_neon_vshr_nv4si (__a, __b, 5); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vrshrq_n_s64 (int64x2_t __a, const int __b) -{ - return (int64x2_t)__builtin_neon_vshr_nv2di (__a, __b, 5); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vrshrq_n_u8 (uint8x16_t __a, const int __b) -{ - return (uint8x16_t)__builtin_neon_vshr_nv16qi ((int8x16_t) __a, __b, 4); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vrshrq_n_u16 (uint16x8_t __a, const int __b) -{ - return (uint16x8_t)__builtin_neon_vshr_nv8hi ((int16x8_t) __a, __b, 4); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vrshrq_n_u32 (uint32x4_t __a, const int __b) -{ - return (uint32x4_t)__builtin_neon_vshr_nv4si ((int32x4_t) __a, __b, 4); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vrshrq_n_u64 (uint64x2_t __a, const int __b) -{ - return (uint64x2_t)__builtin_neon_vshr_nv2di ((int64x2_t) __a, __b, 4); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vshrn_n_s16 (int16x8_t __a, const int __b) -{ - return (int8x8_t)__builtin_neon_vshrn_nv8hi (__a, __b, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vshrn_n_s32 (int32x4_t __a, const int __b) -{ - return (int16x4_t)__builtin_neon_vshrn_nv4si (__a, __b, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vshrn_n_s64 (int64x2_t __a, const int __b) -{ - return (int32x2_t)__builtin_neon_vshrn_nv2di (__a, __b, 1); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vshrn_n_u16 (uint16x8_t __a, const int __b) -{ - return (uint8x8_t)__builtin_neon_vshrn_nv8hi ((int16x8_t) __a, __b, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vshrn_n_u32 (uint32x4_t __a, const int __b) -{ - return (uint16x4_t)__builtin_neon_vshrn_nv4si ((int32x4_t) __a, __b, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vshrn_n_u64 (uint64x2_t __a, const int __b) -{ - return (uint32x2_t)__builtin_neon_vshrn_nv2di ((int64x2_t) __a, __b, 0); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vrshrn_n_s16 (int16x8_t __a, const int __b) -{ - return (int8x8_t)__builtin_neon_vshrn_nv8hi (__a, __b, 5); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vrshrn_n_s32 (int32x4_t __a, const int __b) -{ - return (int16x4_t)__builtin_neon_vshrn_nv4si (__a, __b, 5); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vrshrn_n_s64 (int64x2_t __a, const int __b) -{ - return (int32x2_t)__builtin_neon_vshrn_nv2di (__a, __b, 5); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vrshrn_n_u16 (uint16x8_t __a, const int __b) -{ - return (uint8x8_t)__builtin_neon_vshrn_nv8hi ((int16x8_t) __a, __b, 4); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vrshrn_n_u32 (uint32x4_t __a, const int __b) -{ - return (uint16x4_t)__builtin_neon_vshrn_nv4si ((int32x4_t) __a, __b, 4); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vrshrn_n_u64 (uint64x2_t __a, const int __b) -{ - return (uint32x2_t)__builtin_neon_vshrn_nv2di ((int64x2_t) __a, __b, 4); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vqshrn_n_s16 (int16x8_t __a, const int __b) -{ - return (int8x8_t)__builtin_neon_vqshrn_nv8hi (__a, __b, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vqshrn_n_s32 (int32x4_t __a, const int __b) -{ - return (int16x4_t)__builtin_neon_vqshrn_nv4si (__a, __b, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vqshrn_n_s64 (int64x2_t __a, const int __b) -{ - return (int32x2_t)__builtin_neon_vqshrn_nv2di (__a, __b, 1); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vqshrn_n_u16 (uint16x8_t __a, const int __b) -{ - return (uint8x8_t)__builtin_neon_vqshrn_nv8hi ((int16x8_t) __a, __b, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vqshrn_n_u32 (uint32x4_t __a, const int __b) -{ - return (uint16x4_t)__builtin_neon_vqshrn_nv4si ((int32x4_t) __a, __b, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vqshrn_n_u64 (uint64x2_t __a, const int __b) -{ - return (uint32x2_t)__builtin_neon_vqshrn_nv2di ((int64x2_t) __a, __b, 0); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vqrshrn_n_s16 (int16x8_t __a, const int __b) -{ - return (int8x8_t)__builtin_neon_vqshrn_nv8hi (__a, __b, 5); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vqrshrn_n_s32 (int32x4_t __a, const int __b) -{ - return (int16x4_t)__builtin_neon_vqshrn_nv4si (__a, __b, 5); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vqrshrn_n_s64 (int64x2_t __a, const int __b) -{ - return (int32x2_t)__builtin_neon_vqshrn_nv2di (__a, __b, 5); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vqrshrn_n_u16 (uint16x8_t __a, const int __b) -{ - return (uint8x8_t)__builtin_neon_vqshrn_nv8hi ((int16x8_t) __a, __b, 4); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vqrshrn_n_u32 (uint32x4_t __a, const int __b) -{ - return (uint16x4_t)__builtin_neon_vqshrn_nv4si ((int32x4_t) __a, __b, 4); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vqrshrn_n_u64 (uint64x2_t __a, const int __b) -{ - return (uint32x2_t)__builtin_neon_vqshrn_nv2di ((int64x2_t) __a, __b, 4); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vqshrun_n_s16 (int16x8_t __a, const int __b) -{ - return (uint8x8_t)__builtin_neon_vqshrun_nv8hi (__a, __b, 1); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vqshrun_n_s32 (int32x4_t __a, const int __b) -{ - return (uint16x4_t)__builtin_neon_vqshrun_nv4si (__a, __b, 1); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vqshrun_n_s64 (int64x2_t __a, const int __b) -{ - return (uint32x2_t)__builtin_neon_vqshrun_nv2di (__a, __b, 1); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vqrshrun_n_s16 (int16x8_t __a, const int __b) -{ - return (uint8x8_t)__builtin_neon_vqshrun_nv8hi (__a, __b, 5); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vqrshrun_n_s32 (int32x4_t __a, const int __b) -{ - return (uint16x4_t)__builtin_neon_vqshrun_nv4si (__a, __b, 5); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vqrshrun_n_s64 (int64x2_t __a, const int __b) -{ - return (uint32x2_t)__builtin_neon_vqshrun_nv2di (__a, __b, 5); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vshl_n_s8 (int8x8_t __a, const int __b) -{ - return (int8x8_t)__builtin_neon_vshl_nv8qi (__a, __b, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vshl_n_s16 (int16x4_t __a, const int __b) -{ - return (int16x4_t)__builtin_neon_vshl_nv4hi (__a, __b, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vshl_n_s32 (int32x2_t __a, const int __b) -{ - return (int32x2_t)__builtin_neon_vshl_nv2si (__a, __b, 1); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vshl_n_s64 (int64x1_t __a, const int __b) -{ - return (int64x1_t)__builtin_neon_vshl_ndi (__a, __b, 1); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vshl_n_u8 (uint8x8_t __a, const int __b) -{ - return (uint8x8_t)__builtin_neon_vshl_nv8qi ((int8x8_t) __a, __b, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vshl_n_u16 (uint16x4_t __a, const int __b) -{ - return (uint16x4_t)__builtin_neon_vshl_nv4hi ((int16x4_t) __a, __b, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vshl_n_u32 (uint32x2_t __a, const int __b) -{ - return (uint32x2_t)__builtin_neon_vshl_nv2si ((int32x2_t) __a, __b, 0); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vshl_n_u64 (uint64x1_t __a, const int __b) -{ - return (uint64x1_t)__builtin_neon_vshl_ndi ((int64x1_t) __a, __b, 0); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vshlq_n_s8 (int8x16_t __a, const int __b) -{ - return (int8x16_t)__builtin_neon_vshl_nv16qi (__a, __b, 1); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vshlq_n_s16 (int16x8_t __a, const int __b) -{ - return (int16x8_t)__builtin_neon_vshl_nv8hi (__a, __b, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vshlq_n_s32 (int32x4_t __a, const int __b) -{ - return (int32x4_t)__builtin_neon_vshl_nv4si (__a, __b, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vshlq_n_s64 (int64x2_t __a, const int __b) -{ - return (int64x2_t)__builtin_neon_vshl_nv2di (__a, __b, 1); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vshlq_n_u8 (uint8x16_t __a, const int __b) -{ - return (uint8x16_t)__builtin_neon_vshl_nv16qi ((int8x16_t) __a, __b, 0); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vshlq_n_u16 (uint16x8_t __a, const int __b) -{ - return (uint16x8_t)__builtin_neon_vshl_nv8hi ((int16x8_t) __a, __b, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vshlq_n_u32 (uint32x4_t __a, const int __b) -{ - return (uint32x4_t)__builtin_neon_vshl_nv4si ((int32x4_t) __a, __b, 0); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vshlq_n_u64 (uint64x2_t __a, const int __b) -{ - return (uint64x2_t)__builtin_neon_vshl_nv2di ((int64x2_t) __a, __b, 0); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vqshl_n_s8 (int8x8_t __a, const int __b) -{ - return (int8x8_t)__builtin_neon_vqshl_nv8qi (__a, __b, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vqshl_n_s16 (int16x4_t __a, const int __b) -{ - return (int16x4_t)__builtin_neon_vqshl_nv4hi (__a, __b, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vqshl_n_s32 (int32x2_t __a, const int __b) -{ - return (int32x2_t)__builtin_neon_vqshl_nv2si (__a, __b, 1); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vqshl_n_s64 (int64x1_t __a, const int __b) -{ - return (int64x1_t)__builtin_neon_vqshl_ndi (__a, __b, 1); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vqshl_n_u8 (uint8x8_t __a, const int __b) -{ - return (uint8x8_t)__builtin_neon_vqshl_nv8qi ((int8x8_t) __a, __b, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vqshl_n_u16 (uint16x4_t __a, const int __b) -{ - return (uint16x4_t)__builtin_neon_vqshl_nv4hi ((int16x4_t) __a, __b, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vqshl_n_u32 (uint32x2_t __a, const int __b) -{ - return (uint32x2_t)__builtin_neon_vqshl_nv2si ((int32x2_t) __a, __b, 0); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vqshl_n_u64 (uint64x1_t __a, const int __b) -{ - return (uint64x1_t)__builtin_neon_vqshl_ndi ((int64x1_t) __a, __b, 0); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vqshlq_n_s8 (int8x16_t __a, const int __b) -{ - return (int8x16_t)__builtin_neon_vqshl_nv16qi (__a, __b, 1); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vqshlq_n_s16 (int16x8_t __a, const int __b) -{ - return (int16x8_t)__builtin_neon_vqshl_nv8hi (__a, __b, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vqshlq_n_s32 (int32x4_t __a, const int __b) -{ - return (int32x4_t)__builtin_neon_vqshl_nv4si (__a, __b, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vqshlq_n_s64 (int64x2_t __a, const int __b) -{ - return (int64x2_t)__builtin_neon_vqshl_nv2di (__a, __b, 1); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vqshlq_n_u8 (uint8x16_t __a, const int __b) -{ - return (uint8x16_t)__builtin_neon_vqshl_nv16qi ((int8x16_t) __a, __b, 0); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vqshlq_n_u16 (uint16x8_t __a, const int __b) -{ - return (uint16x8_t)__builtin_neon_vqshl_nv8hi ((int16x8_t) __a, __b, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vqshlq_n_u32 (uint32x4_t __a, const int __b) -{ - return (uint32x4_t)__builtin_neon_vqshl_nv4si ((int32x4_t) __a, __b, 0); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vqshlq_n_u64 (uint64x2_t __a, const int __b) -{ - return (uint64x2_t)__builtin_neon_vqshl_nv2di ((int64x2_t) __a, __b, 0); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vqshlu_n_s8 (int8x8_t __a, const int __b) -{ - return (uint8x8_t)__builtin_neon_vqshlu_nv8qi (__a, __b, 1); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vqshlu_n_s16 (int16x4_t __a, const int __b) -{ - return (uint16x4_t)__builtin_neon_vqshlu_nv4hi (__a, __b, 1); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vqshlu_n_s32 (int32x2_t __a, const int __b) -{ - return (uint32x2_t)__builtin_neon_vqshlu_nv2si (__a, __b, 1); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vqshlu_n_s64 (int64x1_t __a, const int __b) -{ - return (uint64x1_t)__builtin_neon_vqshlu_ndi (__a, __b, 1); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vqshluq_n_s8 (int8x16_t __a, const int __b) -{ - return (uint8x16_t)__builtin_neon_vqshlu_nv16qi (__a, __b, 1); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vqshluq_n_s16 (int16x8_t __a, const int __b) -{ - return (uint16x8_t)__builtin_neon_vqshlu_nv8hi (__a, __b, 1); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vqshluq_n_s32 (int32x4_t __a, const int __b) -{ - return (uint32x4_t)__builtin_neon_vqshlu_nv4si (__a, __b, 1); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vqshluq_n_s64 (int64x2_t __a, const int __b) -{ - return (uint64x2_t)__builtin_neon_vqshlu_nv2di (__a, __b, 1); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vshll_n_s8 (int8x8_t __a, const int __b) -{ - return (int16x8_t)__builtin_neon_vshll_nv8qi (__a, __b, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vshll_n_s16 (int16x4_t __a, const int __b) -{ - return (int32x4_t)__builtin_neon_vshll_nv4hi (__a, __b, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vshll_n_s32 (int32x2_t __a, const int __b) -{ - return (int64x2_t)__builtin_neon_vshll_nv2si (__a, __b, 1); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vshll_n_u8 (uint8x8_t __a, const int __b) -{ - return (uint16x8_t)__builtin_neon_vshll_nv8qi ((int8x8_t) __a, __b, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vshll_n_u16 (uint16x4_t __a, const int __b) -{ - return (uint32x4_t)__builtin_neon_vshll_nv4hi ((int16x4_t) __a, __b, 0); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vshll_n_u32 (uint32x2_t __a, const int __b) -{ - return (uint64x2_t)__builtin_neon_vshll_nv2si ((int32x2_t) __a, __b, 0); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vsra_n_s8 (int8x8_t __a, int8x8_t __b, const int __c) -{ - return (int8x8_t)__builtin_neon_vsra_nv8qi (__a, __b, __c, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vsra_n_s16 (int16x4_t __a, int16x4_t __b, const int __c) -{ - return (int16x4_t)__builtin_neon_vsra_nv4hi (__a, __b, __c, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vsra_n_s32 (int32x2_t __a, int32x2_t __b, const int __c) -{ - return (int32x2_t)__builtin_neon_vsra_nv2si (__a, __b, __c, 1); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vsra_n_s64 (int64x1_t __a, int64x1_t __b, const int __c) -{ - return (int64x1_t)__builtin_neon_vsra_ndi (__a, __b, __c, 1); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vsra_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c) -{ - return (uint8x8_t)__builtin_neon_vsra_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vsra_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c) -{ - return (uint16x4_t)__builtin_neon_vsra_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vsra_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c) -{ - return (uint32x2_t)__builtin_neon_vsra_nv2si ((int32x2_t) __a, (int32x2_t) __b, __c, 0); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vsra_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c) -{ - return (uint64x1_t)__builtin_neon_vsra_ndi ((int64x1_t) __a, (int64x1_t) __b, __c, 0); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vsraq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c) -{ - return (int8x16_t)__builtin_neon_vsra_nv16qi (__a, __b, __c, 1); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vsraq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c) -{ - return (int16x8_t)__builtin_neon_vsra_nv8hi (__a, __b, __c, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vsraq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c) -{ - return (int32x4_t)__builtin_neon_vsra_nv4si (__a, __b, __c, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vsraq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c) -{ - return (int64x2_t)__builtin_neon_vsra_nv2di (__a, __b, __c, 1); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vsraq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c) -{ - return (uint8x16_t)__builtin_neon_vsra_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c, 0); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vsraq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c) -{ - return (uint16x8_t)__builtin_neon_vsra_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vsraq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c) -{ - return (uint32x4_t)__builtin_neon_vsra_nv4si ((int32x4_t) __a, (int32x4_t) __b, __c, 0); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vsraq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c) -{ - return (uint64x2_t)__builtin_neon_vsra_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c, 0); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vrsra_n_s8 (int8x8_t __a, int8x8_t __b, const int __c) -{ - return (int8x8_t)__builtin_neon_vsra_nv8qi (__a, __b, __c, 5); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vrsra_n_s16 (int16x4_t __a, int16x4_t __b, const int __c) -{ - return (int16x4_t)__builtin_neon_vsra_nv4hi (__a, __b, __c, 5); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vrsra_n_s32 (int32x2_t __a, int32x2_t __b, const int __c) -{ - return (int32x2_t)__builtin_neon_vsra_nv2si (__a, __b, __c, 5); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vrsra_n_s64 (int64x1_t __a, int64x1_t __b, const int __c) -{ - return (int64x1_t)__builtin_neon_vsra_ndi (__a, __b, __c, 5); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vrsra_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c) -{ - return (uint8x8_t)__builtin_neon_vsra_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c, 4); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vrsra_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c) -{ - return (uint16x4_t)__builtin_neon_vsra_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c, 4); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vrsra_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c) -{ - return (uint32x2_t)__builtin_neon_vsra_nv2si ((int32x2_t) __a, (int32x2_t) __b, __c, 4); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vrsra_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c) -{ - return (uint64x1_t)__builtin_neon_vsra_ndi ((int64x1_t) __a, (int64x1_t) __b, __c, 4); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vrsraq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c) -{ - return (int8x16_t)__builtin_neon_vsra_nv16qi (__a, __b, __c, 5); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vrsraq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c) -{ - return (int16x8_t)__builtin_neon_vsra_nv8hi (__a, __b, __c, 5); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vrsraq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c) -{ - return (int32x4_t)__builtin_neon_vsra_nv4si (__a, __b, __c, 5); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vrsraq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c) -{ - return (int64x2_t)__builtin_neon_vsra_nv2di (__a, __b, __c, 5); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vrsraq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c) -{ - return (uint8x16_t)__builtin_neon_vsra_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c, 4); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vrsraq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c) -{ - return (uint16x8_t)__builtin_neon_vsra_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c, 4); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vrsraq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c) -{ - return (uint32x4_t)__builtin_neon_vsra_nv4si ((int32x4_t) __a, (int32x4_t) __b, __c, 4); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vrsraq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c) -{ - return (uint64x2_t)__builtin_neon_vsra_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c, 4); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vsri_n_s8 (int8x8_t __a, int8x8_t __b, const int __c) -{ - return (int8x8_t)__builtin_neon_vsri_nv8qi (__a, __b, __c); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vsri_n_s16 (int16x4_t __a, int16x4_t __b, const int __c) -{ - return (int16x4_t)__builtin_neon_vsri_nv4hi (__a, __b, __c); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vsri_n_s32 (int32x2_t __a, int32x2_t __b, const int __c) -{ - return (int32x2_t)__builtin_neon_vsri_nv2si (__a, __b, __c); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vsri_n_s64 (int64x1_t __a, int64x1_t __b, const int __c) -{ - return (int64x1_t)__builtin_neon_vsri_ndi (__a, __b, __c); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vsri_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c) -{ - return (uint8x8_t)__builtin_neon_vsri_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vsri_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c) -{ - return (uint16x4_t)__builtin_neon_vsri_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vsri_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c) -{ - return (uint32x2_t)__builtin_neon_vsri_nv2si ((int32x2_t) __a, (int32x2_t) __b, __c); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vsri_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c) -{ - return (uint64x1_t)__builtin_neon_vsri_ndi ((int64x1_t) __a, (int64x1_t) __b, __c); -} - -__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vsri_n_p8 (poly8x8_t __a, poly8x8_t __b, const int __c) -{ - return (poly8x8_t)__builtin_neon_vsri_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c); -} - -__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) -vsri_n_p16 (poly16x4_t __a, poly16x4_t __b, const int __c) -{ - return (poly16x4_t)__builtin_neon_vsri_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vsriq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c) -{ - return (int8x16_t)__builtin_neon_vsri_nv16qi (__a, __b, __c); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vsriq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c) -{ - return (int16x8_t)__builtin_neon_vsri_nv8hi (__a, __b, __c); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vsriq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c) -{ - return (int32x4_t)__builtin_neon_vsri_nv4si (__a, __b, __c); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vsriq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c) -{ - return (int64x2_t)__builtin_neon_vsri_nv2di (__a, __b, __c); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vsriq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c) -{ - return (uint8x16_t)__builtin_neon_vsri_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vsriq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c) -{ - return (uint16x8_t)__builtin_neon_vsri_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vsriq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c) -{ - return (uint32x4_t)__builtin_neon_vsri_nv4si ((int32x4_t) __a, (int32x4_t) __b, __c); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vsriq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c) -{ - return (uint64x2_t)__builtin_neon_vsri_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c); -} - -__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) -vsriq_n_p8 (poly8x16_t __a, poly8x16_t __b, const int __c) -{ - return (poly8x16_t)__builtin_neon_vsri_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c); -} - -__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) -vsriq_n_p16 (poly16x8_t __a, poly16x8_t __b, const int __c) -{ - return (poly16x8_t)__builtin_neon_vsri_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vsli_n_s8 (int8x8_t __a, int8x8_t __b, const int __c) -{ - return (int8x8_t)__builtin_neon_vsli_nv8qi (__a, __b, __c); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vsli_n_s16 (int16x4_t __a, int16x4_t __b, const int __c) -{ - return (int16x4_t)__builtin_neon_vsli_nv4hi (__a, __b, __c); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vsli_n_s32 (int32x2_t __a, int32x2_t __b, const int __c) -{ - return (int32x2_t)__builtin_neon_vsli_nv2si (__a, __b, __c); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vsli_n_s64 (int64x1_t __a, int64x1_t __b, const int __c) -{ - return (int64x1_t)__builtin_neon_vsli_ndi (__a, __b, __c); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vsli_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c) -{ - return (uint8x8_t)__builtin_neon_vsli_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vsli_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c) -{ - return (uint16x4_t)__builtin_neon_vsli_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vsli_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c) -{ - return (uint32x2_t)__builtin_neon_vsli_nv2si ((int32x2_t) __a, (int32x2_t) __b, __c); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vsli_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c) -{ - return (uint64x1_t)__builtin_neon_vsli_ndi ((int64x1_t) __a, (int64x1_t) __b, __c); -} - -__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vsli_n_p8 (poly8x8_t __a, poly8x8_t __b, const int __c) -{ - return (poly8x8_t)__builtin_neon_vsli_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c); -} - -__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) -vsli_n_p16 (poly16x4_t __a, poly16x4_t __b, const int __c) -{ - return (poly16x4_t)__builtin_neon_vsli_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vsliq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c) -{ - return (int8x16_t)__builtin_neon_vsli_nv16qi (__a, __b, __c); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vsliq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c) -{ - return (int16x8_t)__builtin_neon_vsli_nv8hi (__a, __b, __c); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vsliq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c) -{ - return (int32x4_t)__builtin_neon_vsli_nv4si (__a, __b, __c); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vsliq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c) -{ - return (int64x2_t)__builtin_neon_vsli_nv2di (__a, __b, __c); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vsliq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c) -{ - return (uint8x16_t)__builtin_neon_vsli_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vsliq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c) -{ - return (uint16x8_t)__builtin_neon_vsli_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vsliq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c) -{ - return (uint32x4_t)__builtin_neon_vsli_nv4si ((int32x4_t) __a, (int32x4_t) __b, __c); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vsliq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c) -{ - return (uint64x2_t)__builtin_neon_vsli_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c); -} - -__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) -vsliq_n_p8 (poly8x16_t __a, poly8x16_t __b, const int __c) -{ - return (poly8x16_t)__builtin_neon_vsli_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c); -} - -__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) -vsliq_n_p16 (poly16x8_t __a, poly16x8_t __b, const int __c) -{ - return (poly16x8_t)__builtin_neon_vsli_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vabs_s8 (int8x8_t __a) -{ - return (int8x8_t)__builtin_neon_vabsv8qi (__a, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vabs_s16 (int16x4_t __a) -{ - return (int16x4_t)__builtin_neon_vabsv4hi (__a, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vabs_s32 (int32x2_t __a) -{ - return (int32x2_t)__builtin_neon_vabsv2si (__a, 1); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vabs_f32 (float32x2_t __a) -{ - return (float32x2_t)__builtin_neon_vabsv2sf (__a, 3); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vabsq_s8 (int8x16_t __a) -{ - return (int8x16_t)__builtin_neon_vabsv16qi (__a, 1); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vabsq_s16 (int16x8_t __a) -{ - return (int16x8_t)__builtin_neon_vabsv8hi (__a, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vabsq_s32 (int32x4_t __a) -{ - return (int32x4_t)__builtin_neon_vabsv4si (__a, 1); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vabsq_f32 (float32x4_t __a) -{ - return (float32x4_t)__builtin_neon_vabsv4sf (__a, 3); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vqabs_s8 (int8x8_t __a) -{ - return (int8x8_t)__builtin_neon_vqabsv8qi (__a, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vqabs_s16 (int16x4_t __a) -{ - return (int16x4_t)__builtin_neon_vqabsv4hi (__a, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vqabs_s32 (int32x2_t __a) -{ - return (int32x2_t)__builtin_neon_vqabsv2si (__a, 1); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vqabsq_s8 (int8x16_t __a) -{ - return (int8x16_t)__builtin_neon_vqabsv16qi (__a, 1); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vqabsq_s16 (int16x8_t __a) -{ - return (int16x8_t)__builtin_neon_vqabsv8hi (__a, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vqabsq_s32 (int32x4_t __a) -{ - return (int32x4_t)__builtin_neon_vqabsv4si (__a, 1); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vneg_s8 (int8x8_t __a) -{ - return (int8x8_t)__builtin_neon_vnegv8qi (__a, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vneg_s16 (int16x4_t __a) -{ - return (int16x4_t)__builtin_neon_vnegv4hi (__a, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vneg_s32 (int32x2_t __a) -{ - return (int32x2_t)__builtin_neon_vnegv2si (__a, 1); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vneg_f32 (float32x2_t __a) -{ - return (float32x2_t)__builtin_neon_vnegv2sf (__a, 3); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vnegq_s8 (int8x16_t __a) -{ - return (int8x16_t)__builtin_neon_vnegv16qi (__a, 1); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vnegq_s16 (int16x8_t __a) -{ - return (int16x8_t)__builtin_neon_vnegv8hi (__a, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vnegq_s32 (int32x4_t __a) -{ - return (int32x4_t)__builtin_neon_vnegv4si (__a, 1); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vnegq_f32 (float32x4_t __a) -{ - return (float32x4_t)__builtin_neon_vnegv4sf (__a, 3); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vqneg_s8 (int8x8_t __a) -{ - return (int8x8_t)__builtin_neon_vqnegv8qi (__a, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vqneg_s16 (int16x4_t __a) -{ - return (int16x4_t)__builtin_neon_vqnegv4hi (__a, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vqneg_s32 (int32x2_t __a) -{ - return (int32x2_t)__builtin_neon_vqnegv2si (__a, 1); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vqnegq_s8 (int8x16_t __a) -{ - return (int8x16_t)__builtin_neon_vqnegv16qi (__a, 1); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vqnegq_s16 (int16x8_t __a) -{ - return (int16x8_t)__builtin_neon_vqnegv8hi (__a, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vqnegq_s32 (int32x4_t __a) -{ - return (int32x4_t)__builtin_neon_vqnegv4si (__a, 1); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vmvn_s8 (int8x8_t __a) -{ - return (int8x8_t)__builtin_neon_vmvnv8qi (__a, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vmvn_s16 (int16x4_t __a) -{ - return (int16x4_t)__builtin_neon_vmvnv4hi (__a, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vmvn_s32 (int32x2_t __a) -{ - return (int32x2_t)__builtin_neon_vmvnv2si (__a, 1); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vmvn_u8 (uint8x8_t __a) -{ - return (uint8x8_t)__builtin_neon_vmvnv8qi ((int8x8_t) __a, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vmvn_u16 (uint16x4_t __a) -{ - return (uint16x4_t)__builtin_neon_vmvnv4hi ((int16x4_t) __a, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vmvn_u32 (uint32x2_t __a) -{ - return (uint32x2_t)__builtin_neon_vmvnv2si ((int32x2_t) __a, 0); -} - -__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vmvn_p8 (poly8x8_t __a) -{ - return (poly8x8_t)__builtin_neon_vmvnv8qi ((int8x8_t) __a, 2); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vmvnq_s8 (int8x16_t __a) -{ - return (int8x16_t)__builtin_neon_vmvnv16qi (__a, 1); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vmvnq_s16 (int16x8_t __a) -{ - return (int16x8_t)__builtin_neon_vmvnv8hi (__a, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vmvnq_s32 (int32x4_t __a) -{ - return (int32x4_t)__builtin_neon_vmvnv4si (__a, 1); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vmvnq_u8 (uint8x16_t __a) -{ - return (uint8x16_t)__builtin_neon_vmvnv16qi ((int8x16_t) __a, 0); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vmvnq_u16 (uint16x8_t __a) -{ - return (uint16x8_t)__builtin_neon_vmvnv8hi ((int16x8_t) __a, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vmvnq_u32 (uint32x4_t __a) -{ - return (uint32x4_t)__builtin_neon_vmvnv4si ((int32x4_t) __a, 0); -} - -__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) -vmvnq_p8 (poly8x16_t __a) -{ - return (poly8x16_t)__builtin_neon_vmvnv16qi ((int8x16_t) __a, 2); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vcls_s8 (int8x8_t __a) -{ - return (int8x8_t)__builtin_neon_vclsv8qi (__a, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vcls_s16 (int16x4_t __a) -{ - return (int16x4_t)__builtin_neon_vclsv4hi (__a, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vcls_s32 (int32x2_t __a) -{ - return (int32x2_t)__builtin_neon_vclsv2si (__a, 1); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vclsq_s8 (int8x16_t __a) -{ - return (int8x16_t)__builtin_neon_vclsv16qi (__a, 1); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vclsq_s16 (int16x8_t __a) -{ - return (int16x8_t)__builtin_neon_vclsv8hi (__a, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vclsq_s32 (int32x4_t __a) -{ - return (int32x4_t)__builtin_neon_vclsv4si (__a, 1); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vclz_s8 (int8x8_t __a) -{ - return (int8x8_t)__builtin_neon_vclzv8qi (__a, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vclz_s16 (int16x4_t __a) -{ - return (int16x4_t)__builtin_neon_vclzv4hi (__a, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vclz_s32 (int32x2_t __a) -{ - return (int32x2_t)__builtin_neon_vclzv2si (__a, 1); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vclz_u8 (uint8x8_t __a) -{ - return (uint8x8_t)__builtin_neon_vclzv8qi ((int8x8_t) __a, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vclz_u16 (uint16x4_t __a) -{ - return (uint16x4_t)__builtin_neon_vclzv4hi ((int16x4_t) __a, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vclz_u32 (uint32x2_t __a) -{ - return (uint32x2_t)__builtin_neon_vclzv2si ((int32x2_t) __a, 0); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vclzq_s8 (int8x16_t __a) -{ - return (int8x16_t)__builtin_neon_vclzv16qi (__a, 1); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vclzq_s16 (int16x8_t __a) -{ - return (int16x8_t)__builtin_neon_vclzv8hi (__a, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vclzq_s32 (int32x4_t __a) -{ - return (int32x4_t)__builtin_neon_vclzv4si (__a, 1); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vclzq_u8 (uint8x16_t __a) -{ - return (uint8x16_t)__builtin_neon_vclzv16qi ((int8x16_t) __a, 0); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vclzq_u16 (uint16x8_t __a) -{ - return (uint16x8_t)__builtin_neon_vclzv8hi ((int16x8_t) __a, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vclzq_u32 (uint32x4_t __a) -{ - return (uint32x4_t)__builtin_neon_vclzv4si ((int32x4_t) __a, 0); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vcnt_s8 (int8x8_t __a) -{ - return (int8x8_t)__builtin_neon_vcntv8qi (__a, 1); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vcnt_u8 (uint8x8_t __a) -{ - return (uint8x8_t)__builtin_neon_vcntv8qi ((int8x8_t) __a, 0); -} - -__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vcnt_p8 (poly8x8_t __a) -{ - return (poly8x8_t)__builtin_neon_vcntv8qi ((int8x8_t) __a, 2); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vcntq_s8 (int8x16_t __a) -{ - return (int8x16_t)__builtin_neon_vcntv16qi (__a, 1); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vcntq_u8 (uint8x16_t __a) -{ - return (uint8x16_t)__builtin_neon_vcntv16qi ((int8x16_t) __a, 0); -} - -__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) -vcntq_p8 (poly8x16_t __a) -{ - return (poly8x16_t)__builtin_neon_vcntv16qi ((int8x16_t) __a, 2); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vrecpe_f32 (float32x2_t __a) -{ - return (float32x2_t)__builtin_neon_vrecpev2sf (__a, 3); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vrecpe_u32 (uint32x2_t __a) -{ - return (uint32x2_t)__builtin_neon_vrecpev2si ((int32x2_t) __a, 0); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vrecpeq_f32 (float32x4_t __a) -{ - return (float32x4_t)__builtin_neon_vrecpev4sf (__a, 3); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vrecpeq_u32 (uint32x4_t __a) -{ - return (uint32x4_t)__builtin_neon_vrecpev4si ((int32x4_t) __a, 0); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vrsqrte_f32 (float32x2_t __a) -{ - return (float32x2_t)__builtin_neon_vrsqrtev2sf (__a, 3); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vrsqrte_u32 (uint32x2_t __a) -{ - return (uint32x2_t)__builtin_neon_vrsqrtev2si ((int32x2_t) __a, 0); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vrsqrteq_f32 (float32x4_t __a) -{ - return (float32x4_t)__builtin_neon_vrsqrtev4sf (__a, 3); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vrsqrteq_u32 (uint32x4_t __a) -{ - return (uint32x4_t)__builtin_neon_vrsqrtev4si ((int32x4_t) __a, 0); -} - -__extension__ static __inline int8_t __attribute__ ((__always_inline__)) -vget_lane_s8 (int8x8_t __a, const int __b) -{ - return (int8_t)__builtin_neon_vget_lanev8qi (__a, __b, 1); -} - -__extension__ static __inline int16_t __attribute__ ((__always_inline__)) -vget_lane_s16 (int16x4_t __a, const int __b) -{ - return (int16_t)__builtin_neon_vget_lanev4hi (__a, __b, 1); -} - -__extension__ static __inline int32_t __attribute__ ((__always_inline__)) -vget_lane_s32 (int32x2_t __a, const int __b) -{ - return (int32_t)__builtin_neon_vget_lanev2si (__a, __b, 1); -} - -__extension__ static __inline float32_t __attribute__ ((__always_inline__)) -vget_lane_f32 (float32x2_t __a, const int __b) -{ - return (float32_t)__builtin_neon_vget_lanev2sf (__a, __b, 3); -} - -__extension__ static __inline uint8_t __attribute__ ((__always_inline__)) -vget_lane_u8 (uint8x8_t __a, const int __b) -{ - return (uint8_t)__builtin_neon_vget_lanev8qi ((int8x8_t) __a, __b, 0); -} - -__extension__ static __inline uint16_t __attribute__ ((__always_inline__)) -vget_lane_u16 (uint16x4_t __a, const int __b) -{ - return (uint16_t)__builtin_neon_vget_lanev4hi ((int16x4_t) __a, __b, 0); -} - -__extension__ static __inline uint32_t __attribute__ ((__always_inline__)) -vget_lane_u32 (uint32x2_t __a, const int __b) -{ - return (uint32_t)__builtin_neon_vget_lanev2si ((int32x2_t) __a, __b, 0); -} - -__extension__ static __inline poly8_t __attribute__ ((__always_inline__)) -vget_lane_p8 (poly8x8_t __a, const int __b) -{ - return (poly8_t)__builtin_neon_vget_lanev8qi ((int8x8_t) __a, __b, 2); -} - -__extension__ static __inline poly16_t __attribute__ ((__always_inline__)) -vget_lane_p16 (poly16x4_t __a, const int __b) -{ - return (poly16_t)__builtin_neon_vget_lanev4hi ((int16x4_t) __a, __b, 2); -} - -__extension__ static __inline int64_t __attribute__ ((__always_inline__)) -vget_lane_s64 (int64x1_t __a, const int __b) -{ - return (int64_t)__builtin_neon_vget_lanedi (__a, __b, 1); -} - -__extension__ static __inline uint64_t __attribute__ ((__always_inline__)) -vget_lane_u64 (uint64x1_t __a, const int __b) -{ - return (uint64_t)__builtin_neon_vget_lanedi ((int64x1_t) __a, __b, 0); -} - -__extension__ static __inline int8_t __attribute__ ((__always_inline__)) -vgetq_lane_s8 (int8x16_t __a, const int __b) -{ - return (int8_t)__builtin_neon_vget_lanev16qi (__a, __b, 1); -} - -__extension__ static __inline int16_t __attribute__ ((__always_inline__)) -vgetq_lane_s16 (int16x8_t __a, const int __b) -{ - return (int16_t)__builtin_neon_vget_lanev8hi (__a, __b, 1); -} - -__extension__ static __inline int32_t __attribute__ ((__always_inline__)) -vgetq_lane_s32 (int32x4_t __a, const int __b) -{ - return (int32_t)__builtin_neon_vget_lanev4si (__a, __b, 1); -} - -__extension__ static __inline float32_t __attribute__ ((__always_inline__)) -vgetq_lane_f32 (float32x4_t __a, const int __b) -{ - return (float32_t)__builtin_neon_vget_lanev4sf (__a, __b, 3); -} - -__extension__ static __inline uint8_t __attribute__ ((__always_inline__)) -vgetq_lane_u8 (uint8x16_t __a, const int __b) -{ - return (uint8_t)__builtin_neon_vget_lanev16qi ((int8x16_t) __a, __b, 0); -} - -__extension__ static __inline uint16_t __attribute__ ((__always_inline__)) -vgetq_lane_u16 (uint16x8_t __a, const int __b) -{ - return (uint16_t)__builtin_neon_vget_lanev8hi ((int16x8_t) __a, __b, 0); -} - -__extension__ static __inline uint32_t __attribute__ ((__always_inline__)) -vgetq_lane_u32 (uint32x4_t __a, const int __b) -{ - return (uint32_t)__builtin_neon_vget_lanev4si ((int32x4_t) __a, __b, 0); -} - -__extension__ static __inline poly8_t __attribute__ ((__always_inline__)) -vgetq_lane_p8 (poly8x16_t __a, const int __b) -{ - return (poly8_t)__builtin_neon_vget_lanev16qi ((int8x16_t) __a, __b, 2); -} - -__extension__ static __inline poly16_t __attribute__ ((__always_inline__)) -vgetq_lane_p16 (poly16x8_t __a, const int __b) -{ - return (poly16_t)__builtin_neon_vget_lanev8hi ((int16x8_t) __a, __b, 2); -} - -__extension__ static __inline int64_t __attribute__ ((__always_inline__)) -vgetq_lane_s64 (int64x2_t __a, const int __b) -{ - return (int64_t)__builtin_neon_vget_lanev2di (__a, __b, 1); -} - -__extension__ static __inline uint64_t __attribute__ ((__always_inline__)) -vgetq_lane_u64 (uint64x2_t __a, const int __b) -{ - return (uint64_t)__builtin_neon_vget_lanev2di ((int64x2_t) __a, __b, 0); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vset_lane_s8 (int8_t __a, int8x8_t __b, const int __c) -{ - return (int8x8_t)__builtin_neon_vset_lanev8qi ((__builtin_neon_qi) __a, __b, __c); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vset_lane_s16 (int16_t __a, int16x4_t __b, const int __c) -{ - return (int16x4_t)__builtin_neon_vset_lanev4hi ((__builtin_neon_hi) __a, __b, __c); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vset_lane_s32 (int32_t __a, int32x2_t __b, const int __c) -{ - return (int32x2_t)__builtin_neon_vset_lanev2si ((__builtin_neon_si) __a, __b, __c); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vset_lane_f32 (float32_t __a, float32x2_t __b, const int __c) -{ - return (float32x2_t)__builtin_neon_vset_lanev2sf ((__builtin_neon_sf) __a, __b, __c); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vset_lane_u8 (uint8_t __a, uint8x8_t __b, const int __c) -{ - return (uint8x8_t)__builtin_neon_vset_lanev8qi ((__builtin_neon_qi) __a, (int8x8_t) __b, __c); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vset_lane_u16 (uint16_t __a, uint16x4_t __b, const int __c) -{ - return (uint16x4_t)__builtin_neon_vset_lanev4hi ((__builtin_neon_hi) __a, (int16x4_t) __b, __c); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vset_lane_u32 (uint32_t __a, uint32x2_t __b, const int __c) -{ - return (uint32x2_t)__builtin_neon_vset_lanev2si ((__builtin_neon_si) __a, (int32x2_t) __b, __c); -} - -__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vset_lane_p8 (poly8_t __a, poly8x8_t __b, const int __c) -{ - return (poly8x8_t)__builtin_neon_vset_lanev8qi ((__builtin_neon_qi) __a, (int8x8_t) __b, __c); -} - -__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) -vset_lane_p16 (poly16_t __a, poly16x4_t __b, const int __c) -{ - return (poly16x4_t)__builtin_neon_vset_lanev4hi ((__builtin_neon_hi) __a, (int16x4_t) __b, __c); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vset_lane_s64 (int64_t __a, int64x1_t __b, const int __c) -{ - return (int64x1_t)__builtin_neon_vset_lanedi ((__builtin_neon_di) __a, __b, __c); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vset_lane_u64 (uint64_t __a, uint64x1_t __b, const int __c) -{ - return (uint64x1_t)__builtin_neon_vset_lanedi ((__builtin_neon_di) __a, (int64x1_t) __b, __c); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vsetq_lane_s8 (int8_t __a, int8x16_t __b, const int __c) -{ - return (int8x16_t)__builtin_neon_vset_lanev16qi ((__builtin_neon_qi) __a, __b, __c); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vsetq_lane_s16 (int16_t __a, int16x8_t __b, const int __c) -{ - return (int16x8_t)__builtin_neon_vset_lanev8hi ((__builtin_neon_hi) __a, __b, __c); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vsetq_lane_s32 (int32_t __a, int32x4_t __b, const int __c) -{ - return (int32x4_t)__builtin_neon_vset_lanev4si ((__builtin_neon_si) __a, __b, __c); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vsetq_lane_f32 (float32_t __a, float32x4_t __b, const int __c) -{ - return (float32x4_t)__builtin_neon_vset_lanev4sf ((__builtin_neon_sf) __a, __b, __c); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vsetq_lane_u8 (uint8_t __a, uint8x16_t __b, const int __c) -{ - return (uint8x16_t)__builtin_neon_vset_lanev16qi ((__builtin_neon_qi) __a, (int8x16_t) __b, __c); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vsetq_lane_u16 (uint16_t __a, uint16x8_t __b, const int __c) -{ - return (uint16x8_t)__builtin_neon_vset_lanev8hi ((__builtin_neon_hi) __a, (int16x8_t) __b, __c); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vsetq_lane_u32 (uint32_t __a, uint32x4_t __b, const int __c) -{ - return (uint32x4_t)__builtin_neon_vset_lanev4si ((__builtin_neon_si) __a, (int32x4_t) __b, __c); -} - -__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) -vsetq_lane_p8 (poly8_t __a, poly8x16_t __b, const int __c) -{ - return (poly8x16_t)__builtin_neon_vset_lanev16qi ((__builtin_neon_qi) __a, (int8x16_t) __b, __c); -} - -__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) -vsetq_lane_p16 (poly16_t __a, poly16x8_t __b, const int __c) -{ - return (poly16x8_t)__builtin_neon_vset_lanev8hi ((__builtin_neon_hi) __a, (int16x8_t) __b, __c); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vsetq_lane_s64 (int64_t __a, int64x2_t __b, const int __c) -{ - return (int64x2_t)__builtin_neon_vset_lanev2di ((__builtin_neon_di) __a, __b, __c); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vsetq_lane_u64 (uint64_t __a, uint64x2_t __b, const int __c) -{ - return (uint64x2_t)__builtin_neon_vset_lanev2di ((__builtin_neon_di) __a, (int64x2_t) __b, __c); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vcreate_s8 (uint64_t __a) -{ - return (int8x8_t)__builtin_neon_vcreatev8qi ((__builtin_neon_di) __a); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vcreate_s16 (uint64_t __a) -{ - return (int16x4_t)__builtin_neon_vcreatev4hi ((__builtin_neon_di) __a); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vcreate_s32 (uint64_t __a) -{ - return (int32x2_t)__builtin_neon_vcreatev2si ((__builtin_neon_di) __a); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vcreate_s64 (uint64_t __a) -{ - return (int64x1_t)__builtin_neon_vcreatedi ((__builtin_neon_di) __a); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vcreate_f32 (uint64_t __a) -{ - return (float32x2_t)__builtin_neon_vcreatev2sf ((__builtin_neon_di) __a); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vcreate_u8 (uint64_t __a) -{ - return (uint8x8_t)__builtin_neon_vcreatev8qi ((__builtin_neon_di) __a); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vcreate_u16 (uint64_t __a) -{ - return (uint16x4_t)__builtin_neon_vcreatev4hi ((__builtin_neon_di) __a); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vcreate_u32 (uint64_t __a) -{ - return (uint32x2_t)__builtin_neon_vcreatev2si ((__builtin_neon_di) __a); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vcreate_u64 (uint64_t __a) -{ - return (uint64x1_t)__builtin_neon_vcreatedi ((__builtin_neon_di) __a); -} - -__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vcreate_p8 (uint64_t __a) -{ - return (poly8x8_t)__builtin_neon_vcreatev8qi ((__builtin_neon_di) __a); -} - -__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) -vcreate_p16 (uint64_t __a) -{ - return (poly16x4_t)__builtin_neon_vcreatev4hi ((__builtin_neon_di) __a); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vdup_n_s8 (int8_t __a) -{ - return (int8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vdup_n_s16 (int16_t __a) -{ - return (int16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vdup_n_s32 (int32_t __a) -{ - return (int32x2_t)__builtin_neon_vdup_nv2si ((__builtin_neon_si) __a); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vdup_n_f32 (float32_t __a) -{ - return (float32x2_t)__builtin_neon_vdup_nv2sf ((__builtin_neon_sf) __a); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vdup_n_u8 (uint8_t __a) -{ - return (uint8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vdup_n_u16 (uint16_t __a) -{ - return (uint16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vdup_n_u32 (uint32_t __a) -{ - return (uint32x2_t)__builtin_neon_vdup_nv2si ((__builtin_neon_si) __a); -} - -__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vdup_n_p8 (poly8_t __a) -{ - return (poly8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a); -} - -__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) -vdup_n_p16 (poly16_t __a) -{ - return (poly16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vdup_n_s64 (int64_t __a) -{ - return (int64x1_t)__builtin_neon_vdup_ndi ((__builtin_neon_di) __a); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vdup_n_u64 (uint64_t __a) -{ - return (uint64x1_t)__builtin_neon_vdup_ndi ((__builtin_neon_di) __a); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vdupq_n_s8 (int8_t __a) -{ - return (int8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vdupq_n_s16 (int16_t __a) -{ - return (int16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vdupq_n_s32 (int32_t __a) -{ - return (int32x4_t)__builtin_neon_vdup_nv4si ((__builtin_neon_si) __a); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vdupq_n_f32 (float32_t __a) -{ - return (float32x4_t)__builtin_neon_vdup_nv4sf ((__builtin_neon_sf) __a); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vdupq_n_u8 (uint8_t __a) -{ - return (uint8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vdupq_n_u16 (uint16_t __a) -{ - return (uint16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vdupq_n_u32 (uint32_t __a) -{ - return (uint32x4_t)__builtin_neon_vdup_nv4si ((__builtin_neon_si) __a); -} - -__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) -vdupq_n_p8 (poly8_t __a) -{ - return (poly8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a); -} - -__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) -vdupq_n_p16 (poly16_t __a) -{ - return (poly16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vdupq_n_s64 (int64_t __a) -{ - return (int64x2_t)__builtin_neon_vdup_nv2di ((__builtin_neon_di) __a); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vdupq_n_u64 (uint64_t __a) -{ - return (uint64x2_t)__builtin_neon_vdup_nv2di ((__builtin_neon_di) __a); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vmov_n_s8 (int8_t __a) -{ - return (int8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vmov_n_s16 (int16_t __a) -{ - return (int16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vmov_n_s32 (int32_t __a) -{ - return (int32x2_t)__builtin_neon_vdup_nv2si ((__builtin_neon_si) __a); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vmov_n_f32 (float32_t __a) -{ - return (float32x2_t)__builtin_neon_vdup_nv2sf ((__builtin_neon_sf) __a); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vmov_n_u8 (uint8_t __a) -{ - return (uint8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vmov_n_u16 (uint16_t __a) -{ - return (uint16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vmov_n_u32 (uint32_t __a) -{ - return (uint32x2_t)__builtin_neon_vdup_nv2si ((__builtin_neon_si) __a); -} - -__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vmov_n_p8 (poly8_t __a) -{ - return (poly8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a); -} - -__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) -vmov_n_p16 (poly16_t __a) -{ - return (poly16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vmov_n_s64 (int64_t __a) -{ - return (int64x1_t)__builtin_neon_vdup_ndi ((__builtin_neon_di) __a); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vmov_n_u64 (uint64_t __a) -{ - return (uint64x1_t)__builtin_neon_vdup_ndi ((__builtin_neon_di) __a); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vmovq_n_s8 (int8_t __a) -{ - return (int8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vmovq_n_s16 (int16_t __a) -{ - return (int16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vmovq_n_s32 (int32_t __a) -{ - return (int32x4_t)__builtin_neon_vdup_nv4si ((__builtin_neon_si) __a); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vmovq_n_f32 (float32_t __a) -{ - return (float32x4_t)__builtin_neon_vdup_nv4sf ((__builtin_neon_sf) __a); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vmovq_n_u8 (uint8_t __a) -{ - return (uint8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vmovq_n_u16 (uint16_t __a) -{ - return (uint16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vmovq_n_u32 (uint32_t __a) -{ - return (uint32x4_t)__builtin_neon_vdup_nv4si ((__builtin_neon_si) __a); -} - -__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) -vmovq_n_p8 (poly8_t __a) -{ - return (poly8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a); -} - -__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) -vmovq_n_p16 (poly16_t __a) -{ - return (poly16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vmovq_n_s64 (int64_t __a) -{ - return (int64x2_t)__builtin_neon_vdup_nv2di ((__builtin_neon_di) __a); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vmovq_n_u64 (uint64_t __a) -{ - return (uint64x2_t)__builtin_neon_vdup_nv2di ((__builtin_neon_di) __a); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vdup_lane_s8 (int8x8_t __a, const int __b) -{ - return (int8x8_t)__builtin_neon_vdup_lanev8qi (__a, __b); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vdup_lane_s16 (int16x4_t __a, const int __b) -{ - return (int16x4_t)__builtin_neon_vdup_lanev4hi (__a, __b); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vdup_lane_s32 (int32x2_t __a, const int __b) -{ - return (int32x2_t)__builtin_neon_vdup_lanev2si (__a, __b); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vdup_lane_f32 (float32x2_t __a, const int __b) -{ - return (float32x2_t)__builtin_neon_vdup_lanev2sf (__a, __b); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vdup_lane_u8 (uint8x8_t __a, const int __b) -{ - return (uint8x8_t)__builtin_neon_vdup_lanev8qi ((int8x8_t) __a, __b); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vdup_lane_u16 (uint16x4_t __a, const int __b) -{ - return (uint16x4_t)__builtin_neon_vdup_lanev4hi ((int16x4_t) __a, __b); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vdup_lane_u32 (uint32x2_t __a, const int __b) -{ - return (uint32x2_t)__builtin_neon_vdup_lanev2si ((int32x2_t) __a, __b); -} - -__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vdup_lane_p8 (poly8x8_t __a, const int __b) -{ - return (poly8x8_t)__builtin_neon_vdup_lanev8qi ((int8x8_t) __a, __b); -} - -__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) -vdup_lane_p16 (poly16x4_t __a, const int __b) -{ - return (poly16x4_t)__builtin_neon_vdup_lanev4hi ((int16x4_t) __a, __b); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vdup_lane_s64 (int64x1_t __a, const int __b) -{ - return (int64x1_t)__builtin_neon_vdup_lanedi (__a, __b); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vdup_lane_u64 (uint64x1_t __a, const int __b) -{ - return (uint64x1_t)__builtin_neon_vdup_lanedi ((int64x1_t) __a, __b); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vdupq_lane_s8 (int8x8_t __a, const int __b) -{ - return (int8x16_t)__builtin_neon_vdup_lanev16qi (__a, __b); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vdupq_lane_s16 (int16x4_t __a, const int __b) -{ - return (int16x8_t)__builtin_neon_vdup_lanev8hi (__a, __b); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vdupq_lane_s32 (int32x2_t __a, const int __b) -{ - return (int32x4_t)__builtin_neon_vdup_lanev4si (__a, __b); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vdupq_lane_f32 (float32x2_t __a, const int __b) -{ - return (float32x4_t)__builtin_neon_vdup_lanev4sf (__a, __b); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vdupq_lane_u8 (uint8x8_t __a, const int __b) -{ - return (uint8x16_t)__builtin_neon_vdup_lanev16qi ((int8x8_t) __a, __b); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vdupq_lane_u16 (uint16x4_t __a, const int __b) -{ - return (uint16x8_t)__builtin_neon_vdup_lanev8hi ((int16x4_t) __a, __b); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vdupq_lane_u32 (uint32x2_t __a, const int __b) -{ - return (uint32x4_t)__builtin_neon_vdup_lanev4si ((int32x2_t) __a, __b); -} - -__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) -vdupq_lane_p8 (poly8x8_t __a, const int __b) -{ - return (poly8x16_t)__builtin_neon_vdup_lanev16qi ((int8x8_t) __a, __b); -} - -__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) -vdupq_lane_p16 (poly16x4_t __a, const int __b) -{ - return (poly16x8_t)__builtin_neon_vdup_lanev8hi ((int16x4_t) __a, __b); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vdupq_lane_s64 (int64x1_t __a, const int __b) -{ - return (int64x2_t)__builtin_neon_vdup_lanev2di (__a, __b); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vdupq_lane_u64 (uint64x1_t __a, const int __b) -{ - return (uint64x2_t)__builtin_neon_vdup_lanev2di ((int64x1_t) __a, __b); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vcombine_s8 (int8x8_t __a, int8x8_t __b) -{ - return (int8x16_t)__builtin_neon_vcombinev8qi (__a, __b); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vcombine_s16 (int16x4_t __a, int16x4_t __b) -{ - return (int16x8_t)__builtin_neon_vcombinev4hi (__a, __b); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vcombine_s32 (int32x2_t __a, int32x2_t __b) -{ - return (int32x4_t)__builtin_neon_vcombinev2si (__a, __b); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vcombine_s64 (int64x1_t __a, int64x1_t __b) -{ - return (int64x2_t)__builtin_neon_vcombinedi (__a, __b); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vcombine_f32 (float32x2_t __a, float32x2_t __b) -{ - return (float32x4_t)__builtin_neon_vcombinev2sf (__a, __b); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vcombine_u8 (uint8x8_t __a, uint8x8_t __b) -{ - return (uint8x16_t)__builtin_neon_vcombinev8qi ((int8x8_t) __a, (int8x8_t) __b); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vcombine_u16 (uint16x4_t __a, uint16x4_t __b) -{ - return (uint16x8_t)__builtin_neon_vcombinev4hi ((int16x4_t) __a, (int16x4_t) __b); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vcombine_u32 (uint32x2_t __a, uint32x2_t __b) -{ - return (uint32x4_t)__builtin_neon_vcombinev2si ((int32x2_t) __a, (int32x2_t) __b); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vcombine_u64 (uint64x1_t __a, uint64x1_t __b) -{ - return (uint64x2_t)__builtin_neon_vcombinedi ((int64x1_t) __a, (int64x1_t) __b); -} - -__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) -vcombine_p8 (poly8x8_t __a, poly8x8_t __b) -{ - return (poly8x16_t)__builtin_neon_vcombinev8qi ((int8x8_t) __a, (int8x8_t) __b); -} - -__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) -vcombine_p16 (poly16x4_t __a, poly16x4_t __b) -{ - return (poly16x8_t)__builtin_neon_vcombinev4hi ((int16x4_t) __a, (int16x4_t) __b); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vget_high_s8 (int8x16_t __a) -{ - return (int8x8_t)__builtin_neon_vget_highv16qi (__a); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vget_high_s16 (int16x8_t __a) -{ - return (int16x4_t)__builtin_neon_vget_highv8hi (__a); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vget_high_s32 (int32x4_t __a) -{ - return (int32x2_t)__builtin_neon_vget_highv4si (__a); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vget_high_s64 (int64x2_t __a) -{ - return (int64x1_t)__builtin_neon_vget_highv2di (__a); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vget_high_f32 (float32x4_t __a) -{ - return (float32x2_t)__builtin_neon_vget_highv4sf (__a); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vget_high_u8 (uint8x16_t __a) -{ - return (uint8x8_t)__builtin_neon_vget_highv16qi ((int8x16_t) __a); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vget_high_u16 (uint16x8_t __a) -{ - return (uint16x4_t)__builtin_neon_vget_highv8hi ((int16x8_t) __a); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vget_high_u32 (uint32x4_t __a) -{ - return (uint32x2_t)__builtin_neon_vget_highv4si ((int32x4_t) __a); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vget_high_u64 (uint64x2_t __a) -{ - return (uint64x1_t)__builtin_neon_vget_highv2di ((int64x2_t) __a); -} - -__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vget_high_p8 (poly8x16_t __a) -{ - return (poly8x8_t)__builtin_neon_vget_highv16qi ((int8x16_t) __a); -} - -__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) -vget_high_p16 (poly16x8_t __a) -{ - return (poly16x4_t)__builtin_neon_vget_highv8hi ((int16x8_t) __a); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vget_low_s8 (int8x16_t __a) -{ - return (int8x8_t)__builtin_neon_vget_lowv16qi (__a); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vget_low_s16 (int16x8_t __a) -{ - return (int16x4_t)__builtin_neon_vget_lowv8hi (__a); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vget_low_s32 (int32x4_t __a) -{ - return (int32x2_t)__builtin_neon_vget_lowv4si (__a); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vget_low_f32 (float32x4_t __a) -{ - return (float32x2_t)__builtin_neon_vget_lowv4sf (__a); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vget_low_u8 (uint8x16_t __a) -{ - return (uint8x8_t)__builtin_neon_vget_lowv16qi ((int8x16_t) __a); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vget_low_u16 (uint16x8_t __a) -{ - return (uint16x4_t)__builtin_neon_vget_lowv8hi ((int16x8_t) __a); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vget_low_u32 (uint32x4_t __a) -{ - return (uint32x2_t)__builtin_neon_vget_lowv4si ((int32x4_t) __a); -} - -__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vget_low_p8 (poly8x16_t __a) -{ - return (poly8x8_t)__builtin_neon_vget_lowv16qi ((int8x16_t) __a); -} - -__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) -vget_low_p16 (poly16x8_t __a) -{ - return (poly16x4_t)__builtin_neon_vget_lowv8hi ((int16x8_t) __a); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vget_low_s64 (int64x2_t __a) -{ - return (int64x1_t)__builtin_neon_vget_lowv2di (__a); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vget_low_u64 (uint64x2_t __a) -{ - return (uint64x1_t)__builtin_neon_vget_lowv2di ((int64x2_t) __a); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vcvt_s32_f32 (float32x2_t __a) -{ - return (int32x2_t)__builtin_neon_vcvtv2sf (__a, 1); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vcvt_f32_s32 (int32x2_t __a) -{ - return (float32x2_t)__builtin_neon_vcvtv2si (__a, 1); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vcvt_f32_u32 (uint32x2_t __a) -{ - return (float32x2_t)__builtin_neon_vcvtv2si ((int32x2_t) __a, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vcvt_u32_f32 (float32x2_t __a) -{ - return (uint32x2_t)__builtin_neon_vcvtv2sf (__a, 0); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vcvtq_s32_f32 (float32x4_t __a) -{ - return (int32x4_t)__builtin_neon_vcvtv4sf (__a, 1); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vcvtq_f32_s32 (int32x4_t __a) -{ - return (float32x4_t)__builtin_neon_vcvtv4si (__a, 1); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vcvtq_f32_u32 (uint32x4_t __a) -{ - return (float32x4_t)__builtin_neon_vcvtv4si ((int32x4_t) __a, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vcvtq_u32_f32 (float32x4_t __a) -{ - return (uint32x4_t)__builtin_neon_vcvtv4sf (__a, 0); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vcvt_n_s32_f32 (float32x2_t __a, const int __b) -{ - return (int32x2_t)__builtin_neon_vcvt_nv2sf (__a, __b, 1); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vcvt_n_f32_s32 (int32x2_t __a, const int __b) -{ - return (float32x2_t)__builtin_neon_vcvt_nv2si (__a, __b, 1); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vcvt_n_f32_u32 (uint32x2_t __a, const int __b) -{ - return (float32x2_t)__builtin_neon_vcvt_nv2si ((int32x2_t) __a, __b, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vcvt_n_u32_f32 (float32x2_t __a, const int __b) -{ - return (uint32x2_t)__builtin_neon_vcvt_nv2sf (__a, __b, 0); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vcvtq_n_s32_f32 (float32x4_t __a, const int __b) -{ - return (int32x4_t)__builtin_neon_vcvt_nv4sf (__a, __b, 1); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vcvtq_n_f32_s32 (int32x4_t __a, const int __b) -{ - return (float32x4_t)__builtin_neon_vcvt_nv4si (__a, __b, 1); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vcvtq_n_f32_u32 (uint32x4_t __a, const int __b) -{ - return (float32x4_t)__builtin_neon_vcvt_nv4si ((int32x4_t) __a, __b, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vcvtq_n_u32_f32 (float32x4_t __a, const int __b) -{ - return (uint32x4_t)__builtin_neon_vcvt_nv4sf (__a, __b, 0); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vmovn_s16 (int16x8_t __a) -{ - return (int8x8_t)__builtin_neon_vmovnv8hi (__a, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vmovn_s32 (int32x4_t __a) -{ - return (int16x4_t)__builtin_neon_vmovnv4si (__a, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vmovn_s64 (int64x2_t __a) -{ - return (int32x2_t)__builtin_neon_vmovnv2di (__a, 1); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vmovn_u16 (uint16x8_t __a) -{ - return (uint8x8_t)__builtin_neon_vmovnv8hi ((int16x8_t) __a, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vmovn_u32 (uint32x4_t __a) -{ - return (uint16x4_t)__builtin_neon_vmovnv4si ((int32x4_t) __a, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vmovn_u64 (uint64x2_t __a) -{ - return (uint32x2_t)__builtin_neon_vmovnv2di ((int64x2_t) __a, 0); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vqmovn_s16 (int16x8_t __a) -{ - return (int8x8_t)__builtin_neon_vqmovnv8hi (__a, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vqmovn_s32 (int32x4_t __a) -{ - return (int16x4_t)__builtin_neon_vqmovnv4si (__a, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vqmovn_s64 (int64x2_t __a) -{ - return (int32x2_t)__builtin_neon_vqmovnv2di (__a, 1); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vqmovn_u16 (uint16x8_t __a) -{ - return (uint8x8_t)__builtin_neon_vqmovnv8hi ((int16x8_t) __a, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vqmovn_u32 (uint32x4_t __a) -{ - return (uint16x4_t)__builtin_neon_vqmovnv4si ((int32x4_t) __a, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vqmovn_u64 (uint64x2_t __a) -{ - return (uint32x2_t)__builtin_neon_vqmovnv2di ((int64x2_t) __a, 0); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vqmovun_s16 (int16x8_t __a) -{ - return (uint8x8_t)__builtin_neon_vqmovunv8hi (__a, 1); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vqmovun_s32 (int32x4_t __a) -{ - return (uint16x4_t)__builtin_neon_vqmovunv4si (__a, 1); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vqmovun_s64 (int64x2_t __a) -{ - return (uint32x2_t)__builtin_neon_vqmovunv2di (__a, 1); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vmovl_s8 (int8x8_t __a) -{ - return (int16x8_t)__builtin_neon_vmovlv8qi (__a, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vmovl_s16 (int16x4_t __a) -{ - return (int32x4_t)__builtin_neon_vmovlv4hi (__a, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vmovl_s32 (int32x2_t __a) -{ - return (int64x2_t)__builtin_neon_vmovlv2si (__a, 1); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vmovl_u8 (uint8x8_t __a) -{ - return (uint16x8_t)__builtin_neon_vmovlv8qi ((int8x8_t) __a, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vmovl_u16 (uint16x4_t __a) -{ - return (uint32x4_t)__builtin_neon_vmovlv4hi ((int16x4_t) __a, 0); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vmovl_u32 (uint32x2_t __a) -{ - return (uint64x2_t)__builtin_neon_vmovlv2si ((int32x2_t) __a, 0); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vtbl1_s8 (int8x8_t __a, int8x8_t __b) -{ - return (int8x8_t)__builtin_neon_vtbl1v8qi (__a, __b); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vtbl1_u8 (uint8x8_t __a, uint8x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vtbl1v8qi ((int8x8_t) __a, (int8x8_t) __b); -} - -__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vtbl1_p8 (poly8x8_t __a, uint8x8_t __b) -{ - return (poly8x8_t)__builtin_neon_vtbl1v8qi ((int8x8_t) __a, (int8x8_t) __b); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vtbl2_s8 (int8x8x2_t __a, int8x8_t __b) -{ - union { int8x8x2_t __i; __builtin_neon_ti __o; } __au = { __a }; - return (int8x8_t)__builtin_neon_vtbl2v8qi (__au.__o, __b); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vtbl2_u8 (uint8x8x2_t __a, uint8x8_t __b) -{ - union { uint8x8x2_t __i; __builtin_neon_ti __o; } __au = { __a }; - return (uint8x8_t)__builtin_neon_vtbl2v8qi (__au.__o, (int8x8_t) __b); -} - -__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vtbl2_p8 (poly8x8x2_t __a, uint8x8_t __b) -{ - union { poly8x8x2_t __i; __builtin_neon_ti __o; } __au = { __a }; - return (poly8x8_t)__builtin_neon_vtbl2v8qi (__au.__o, (int8x8_t) __b); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vtbl3_s8 (int8x8x3_t __a, int8x8_t __b) -{ - union { int8x8x3_t __i; __builtin_neon_ei __o; } __au = { __a }; - return (int8x8_t)__builtin_neon_vtbl3v8qi (__au.__o, __b); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vtbl3_u8 (uint8x8x3_t __a, uint8x8_t __b) -{ - union { uint8x8x3_t __i; __builtin_neon_ei __o; } __au = { __a }; - return (uint8x8_t)__builtin_neon_vtbl3v8qi (__au.__o, (int8x8_t) __b); -} - -__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vtbl3_p8 (poly8x8x3_t __a, uint8x8_t __b) -{ - union { poly8x8x3_t __i; __builtin_neon_ei __o; } __au = { __a }; - return (poly8x8_t)__builtin_neon_vtbl3v8qi (__au.__o, (int8x8_t) __b); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vtbl4_s8 (int8x8x4_t __a, int8x8_t __b) -{ - union { int8x8x4_t __i; __builtin_neon_oi __o; } __au = { __a }; - return (int8x8_t)__builtin_neon_vtbl4v8qi (__au.__o, __b); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vtbl4_u8 (uint8x8x4_t __a, uint8x8_t __b) -{ - union { uint8x8x4_t __i; __builtin_neon_oi __o; } __au = { __a }; - return (uint8x8_t)__builtin_neon_vtbl4v8qi (__au.__o, (int8x8_t) __b); -} - -__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vtbl4_p8 (poly8x8x4_t __a, uint8x8_t __b) -{ - union { poly8x8x4_t __i; __builtin_neon_oi __o; } __au = { __a }; - return (poly8x8_t)__builtin_neon_vtbl4v8qi (__au.__o, (int8x8_t) __b); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vtbx1_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c) -{ - return (int8x8_t)__builtin_neon_vtbx1v8qi (__a, __b, __c); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vtbx1_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c) -{ - return (uint8x8_t)__builtin_neon_vtbx1v8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c); -} - -__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vtbx1_p8 (poly8x8_t __a, poly8x8_t __b, uint8x8_t __c) -{ - return (poly8x8_t)__builtin_neon_vtbx1v8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vtbx2_s8 (int8x8_t __a, int8x8x2_t __b, int8x8_t __c) -{ - union { int8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; - return (int8x8_t)__builtin_neon_vtbx2v8qi (__a, __bu.__o, __c); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vtbx2_u8 (uint8x8_t __a, uint8x8x2_t __b, uint8x8_t __c) -{ - union { uint8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; - return (uint8x8_t)__builtin_neon_vtbx2v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c); -} - -__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vtbx2_p8 (poly8x8_t __a, poly8x8x2_t __b, uint8x8_t __c) -{ - union { poly8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; - return (poly8x8_t)__builtin_neon_vtbx2v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vtbx3_s8 (int8x8_t __a, int8x8x3_t __b, int8x8_t __c) -{ - union { int8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; - return (int8x8_t)__builtin_neon_vtbx3v8qi (__a, __bu.__o, __c); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vtbx3_u8 (uint8x8_t __a, uint8x8x3_t __b, uint8x8_t __c) -{ - union { uint8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; - return (uint8x8_t)__builtin_neon_vtbx3v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c); -} - -__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vtbx3_p8 (poly8x8_t __a, poly8x8x3_t __b, uint8x8_t __c) -{ - union { poly8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; - return (poly8x8_t)__builtin_neon_vtbx3v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vtbx4_s8 (int8x8_t __a, int8x8x4_t __b, int8x8_t __c) -{ - union { int8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; - return (int8x8_t)__builtin_neon_vtbx4v8qi (__a, __bu.__o, __c); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vtbx4_u8 (uint8x8_t __a, uint8x8x4_t __b, uint8x8_t __c) -{ - union { uint8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; - return (uint8x8_t)__builtin_neon_vtbx4v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c); -} - -__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vtbx4_p8 (poly8x8_t __a, poly8x8x4_t __b, uint8x8_t __c) -{ - union { poly8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; - return (poly8x8_t)__builtin_neon_vtbx4v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vmul_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c) -{ - return (int16x4_t)__builtin_neon_vmul_lanev4hi (__a, __b, __c, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vmul_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c) -{ - return (int32x2_t)__builtin_neon_vmul_lanev2si (__a, __b, __c, 1); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vmul_lane_f32 (float32x2_t __a, float32x2_t __b, const int __c) -{ - return (float32x2_t)__builtin_neon_vmul_lanev2sf (__a, __b, __c, 3); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vmul_lane_u16 (uint16x4_t __a, uint16x4_t __b, const int __c) -{ - return (uint16x4_t)__builtin_neon_vmul_lanev4hi ((int16x4_t) __a, (int16x4_t) __b, __c, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vmul_lane_u32 (uint32x2_t __a, uint32x2_t __b, const int __c) -{ - return (uint32x2_t)__builtin_neon_vmul_lanev2si ((int32x2_t) __a, (int32x2_t) __b, __c, 0); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vmulq_lane_s16 (int16x8_t __a, int16x4_t __b, const int __c) -{ - return (int16x8_t)__builtin_neon_vmul_lanev8hi (__a, __b, __c, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vmulq_lane_s32 (int32x4_t __a, int32x2_t __b, const int __c) -{ - return (int32x4_t)__builtin_neon_vmul_lanev4si (__a, __b, __c, 1); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vmulq_lane_f32 (float32x4_t __a, float32x2_t __b, const int __c) -{ - return (float32x4_t)__builtin_neon_vmul_lanev4sf (__a, __b, __c, 3); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vmulq_lane_u16 (uint16x8_t __a, uint16x4_t __b, const int __c) -{ - return (uint16x8_t)__builtin_neon_vmul_lanev8hi ((int16x8_t) __a, (int16x4_t) __b, __c, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vmulq_lane_u32 (uint32x4_t __a, uint32x2_t __b, const int __c) -{ - return (uint32x4_t)__builtin_neon_vmul_lanev4si ((int32x4_t) __a, (int32x2_t) __b, __c, 0); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vmla_lane_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c, const int __d) -{ - return (int16x4_t)__builtin_neon_vmla_lanev4hi (__a, __b, __c, __d, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vmla_lane_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c, const int __d) -{ - return (int32x2_t)__builtin_neon_vmla_lanev2si (__a, __b, __c, __d, 1); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vmla_lane_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c, const int __d) -{ - return (float32x2_t)__builtin_neon_vmla_lanev2sf (__a, __b, __c, __d, 3); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vmla_lane_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c, const int __d) -{ - return (uint16x4_t)__builtin_neon_vmla_lanev4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, __d, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vmla_lane_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c, const int __d) -{ - return (uint32x2_t)__builtin_neon_vmla_lanev2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, __d, 0); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vmlaq_lane_s16 (int16x8_t __a, int16x8_t __b, int16x4_t __c, const int __d) -{ - return (int16x8_t)__builtin_neon_vmla_lanev8hi (__a, __b, __c, __d, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vmlaq_lane_s32 (int32x4_t __a, int32x4_t __b, int32x2_t __c, const int __d) -{ - return (int32x4_t)__builtin_neon_vmla_lanev4si (__a, __b, __c, __d, 1); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vmlaq_lane_f32 (float32x4_t __a, float32x4_t __b, float32x2_t __c, const int __d) -{ - return (float32x4_t)__builtin_neon_vmla_lanev4sf (__a, __b, __c, __d, 3); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vmlaq_lane_u16 (uint16x8_t __a, uint16x8_t __b, uint16x4_t __c, const int __d) -{ - return (uint16x8_t)__builtin_neon_vmla_lanev8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x4_t) __c, __d, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vmlaq_lane_u32 (uint32x4_t __a, uint32x4_t __b, uint32x2_t __c, const int __d) -{ - return (uint32x4_t)__builtin_neon_vmla_lanev4si ((int32x4_t) __a, (int32x4_t) __b, (int32x2_t) __c, __d, 0); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vmlal_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, const int __d) -{ - return (int32x4_t)__builtin_neon_vmlal_lanev4hi (__a, __b, __c, __d, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vmlal_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, const int __d) -{ - return (int64x2_t)__builtin_neon_vmlal_lanev2si (__a, __b, __c, __d, 1); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vmlal_lane_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c, const int __d) -{ - return (uint32x4_t)__builtin_neon_vmlal_lanev4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, __d, 0); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vmlal_lane_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c, const int __d) -{ - return (uint64x2_t)__builtin_neon_vmlal_lanev2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, __d, 0); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vqdmlal_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, const int __d) -{ - return (int32x4_t)__builtin_neon_vqdmlal_lanev4hi (__a, __b, __c, __d, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vqdmlal_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, const int __d) -{ - return (int64x2_t)__builtin_neon_vqdmlal_lanev2si (__a, __b, __c, __d, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vmls_lane_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c, const int __d) -{ - return (int16x4_t)__builtin_neon_vmls_lanev4hi (__a, __b, __c, __d, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vmls_lane_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c, const int __d) -{ - return (int32x2_t)__builtin_neon_vmls_lanev2si (__a, __b, __c, __d, 1); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vmls_lane_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c, const int __d) -{ - return (float32x2_t)__builtin_neon_vmls_lanev2sf (__a, __b, __c, __d, 3); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vmls_lane_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c, const int __d) -{ - return (uint16x4_t)__builtin_neon_vmls_lanev4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, __d, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vmls_lane_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c, const int __d) -{ - return (uint32x2_t)__builtin_neon_vmls_lanev2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, __d, 0); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vmlsq_lane_s16 (int16x8_t __a, int16x8_t __b, int16x4_t __c, const int __d) -{ - return (int16x8_t)__builtin_neon_vmls_lanev8hi (__a, __b, __c, __d, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vmlsq_lane_s32 (int32x4_t __a, int32x4_t __b, int32x2_t __c, const int __d) -{ - return (int32x4_t)__builtin_neon_vmls_lanev4si (__a, __b, __c, __d, 1); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vmlsq_lane_f32 (float32x4_t __a, float32x4_t __b, float32x2_t __c, const int __d) -{ - return (float32x4_t)__builtin_neon_vmls_lanev4sf (__a, __b, __c, __d, 3); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vmlsq_lane_u16 (uint16x8_t __a, uint16x8_t __b, uint16x4_t __c, const int __d) -{ - return (uint16x8_t)__builtin_neon_vmls_lanev8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x4_t) __c, __d, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vmlsq_lane_u32 (uint32x4_t __a, uint32x4_t __b, uint32x2_t __c, const int __d) -{ - return (uint32x4_t)__builtin_neon_vmls_lanev4si ((int32x4_t) __a, (int32x4_t) __b, (int32x2_t) __c, __d, 0); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vmlsl_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, const int __d) -{ - return (int32x4_t)__builtin_neon_vmlsl_lanev4hi (__a, __b, __c, __d, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vmlsl_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, const int __d) -{ - return (int64x2_t)__builtin_neon_vmlsl_lanev2si (__a, __b, __c, __d, 1); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vmlsl_lane_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c, const int __d) -{ - return (uint32x4_t)__builtin_neon_vmlsl_lanev4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, __d, 0); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vmlsl_lane_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c, const int __d) -{ - return (uint64x2_t)__builtin_neon_vmlsl_lanev2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, __d, 0); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vqdmlsl_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, const int __d) -{ - return (int32x4_t)__builtin_neon_vqdmlsl_lanev4hi (__a, __b, __c, __d, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vqdmlsl_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, const int __d) -{ - return (int64x2_t)__builtin_neon_vqdmlsl_lanev2si (__a, __b, __c, __d, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vmull_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c) -{ - return (int32x4_t)__builtin_neon_vmull_lanev4hi (__a, __b, __c, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vmull_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c) -{ - return (int64x2_t)__builtin_neon_vmull_lanev2si (__a, __b, __c, 1); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vmull_lane_u16 (uint16x4_t __a, uint16x4_t __b, const int __c) -{ - return (uint32x4_t)__builtin_neon_vmull_lanev4hi ((int16x4_t) __a, (int16x4_t) __b, __c, 0); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vmull_lane_u32 (uint32x2_t __a, uint32x2_t __b, const int __c) -{ - return (uint64x2_t)__builtin_neon_vmull_lanev2si ((int32x2_t) __a, (int32x2_t) __b, __c, 0); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vqdmull_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c) -{ - return (int32x4_t)__builtin_neon_vqdmull_lanev4hi (__a, __b, __c, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vqdmull_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c) -{ - return (int64x2_t)__builtin_neon_vqdmull_lanev2si (__a, __b, __c, 1); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vqdmulhq_lane_s16 (int16x8_t __a, int16x4_t __b, const int __c) -{ - return (int16x8_t)__builtin_neon_vqdmulh_lanev8hi (__a, __b, __c, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vqdmulhq_lane_s32 (int32x4_t __a, int32x2_t __b, const int __c) -{ - return (int32x4_t)__builtin_neon_vqdmulh_lanev4si (__a, __b, __c, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vqdmulh_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c) -{ - return (int16x4_t)__builtin_neon_vqdmulh_lanev4hi (__a, __b, __c, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vqdmulh_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c) -{ - return (int32x2_t)__builtin_neon_vqdmulh_lanev2si (__a, __b, __c, 1); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vqrdmulhq_lane_s16 (int16x8_t __a, int16x4_t __b, const int __c) -{ - return (int16x8_t)__builtin_neon_vqdmulh_lanev8hi (__a, __b, __c, 5); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vqrdmulhq_lane_s32 (int32x4_t __a, int32x2_t __b, const int __c) -{ - return (int32x4_t)__builtin_neon_vqdmulh_lanev4si (__a, __b, __c, 5); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vqrdmulh_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c) -{ - return (int16x4_t)__builtin_neon_vqdmulh_lanev4hi (__a, __b, __c, 5); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vqrdmulh_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c) -{ - return (int32x2_t)__builtin_neon_vqdmulh_lanev2si (__a, __b, __c, 5); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vmul_n_s16 (int16x4_t __a, int16_t __b) -{ - return (int16x4_t)__builtin_neon_vmul_nv4hi (__a, (__builtin_neon_hi) __b, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vmul_n_s32 (int32x2_t __a, int32_t __b) -{ - return (int32x2_t)__builtin_neon_vmul_nv2si (__a, (__builtin_neon_si) __b, 1); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vmul_n_f32 (float32x2_t __a, float32_t __b) -{ - return (float32x2_t)__builtin_neon_vmul_nv2sf (__a, (__builtin_neon_sf) __b, 3); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vmul_n_u16 (uint16x4_t __a, uint16_t __b) -{ - return (uint16x4_t)__builtin_neon_vmul_nv4hi ((int16x4_t) __a, (__builtin_neon_hi) __b, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vmul_n_u32 (uint32x2_t __a, uint32_t __b) -{ - return (uint32x2_t)__builtin_neon_vmul_nv2si ((int32x2_t) __a, (__builtin_neon_si) __b, 0); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vmulq_n_s16 (int16x8_t __a, int16_t __b) -{ - return (int16x8_t)__builtin_neon_vmul_nv8hi (__a, (__builtin_neon_hi) __b, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vmulq_n_s32 (int32x4_t __a, int32_t __b) -{ - return (int32x4_t)__builtin_neon_vmul_nv4si (__a, (__builtin_neon_si) __b, 1); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vmulq_n_f32 (float32x4_t __a, float32_t __b) -{ - return (float32x4_t)__builtin_neon_vmul_nv4sf (__a, (__builtin_neon_sf) __b, 3); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vmulq_n_u16 (uint16x8_t __a, uint16_t __b) -{ - return (uint16x8_t)__builtin_neon_vmul_nv8hi ((int16x8_t) __a, (__builtin_neon_hi) __b, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vmulq_n_u32 (uint32x4_t __a, uint32_t __b) -{ - return (uint32x4_t)__builtin_neon_vmul_nv4si ((int32x4_t) __a, (__builtin_neon_si) __b, 0); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vmull_n_s16 (int16x4_t __a, int16_t __b) -{ - return (int32x4_t)__builtin_neon_vmull_nv4hi (__a, (__builtin_neon_hi) __b, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vmull_n_s32 (int32x2_t __a, int32_t __b) -{ - return (int64x2_t)__builtin_neon_vmull_nv2si (__a, (__builtin_neon_si) __b, 1); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vmull_n_u16 (uint16x4_t __a, uint16_t __b) -{ - return (uint32x4_t)__builtin_neon_vmull_nv4hi ((int16x4_t) __a, (__builtin_neon_hi) __b, 0); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vmull_n_u32 (uint32x2_t __a, uint32_t __b) -{ - return (uint64x2_t)__builtin_neon_vmull_nv2si ((int32x2_t) __a, (__builtin_neon_si) __b, 0); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vqdmull_n_s16 (int16x4_t __a, int16_t __b) -{ - return (int32x4_t)__builtin_neon_vqdmull_nv4hi (__a, (__builtin_neon_hi) __b, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vqdmull_n_s32 (int32x2_t __a, int32_t __b) -{ - return (int64x2_t)__builtin_neon_vqdmull_nv2si (__a, (__builtin_neon_si) __b, 1); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vqdmulhq_n_s16 (int16x8_t __a, int16_t __b) -{ - return (int16x8_t)__builtin_neon_vqdmulh_nv8hi (__a, (__builtin_neon_hi) __b, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vqdmulhq_n_s32 (int32x4_t __a, int32_t __b) -{ - return (int32x4_t)__builtin_neon_vqdmulh_nv4si (__a, (__builtin_neon_si) __b, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vqdmulh_n_s16 (int16x4_t __a, int16_t __b) -{ - return (int16x4_t)__builtin_neon_vqdmulh_nv4hi (__a, (__builtin_neon_hi) __b, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vqdmulh_n_s32 (int32x2_t __a, int32_t __b) -{ - return (int32x2_t)__builtin_neon_vqdmulh_nv2si (__a, (__builtin_neon_si) __b, 1); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vqrdmulhq_n_s16 (int16x8_t __a, int16_t __b) -{ - return (int16x8_t)__builtin_neon_vqdmulh_nv8hi (__a, (__builtin_neon_hi) __b, 5); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vqrdmulhq_n_s32 (int32x4_t __a, int32_t __b) -{ - return (int32x4_t)__builtin_neon_vqdmulh_nv4si (__a, (__builtin_neon_si) __b, 5); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vqrdmulh_n_s16 (int16x4_t __a, int16_t __b) -{ - return (int16x4_t)__builtin_neon_vqdmulh_nv4hi (__a, (__builtin_neon_hi) __b, 5); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vqrdmulh_n_s32 (int32x2_t __a, int32_t __b) -{ - return (int32x2_t)__builtin_neon_vqdmulh_nv2si (__a, (__builtin_neon_si) __b, 5); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vmla_n_s16 (int16x4_t __a, int16x4_t __b, int16_t __c) -{ - return (int16x4_t)__builtin_neon_vmla_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vmla_n_s32 (int32x2_t __a, int32x2_t __b, int32_t __c) -{ - return (int32x2_t)__builtin_neon_vmla_nv2si (__a, __b, (__builtin_neon_si) __c, 1); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vmla_n_f32 (float32x2_t __a, float32x2_t __b, float32_t __c) -{ - return (float32x2_t)__builtin_neon_vmla_nv2sf (__a, __b, (__builtin_neon_sf) __c, 3); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vmla_n_u16 (uint16x4_t __a, uint16x4_t __b, uint16_t __c) -{ - return (uint16x4_t)__builtin_neon_vmla_nv4hi ((int16x4_t) __a, (int16x4_t) __b, (__builtin_neon_hi) __c, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vmla_n_u32 (uint32x2_t __a, uint32x2_t __b, uint32_t __c) -{ - return (uint32x2_t)__builtin_neon_vmla_nv2si ((int32x2_t) __a, (int32x2_t) __b, (__builtin_neon_si) __c, 0); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vmlaq_n_s16 (int16x8_t __a, int16x8_t __b, int16_t __c) -{ - return (int16x8_t)__builtin_neon_vmla_nv8hi (__a, __b, (__builtin_neon_hi) __c, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vmlaq_n_s32 (int32x4_t __a, int32x4_t __b, int32_t __c) -{ - return (int32x4_t)__builtin_neon_vmla_nv4si (__a, __b, (__builtin_neon_si) __c, 1); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vmlaq_n_f32 (float32x4_t __a, float32x4_t __b, float32_t __c) -{ - return (float32x4_t)__builtin_neon_vmla_nv4sf (__a, __b, (__builtin_neon_sf) __c, 3); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vmlaq_n_u16 (uint16x8_t __a, uint16x8_t __b, uint16_t __c) -{ - return (uint16x8_t)__builtin_neon_vmla_nv8hi ((int16x8_t) __a, (int16x8_t) __b, (__builtin_neon_hi) __c, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vmlaq_n_u32 (uint32x4_t __a, uint32x4_t __b, uint32_t __c) -{ - return (uint32x4_t)__builtin_neon_vmla_nv4si ((int32x4_t) __a, (int32x4_t) __b, (__builtin_neon_si) __c, 0); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vmlal_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c) -{ - return (int32x4_t)__builtin_neon_vmlal_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vmlal_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c) -{ - return (int64x2_t)__builtin_neon_vmlal_nv2si (__a, __b, (__builtin_neon_si) __c, 1); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vmlal_n_u16 (uint32x4_t __a, uint16x4_t __b, uint16_t __c) -{ - return (uint32x4_t)__builtin_neon_vmlal_nv4hi ((int32x4_t) __a, (int16x4_t) __b, (__builtin_neon_hi) __c, 0); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vmlal_n_u32 (uint64x2_t __a, uint32x2_t __b, uint32_t __c) -{ - return (uint64x2_t)__builtin_neon_vmlal_nv2si ((int64x2_t) __a, (int32x2_t) __b, (__builtin_neon_si) __c, 0); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vqdmlal_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c) -{ - return (int32x4_t)__builtin_neon_vqdmlal_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vqdmlal_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c) -{ - return (int64x2_t)__builtin_neon_vqdmlal_nv2si (__a, __b, (__builtin_neon_si) __c, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vmls_n_s16 (int16x4_t __a, int16x4_t __b, int16_t __c) -{ - return (int16x4_t)__builtin_neon_vmls_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vmls_n_s32 (int32x2_t __a, int32x2_t __b, int32_t __c) -{ - return (int32x2_t)__builtin_neon_vmls_nv2si (__a, __b, (__builtin_neon_si) __c, 1); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vmls_n_f32 (float32x2_t __a, float32x2_t __b, float32_t __c) -{ - return (float32x2_t)__builtin_neon_vmls_nv2sf (__a, __b, (__builtin_neon_sf) __c, 3); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vmls_n_u16 (uint16x4_t __a, uint16x4_t __b, uint16_t __c) -{ - return (uint16x4_t)__builtin_neon_vmls_nv4hi ((int16x4_t) __a, (int16x4_t) __b, (__builtin_neon_hi) __c, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vmls_n_u32 (uint32x2_t __a, uint32x2_t __b, uint32_t __c) -{ - return (uint32x2_t)__builtin_neon_vmls_nv2si ((int32x2_t) __a, (int32x2_t) __b, (__builtin_neon_si) __c, 0); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vmlsq_n_s16 (int16x8_t __a, int16x8_t __b, int16_t __c) -{ - return (int16x8_t)__builtin_neon_vmls_nv8hi (__a, __b, (__builtin_neon_hi) __c, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vmlsq_n_s32 (int32x4_t __a, int32x4_t __b, int32_t __c) -{ - return (int32x4_t)__builtin_neon_vmls_nv4si (__a, __b, (__builtin_neon_si) __c, 1); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vmlsq_n_f32 (float32x4_t __a, float32x4_t __b, float32_t __c) -{ - return (float32x4_t)__builtin_neon_vmls_nv4sf (__a, __b, (__builtin_neon_sf) __c, 3); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vmlsq_n_u16 (uint16x8_t __a, uint16x8_t __b, uint16_t __c) -{ - return (uint16x8_t)__builtin_neon_vmls_nv8hi ((int16x8_t) __a, (int16x8_t) __b, (__builtin_neon_hi) __c, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vmlsq_n_u32 (uint32x4_t __a, uint32x4_t __b, uint32_t __c) -{ - return (uint32x4_t)__builtin_neon_vmls_nv4si ((int32x4_t) __a, (int32x4_t) __b, (__builtin_neon_si) __c, 0); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vmlsl_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c) -{ - return (int32x4_t)__builtin_neon_vmlsl_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vmlsl_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c) -{ - return (int64x2_t)__builtin_neon_vmlsl_nv2si (__a, __b, (__builtin_neon_si) __c, 1); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vmlsl_n_u16 (uint32x4_t __a, uint16x4_t __b, uint16_t __c) -{ - return (uint32x4_t)__builtin_neon_vmlsl_nv4hi ((int32x4_t) __a, (int16x4_t) __b, (__builtin_neon_hi) __c, 0); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vmlsl_n_u32 (uint64x2_t __a, uint32x2_t __b, uint32_t __c) -{ - return (uint64x2_t)__builtin_neon_vmlsl_nv2si ((int64x2_t) __a, (int32x2_t) __b, (__builtin_neon_si) __c, 0); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vqdmlsl_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c) -{ - return (int32x4_t)__builtin_neon_vqdmlsl_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vqdmlsl_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c) -{ - return (int64x2_t)__builtin_neon_vqdmlsl_nv2si (__a, __b, (__builtin_neon_si) __c, 1); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vext_s8 (int8x8_t __a, int8x8_t __b, const int __c) -{ - return (int8x8_t)__builtin_neon_vextv8qi (__a, __b, __c); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vext_s16 (int16x4_t __a, int16x4_t __b, const int __c) -{ - return (int16x4_t)__builtin_neon_vextv4hi (__a, __b, __c); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vext_s32 (int32x2_t __a, int32x2_t __b, const int __c) -{ - return (int32x2_t)__builtin_neon_vextv2si (__a, __b, __c); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vext_s64 (int64x1_t __a, int64x1_t __b, const int __c) -{ - return (int64x1_t)__builtin_neon_vextdi (__a, __b, __c); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vext_f32 (float32x2_t __a, float32x2_t __b, const int __c) -{ - return (float32x2_t)__builtin_neon_vextv2sf (__a, __b, __c); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vext_u8 (uint8x8_t __a, uint8x8_t __b, const int __c) -{ - return (uint8x8_t)__builtin_neon_vextv8qi ((int8x8_t) __a, (int8x8_t) __b, __c); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vext_u16 (uint16x4_t __a, uint16x4_t __b, const int __c) -{ - return (uint16x4_t)__builtin_neon_vextv4hi ((int16x4_t) __a, (int16x4_t) __b, __c); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vext_u32 (uint32x2_t __a, uint32x2_t __b, const int __c) -{ - return (uint32x2_t)__builtin_neon_vextv2si ((int32x2_t) __a, (int32x2_t) __b, __c); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vext_u64 (uint64x1_t __a, uint64x1_t __b, const int __c) -{ - return (uint64x1_t)__builtin_neon_vextdi ((int64x1_t) __a, (int64x1_t) __b, __c); -} - -__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vext_p8 (poly8x8_t __a, poly8x8_t __b, const int __c) -{ - return (poly8x8_t)__builtin_neon_vextv8qi ((int8x8_t) __a, (int8x8_t) __b, __c); -} - -__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) -vext_p16 (poly16x4_t __a, poly16x4_t __b, const int __c) -{ - return (poly16x4_t)__builtin_neon_vextv4hi ((int16x4_t) __a, (int16x4_t) __b, __c); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vextq_s8 (int8x16_t __a, int8x16_t __b, const int __c) -{ - return (int8x16_t)__builtin_neon_vextv16qi (__a, __b, __c); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vextq_s16 (int16x8_t __a, int16x8_t __b, const int __c) -{ - return (int16x8_t)__builtin_neon_vextv8hi (__a, __b, __c); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vextq_s32 (int32x4_t __a, int32x4_t __b, const int __c) -{ - return (int32x4_t)__builtin_neon_vextv4si (__a, __b, __c); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vextq_s64 (int64x2_t __a, int64x2_t __b, const int __c) -{ - return (int64x2_t)__builtin_neon_vextv2di (__a, __b, __c); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vextq_f32 (float32x4_t __a, float32x4_t __b, const int __c) -{ - return (float32x4_t)__builtin_neon_vextv4sf (__a, __b, __c); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vextq_u8 (uint8x16_t __a, uint8x16_t __b, const int __c) -{ - return (uint8x16_t)__builtin_neon_vextv16qi ((int8x16_t) __a, (int8x16_t) __b, __c); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vextq_u16 (uint16x8_t __a, uint16x8_t __b, const int __c) -{ - return (uint16x8_t)__builtin_neon_vextv8hi ((int16x8_t) __a, (int16x8_t) __b, __c); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vextq_u32 (uint32x4_t __a, uint32x4_t __b, const int __c) -{ - return (uint32x4_t)__builtin_neon_vextv4si ((int32x4_t) __a, (int32x4_t) __b, __c); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vextq_u64 (uint64x2_t __a, uint64x2_t __b, const int __c) -{ - return (uint64x2_t)__builtin_neon_vextv2di ((int64x2_t) __a, (int64x2_t) __b, __c); -} - -__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) -vextq_p8 (poly8x16_t __a, poly8x16_t __b, const int __c) -{ - return (poly8x16_t)__builtin_neon_vextv16qi ((int8x16_t) __a, (int8x16_t) __b, __c); -} - -__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) -vextq_p16 (poly16x8_t __a, poly16x8_t __b, const int __c) -{ - return (poly16x8_t)__builtin_neon_vextv8hi ((int16x8_t) __a, (int16x8_t) __b, __c); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vrev64_s8 (int8x8_t __a) -{ - return (int8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 7, 6, 5, 4, 3, 2, 1, 0 }); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vrev64_s16 (int16x4_t __a) -{ - return (int16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 3, 2, 1, 0 }); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vrev64_s32 (int32x2_t __a) -{ - return (int32x2_t) __builtin_shuffle (__a, (uint32x2_t) { 1, 0 }); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vrev64_f32 (float32x2_t __a) -{ - return (float32x2_t) __builtin_shuffle (__a, (uint32x2_t) { 1, 0 }); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vrev64_u8 (uint8x8_t __a) -{ - return (uint8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 7, 6, 5, 4, 3, 2, 1, 0 }); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vrev64_u16 (uint16x4_t __a) -{ - return (uint16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 3, 2, 1, 0 }); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vrev64_u32 (uint32x2_t __a) -{ - return (uint32x2_t) __builtin_shuffle (__a, (uint32x2_t) { 1, 0 }); -} - -__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vrev64_p8 (poly8x8_t __a) -{ - return (poly8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 7, 6, 5, 4, 3, 2, 1, 0 }); -} - -__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) -vrev64_p16 (poly16x4_t __a) -{ - return (poly16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 3, 2, 1, 0 }); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vrev64q_s8 (int8x16_t __a) -{ - return (int8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8 }); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vrev64q_s16 (int16x8_t __a) -{ - return (int16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 }); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vrev64q_s32 (int32x4_t __a) -{ - return (int32x4_t) __builtin_shuffle (__a, (uint32x4_t) { 1, 0, 3, 2 }); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vrev64q_f32 (float32x4_t __a) -{ - return (float32x4_t) __builtin_shuffle (__a, (uint32x4_t) { 1, 0, 3, 2 }); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vrev64q_u8 (uint8x16_t __a) -{ - return (uint8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8 }); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vrev64q_u16 (uint16x8_t __a) -{ - return (uint16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 }); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vrev64q_u32 (uint32x4_t __a) -{ - return (uint32x4_t) __builtin_shuffle (__a, (uint32x4_t) { 1, 0, 3, 2 }); -} - -__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) -vrev64q_p8 (poly8x16_t __a) -{ - return (poly8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8 }); -} - -__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) -vrev64q_p16 (poly16x8_t __a) -{ - return (poly16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 }); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vrev32_s8 (int8x8_t __a) -{ - return (int8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 }); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vrev32_s16 (int16x4_t __a) -{ - return (int16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 1, 0, 3, 2 }); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vrev32_u8 (uint8x8_t __a) -{ - return (uint8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 }); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vrev32_u16 (uint16x4_t __a) -{ - return (uint16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 1, 0, 3, 2 }); -} - -__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vrev32_p8 (poly8x8_t __a) -{ - return (poly8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 3, 2, 1, 0, 7, 6, 5, 4 }); -} - -__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) -vrev32_p16 (poly16x4_t __a) -{ - return (poly16x4_t) __builtin_shuffle (__a, (uint16x4_t) { 1, 0, 3, 2 }); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vrev32q_s8 (int8x16_t __a) -{ - return (int8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 }); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vrev32q_s16 (int16x8_t __a) -{ - return (int16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 }); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vrev32q_u8 (uint8x16_t __a) -{ - return (uint8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 }); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vrev32q_u16 (uint16x8_t __a) -{ - return (uint16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 }); -} - -__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) -vrev32q_p8 (poly8x16_t __a) -{ - return (poly8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8, 15, 14, 13, 12 }); -} - -__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) -vrev32q_p16 (poly16x8_t __a) -{ - return (poly16x8_t) __builtin_shuffle (__a, (uint16x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 }); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vrev16_s8 (int8x8_t __a) -{ - return (int8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 }); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vrev16_u8 (uint8x8_t __a) -{ - return (uint8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 }); -} - -__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vrev16_p8 (poly8x8_t __a) -{ - return (poly8x8_t) __builtin_shuffle (__a, (uint8x8_t) { 1, 0, 3, 2, 5, 4, 7, 6 }); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vrev16q_s8 (int8x16_t __a) -{ - return (int8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14 }); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vrev16q_u8 (uint8x16_t __a) -{ - return (uint8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14 }); -} - -__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) -vrev16q_p8 (poly8x16_t __a) -{ - return (poly8x16_t) __builtin_shuffle (__a, (uint8x16_t) { 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10, 13, 12, 15, 14 }); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vbsl_s8 (uint8x8_t __a, int8x8_t __b, int8x8_t __c) -{ - return (int8x8_t)__builtin_neon_vbslv8qi ((int8x8_t) __a, __b, __c); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vbsl_s16 (uint16x4_t __a, int16x4_t __b, int16x4_t __c) -{ - return (int16x4_t)__builtin_neon_vbslv4hi ((int16x4_t) __a, __b, __c); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vbsl_s32 (uint32x2_t __a, int32x2_t __b, int32x2_t __c) -{ - return (int32x2_t)__builtin_neon_vbslv2si ((int32x2_t) __a, __b, __c); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vbsl_s64 (uint64x1_t __a, int64x1_t __b, int64x1_t __c) -{ - return (int64x1_t)__builtin_neon_vbsldi ((int64x1_t) __a, __b, __c); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vbsl_f32 (uint32x2_t __a, float32x2_t __b, float32x2_t __c) -{ - return (float32x2_t)__builtin_neon_vbslv2sf ((int32x2_t) __a, __b, __c); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vbsl_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c) -{ - return (uint8x8_t)__builtin_neon_vbslv8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vbsl_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c) -{ - return (uint16x4_t)__builtin_neon_vbslv4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vbsl_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c) -{ - return (uint32x2_t)__builtin_neon_vbslv2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vbsl_u64 (uint64x1_t __a, uint64x1_t __b, uint64x1_t __c) -{ - return (uint64x1_t)__builtin_neon_vbsldi ((int64x1_t) __a, (int64x1_t) __b, (int64x1_t) __c); -} - -__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vbsl_p8 (uint8x8_t __a, poly8x8_t __b, poly8x8_t __c) -{ - return (poly8x8_t)__builtin_neon_vbslv8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c); -} - -__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) -vbsl_p16 (uint16x4_t __a, poly16x4_t __b, poly16x4_t __c) -{ - return (poly16x4_t)__builtin_neon_vbslv4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vbslq_s8 (uint8x16_t __a, int8x16_t __b, int8x16_t __c) -{ - return (int8x16_t)__builtin_neon_vbslv16qi ((int8x16_t) __a, __b, __c); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vbslq_s16 (uint16x8_t __a, int16x8_t __b, int16x8_t __c) -{ - return (int16x8_t)__builtin_neon_vbslv8hi ((int16x8_t) __a, __b, __c); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vbslq_s32 (uint32x4_t __a, int32x4_t __b, int32x4_t __c) -{ - return (int32x4_t)__builtin_neon_vbslv4si ((int32x4_t) __a, __b, __c); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vbslq_s64 (uint64x2_t __a, int64x2_t __b, int64x2_t __c) -{ - return (int64x2_t)__builtin_neon_vbslv2di ((int64x2_t) __a, __b, __c); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vbslq_f32 (uint32x4_t __a, float32x4_t __b, float32x4_t __c) -{ - return (float32x4_t)__builtin_neon_vbslv4sf ((int32x4_t) __a, __b, __c); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vbslq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c) -{ - return (uint8x16_t)__builtin_neon_vbslv16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vbslq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c) -{ - return (uint16x8_t)__builtin_neon_vbslv8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vbslq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c) -{ - return (uint32x4_t)__builtin_neon_vbslv4si ((int32x4_t) __a, (int32x4_t) __b, (int32x4_t) __c); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vbslq_u64 (uint64x2_t __a, uint64x2_t __b, uint64x2_t __c) -{ - return (uint64x2_t)__builtin_neon_vbslv2di ((int64x2_t) __a, (int64x2_t) __b, (int64x2_t) __c); -} - -__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) -vbslq_p8 (uint8x16_t __a, poly8x16_t __b, poly8x16_t __c) -{ - return (poly8x16_t)__builtin_neon_vbslv16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c); -} - -__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) -vbslq_p16 (uint16x8_t __a, poly16x8_t __b, poly16x8_t __c) -{ - return (poly16x8_t)__builtin_neon_vbslv8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c); -} - -__extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__)) -vtrn_s8 (int8x8_t __a, int8x8_t __b) -{ - int8x8x2_t __rv; - __rv.val[0] = (int8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 0, 8, 2, 10, 4, 12, 6, 14 }); - __rv.val[1] = (int8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 1, 9, 3, 11, 5, 13, 7, 15 }); - return __rv; -} - -__extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__)) -vtrn_s16 (int16x4_t __a, int16x4_t __b) -{ - int16x4x2_t __rv; - __rv.val[0] = (int16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 2, 6 }); - __rv.val[1] = (int16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 5, 3, 7 }); - return __rv; -} - -__extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__)) -vtrn_u8 (uint8x8_t __a, uint8x8_t __b) -{ - uint8x8x2_t __rv; - __rv.val[0] = (uint8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 0, 8, 2, 10, 4, 12, 6, 14 }); - __rv.val[1] = (uint8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 1, 9, 3, 11, 5, 13, 7, 15 }); - return __rv; -} - -__extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__)) -vtrn_u16 (uint16x4_t __a, uint16x4_t __b) -{ - uint16x4x2_t __rv; - __rv.val[0] = (uint16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 2, 6 }); - __rv.val[1] = (uint16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 5, 3, 7 }); - return __rv; -} - -__extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__)) -vtrn_p8 (poly8x8_t __a, poly8x8_t __b) -{ - poly8x8x2_t __rv; - __rv.val[0] = (poly8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 0, 8, 2, 10, 4, 12, 6, 14 }); - __rv.val[1] = (poly8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 1, 9, 3, 11, 5, 13, 7, 15 }); - return __rv; -} - -__extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__)) -vtrn_p16 (poly16x4_t __a, poly16x4_t __b) -{ - poly16x4x2_t __rv; - __rv.val[0] = (poly16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 2, 6 }); - __rv.val[1] = (poly16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 5, 3, 7 }); - return __rv; -} - -__extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__)) -vtrn_s32 (int32x2_t __a, int32x2_t __b) -{ - int32x2x2_t __rv; - __rv.val[0] = (int32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 }); - __rv.val[1] = (int32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 }); - return __rv; -} - -__extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__)) -vtrn_f32 (float32x2_t __a, float32x2_t __b) -{ - float32x2x2_t __rv; - __rv.val[0] = (float32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 }); - __rv.val[1] = (float32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 }); - return __rv; -} - -__extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__)) -vtrn_u32 (uint32x2_t __a, uint32x2_t __b) -{ - uint32x2x2_t __rv; - __rv.val[0] = (uint32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 }); - __rv.val[1] = (uint32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 }); - return __rv; -} - -__extension__ static __inline int8x16x2_t __attribute__ ((__always_inline__)) -vtrnq_s8 (int8x16_t __a, int8x16_t __b) -{ - int8x16x2_t __rv; - __rv.val[0] = (int8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10, 26, 12, 28, 14, 30 }); - __rv.val[1] = (int8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11, 27, 13, 29, 15, 31 }); - return __rv; -} - -__extension__ static __inline int16x8x2_t __attribute__ ((__always_inline__)) -vtrnq_s16 (int16x8_t __a, int16x8_t __b) -{ - int16x8x2_t __rv; - __rv.val[0] = (int16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 0, 8, 2, 10, 4, 12, 6, 14 }); - __rv.val[1] = (int16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 1, 9, 3, 11, 5, 13, 7, 15 }); - return __rv; -} - -__extension__ static __inline int32x4x2_t __attribute__ ((__always_inline__)) -vtrnq_s32 (int32x4_t __a, int32x4_t __b) -{ - int32x4x2_t __rv; - __rv.val[0] = (int32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 2, 6 }); - __rv.val[1] = (int32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 5, 3, 7 }); - return __rv; -} - -__extension__ static __inline float32x4x2_t __attribute__ ((__always_inline__)) -vtrnq_f32 (float32x4_t __a, float32x4_t __b) -{ - float32x4x2_t __rv; - __rv.val[0] = (float32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 2, 6 }); - __rv.val[1] = (float32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 5, 3, 7 }); - return __rv; -} - -__extension__ static __inline uint8x16x2_t __attribute__ ((__always_inline__)) -vtrnq_u8 (uint8x16_t __a, uint8x16_t __b) -{ - uint8x16x2_t __rv; - __rv.val[0] = (uint8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10, 26, 12, 28, 14, 30 }); - __rv.val[1] = (uint8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11, 27, 13, 29, 15, 31 }); - return __rv; -} - -__extension__ static __inline uint16x8x2_t __attribute__ ((__always_inline__)) -vtrnq_u16 (uint16x8_t __a, uint16x8_t __b) -{ - uint16x8x2_t __rv; - __rv.val[0] = (uint16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 0, 8, 2, 10, 4, 12, 6, 14 }); - __rv.val[1] = (uint16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 1, 9, 3, 11, 5, 13, 7, 15 }); - return __rv; -} - -__extension__ static __inline uint32x4x2_t __attribute__ ((__always_inline__)) -vtrnq_u32 (uint32x4_t __a, uint32x4_t __b) -{ - uint32x4x2_t __rv; - __rv.val[0] = (uint32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 2, 6 }); - __rv.val[1] = (uint32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 5, 3, 7 }); - return __rv; -} - -__extension__ static __inline poly8x16x2_t __attribute__ ((__always_inline__)) -vtrnq_p8 (poly8x16_t __a, poly8x16_t __b) -{ - poly8x16x2_t __rv; - __rv.val[0] = (poly8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10, 26, 12, 28, 14, 30 }); - __rv.val[1] = (poly8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11, 27, 13, 29, 15, 31 }); - return __rv; -} - -__extension__ static __inline poly16x8x2_t __attribute__ ((__always_inline__)) -vtrnq_p16 (poly16x8_t __a, poly16x8_t __b) -{ - poly16x8x2_t __rv; - __rv.val[0] = (poly16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 0, 8, 2, 10, 4, 12, 6, 14 }); - __rv.val[1] = (poly16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 1, 9, 3, 11, 5, 13, 7, 15 }); - return __rv; -} - -__extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__)) -vzip_s8 (int8x8_t __a, int8x8_t __b) -{ - int8x8x2_t __rv; - __rv.val[0] = (int8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 0, 8, 1, 9, 2, 10, 3, 11 }); - __rv.val[1] = (int8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 4, 12, 5, 13, 6, 14, 7, 15 }); - return __rv; -} - -__extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__)) -vzip_s16 (int16x4_t __a, int16x4_t __b) -{ - int16x4x2_t __rv; - __rv.val[0] = (int16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 1, 5 }); - __rv.val[1] = (int16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 2, 6, 3, 7 }); - return __rv; -} - -__extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__)) -vzip_u8 (uint8x8_t __a, uint8x8_t __b) -{ - uint8x8x2_t __rv; - __rv.val[0] = (uint8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 0, 8, 1, 9, 2, 10, 3, 11 }); - __rv.val[1] = (uint8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 4, 12, 5, 13, 6, 14, 7, 15 }); - return __rv; -} - -__extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__)) -vzip_u16 (uint16x4_t __a, uint16x4_t __b) -{ - uint16x4x2_t __rv; - __rv.val[0] = (uint16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 1, 5 }); - __rv.val[1] = (uint16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 2, 6, 3, 7 }); - return __rv; -} - -__extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__)) -vzip_p8 (poly8x8_t __a, poly8x8_t __b) -{ - poly8x8x2_t __rv; - __rv.val[0] = (poly8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 0, 8, 1, 9, 2, 10, 3, 11 }); - __rv.val[1] = (poly8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 4, 12, 5, 13, 6, 14, 7, 15 }); - return __rv; -} - -__extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__)) -vzip_p16 (poly16x4_t __a, poly16x4_t __b) -{ - poly16x4x2_t __rv; - __rv.val[0] = (poly16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 4, 1, 5 }); - __rv.val[1] = (poly16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 2, 6, 3, 7 }); - return __rv; -} - -__extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__)) -vzip_s32 (int32x2_t __a, int32x2_t __b) -{ - int32x2x2_t __rv; - __rv.val[0] = (int32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 }); - __rv.val[1] = (int32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 }); - return __rv; -} - -__extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__)) -vzip_f32 (float32x2_t __a, float32x2_t __b) -{ - float32x2x2_t __rv; - __rv.val[0] = (float32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 }); - __rv.val[1] = (float32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 }); - return __rv; -} - -__extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__)) -vzip_u32 (uint32x2_t __a, uint32x2_t __b) -{ - uint32x2x2_t __rv; - __rv.val[0] = (uint32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 }); - __rv.val[1] = (uint32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 }); - return __rv; -} - -__extension__ static __inline int8x16x2_t __attribute__ ((__always_inline__)) -vzipq_s8 (int8x16_t __a, int8x16_t __b) -{ - int8x16x2_t __rv; - __rv.val[0] = (int8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23 }); - __rv.val[1] = (int8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31 }); - return __rv; -} - -__extension__ static __inline int16x8x2_t __attribute__ ((__always_inline__)) -vzipq_s16 (int16x8_t __a, int16x8_t __b) -{ - int16x8x2_t __rv; - __rv.val[0] = (int16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 0, 8, 1, 9, 2, 10, 3, 11 }); - __rv.val[1] = (int16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 4, 12, 5, 13, 6, 14, 7, 15 }); - return __rv; -} - -__extension__ static __inline int32x4x2_t __attribute__ ((__always_inline__)) -vzipq_s32 (int32x4_t __a, int32x4_t __b) -{ - int32x4x2_t __rv; - __rv.val[0] = (int32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 1, 5 }); - __rv.val[1] = (int32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 2, 6, 3, 7 }); - return __rv; -} - -__extension__ static __inline float32x4x2_t __attribute__ ((__always_inline__)) -vzipq_f32 (float32x4_t __a, float32x4_t __b) -{ - float32x4x2_t __rv; - __rv.val[0] = (float32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 1, 5 }); - __rv.val[1] = (float32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 2, 6, 3, 7 }); - return __rv; -} - -__extension__ static __inline uint8x16x2_t __attribute__ ((__always_inline__)) -vzipq_u8 (uint8x16_t __a, uint8x16_t __b) -{ - uint8x16x2_t __rv; - __rv.val[0] = (uint8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23 }); - __rv.val[1] = (uint8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31 }); - return __rv; -} - -__extension__ static __inline uint16x8x2_t __attribute__ ((__always_inline__)) -vzipq_u16 (uint16x8_t __a, uint16x8_t __b) -{ - uint16x8x2_t __rv; - __rv.val[0] = (uint16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 0, 8, 1, 9, 2, 10, 3, 11 }); - __rv.val[1] = (uint16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 4, 12, 5, 13, 6, 14, 7, 15 }); - return __rv; -} - -__extension__ static __inline uint32x4x2_t __attribute__ ((__always_inline__)) -vzipq_u32 (uint32x4_t __a, uint32x4_t __b) -{ - uint32x4x2_t __rv; - __rv.val[0] = (uint32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 4, 1, 5 }); - __rv.val[1] = (uint32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 2, 6, 3, 7 }); - return __rv; -} - -__extension__ static __inline poly8x16x2_t __attribute__ ((__always_inline__)) -vzipq_p8 (poly8x16_t __a, poly8x16_t __b) -{ - poly8x16x2_t __rv; - __rv.val[0] = (poly8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5, 21, 6, 22, 7, 23 }); - __rv.val[1] = (poly8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 8, 24, 9, 25, 10, 26, 11, 27, 12, 28, 13, 29, 14, 30, 15, 31 }); - return __rv; -} - -__extension__ static __inline poly16x8x2_t __attribute__ ((__always_inline__)) -vzipq_p16 (poly16x8_t __a, poly16x8_t __b) -{ - poly16x8x2_t __rv; - __rv.val[0] = (poly16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 0, 8, 1, 9, 2, 10, 3, 11 }); - __rv.val[1] = (poly16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 4, 12, 5, 13, 6, 14, 7, 15 }); - return __rv; -} - -__extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__)) -vuzp_s8 (int8x8_t __a, int8x8_t __b) -{ - int8x8x2_t __rv; - __rv.val[0] = (int8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 0, 2, 4, 6, 8, 10, 12, 14 }); - __rv.val[1] = (int8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 1, 3, 5, 7, 9, 11, 13, 15 }); - return __rv; -} - -__extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__)) -vuzp_s16 (int16x4_t __a, int16x4_t __b) -{ - int16x4x2_t __rv; - __rv.val[0] = (int16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 2, 4, 6 }); - __rv.val[1] = (int16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 3, 5, 7 }); - return __rv; -} - -__extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__)) -vuzp_s32 (int32x2_t __a, int32x2_t __b) -{ - int32x2x2_t __rv; - __rv.val[0] = (int32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 }); - __rv.val[1] = (int32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 }); - return __rv; -} - -__extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__)) -vuzp_f32 (float32x2_t __a, float32x2_t __b) -{ - float32x2x2_t __rv; - __rv.val[0] = (float32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 }); - __rv.val[1] = (float32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 }); - return __rv; -} - -__extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__)) -vuzp_u8 (uint8x8_t __a, uint8x8_t __b) -{ - uint8x8x2_t __rv; - __rv.val[0] = (uint8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 0, 2, 4, 6, 8, 10, 12, 14 }); - __rv.val[1] = (uint8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 1, 3, 5, 7, 9, 11, 13, 15 }); - return __rv; -} - -__extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__)) -vuzp_u16 (uint16x4_t __a, uint16x4_t __b) -{ - uint16x4x2_t __rv; - __rv.val[0] = (uint16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 2, 4, 6 }); - __rv.val[1] = (uint16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 3, 5, 7 }); - return __rv; -} - -__extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__)) -vuzp_u32 (uint32x2_t __a, uint32x2_t __b) -{ - uint32x2x2_t __rv; - __rv.val[0] = (uint32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 0, 2 }); - __rv.val[1] = (uint32x2_t) __builtin_shuffle (__a, __b, (uint32x2_t) { 1, 3 }); - return __rv; -} - -__extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__)) -vuzp_p8 (poly8x8_t __a, poly8x8_t __b) -{ - poly8x8x2_t __rv; - __rv.val[0] = (poly8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 0, 2, 4, 6, 8, 10, 12, 14 }); - __rv.val[1] = (poly8x8_t) __builtin_shuffle (__a, __b, (uint8x8_t) { 1, 3, 5, 7, 9, 11, 13, 15 }); - return __rv; -} - -__extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__)) -vuzp_p16 (poly16x4_t __a, poly16x4_t __b) -{ - poly16x4x2_t __rv; - __rv.val[0] = (poly16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 0, 2, 4, 6 }); - __rv.val[1] = (poly16x4_t) __builtin_shuffle (__a, __b, (uint16x4_t) { 1, 3, 5, 7 }); - return __rv; -} - -__extension__ static __inline int8x16x2_t __attribute__ ((__always_inline__)) -vuzpq_s8 (int8x16_t __a, int8x16_t __b) -{ - int8x16x2_t __rv; - __rv.val[0] = (int8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30 }); - __rv.val[1] = (int8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31 }); - return __rv; -} - -__extension__ static __inline int16x8x2_t __attribute__ ((__always_inline__)) -vuzpq_s16 (int16x8_t __a, int16x8_t __b) -{ - int16x8x2_t __rv; - __rv.val[0] = (int16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 0, 2, 4, 6, 8, 10, 12, 14 }); - __rv.val[1] = (int16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 1, 3, 5, 7, 9, 11, 13, 15 }); - return __rv; -} - -__extension__ static __inline int32x4x2_t __attribute__ ((__always_inline__)) -vuzpq_s32 (int32x4_t __a, int32x4_t __b) -{ - int32x4x2_t __rv; - __rv.val[0] = (int32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 2, 4, 6 }); - __rv.val[1] = (int32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 3, 5, 7 }); - return __rv; -} - -__extension__ static __inline float32x4x2_t __attribute__ ((__always_inline__)) -vuzpq_f32 (float32x4_t __a, float32x4_t __b) -{ - float32x4x2_t __rv; - __rv.val[0] = (float32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 2, 4, 6 }); - __rv.val[1] = (float32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 3, 5, 7 }); - return __rv; -} - -__extension__ static __inline uint8x16x2_t __attribute__ ((__always_inline__)) -vuzpq_u8 (uint8x16_t __a, uint8x16_t __b) -{ - uint8x16x2_t __rv; - __rv.val[0] = (uint8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30 }); - __rv.val[1] = (uint8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31 }); - return __rv; -} - -__extension__ static __inline uint16x8x2_t __attribute__ ((__always_inline__)) -vuzpq_u16 (uint16x8_t __a, uint16x8_t __b) -{ - uint16x8x2_t __rv; - __rv.val[0] = (uint16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 0, 2, 4, 6, 8, 10, 12, 14 }); - __rv.val[1] = (uint16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 1, 3, 5, 7, 9, 11, 13, 15 }); - return __rv; -} - -__extension__ static __inline uint32x4x2_t __attribute__ ((__always_inline__)) -vuzpq_u32 (uint32x4_t __a, uint32x4_t __b) -{ - uint32x4x2_t __rv; - __rv.val[0] = (uint32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 0, 2, 4, 6 }); - __rv.val[1] = (uint32x4_t) __builtin_shuffle (__a, __b, (uint32x4_t) { 1, 3, 5, 7 }); - return __rv; -} - -__extension__ static __inline poly8x16x2_t __attribute__ ((__always_inline__)) -vuzpq_p8 (poly8x16_t __a, poly8x16_t __b) -{ - poly8x16x2_t __rv; - __rv.val[0] = (poly8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30 }); - __rv.val[1] = (poly8x16_t) __builtin_shuffle (__a, __b, (uint8x16_t) { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31 }); - return __rv; -} - -__extension__ static __inline poly16x8x2_t __attribute__ ((__always_inline__)) -vuzpq_p16 (poly16x8_t __a, poly16x8_t __b) -{ - poly16x8x2_t __rv; - __rv.val[0] = (poly16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 0, 2, 4, 6, 8, 10, 12, 14 }); - __rv.val[1] = (poly16x8_t) __builtin_shuffle (__a, __b, (uint16x8_t) { 1, 3, 5, 7, 9, 11, 13, 15 }); - return __rv; -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vld1_s8 (const int8_t * __a) -{ - return (int8x8_t)__builtin_neon_vld1v8qi ((const __builtin_neon_qi *) __a); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vld1_s16 (const int16_t * __a) -{ - return (int16x4_t)__builtin_neon_vld1v4hi ((const __builtin_neon_hi *) __a); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vld1_s32 (const int32_t * __a) -{ - return (int32x2_t)__builtin_neon_vld1v2si ((const __builtin_neon_si *) __a); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vld1_s64 (const int64_t * __a) -{ - return (int64x1_t)__builtin_neon_vld1di ((const __builtin_neon_di *) __a); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vld1_f32 (const float32_t * __a) -{ - return (float32x2_t)__builtin_neon_vld1v2sf ((const __builtin_neon_sf *) __a); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vld1_u8 (const uint8_t * __a) -{ - return (uint8x8_t)__builtin_neon_vld1v8qi ((const __builtin_neon_qi *) __a); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vld1_u16 (const uint16_t * __a) -{ - return (uint16x4_t)__builtin_neon_vld1v4hi ((const __builtin_neon_hi *) __a); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vld1_u32 (const uint32_t * __a) -{ - return (uint32x2_t)__builtin_neon_vld1v2si ((const __builtin_neon_si *) __a); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vld1_u64 (const uint64_t * __a) -{ - return (uint64x1_t)__builtin_neon_vld1di ((const __builtin_neon_di *) __a); -} - -__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vld1_p8 (const poly8_t * __a) -{ - return (poly8x8_t)__builtin_neon_vld1v8qi ((const __builtin_neon_qi *) __a); -} - -__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) -vld1_p16 (const poly16_t * __a) -{ - return (poly16x4_t)__builtin_neon_vld1v4hi ((const __builtin_neon_hi *) __a); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vld1q_s8 (const int8_t * __a) -{ - return (int8x16_t)__builtin_neon_vld1v16qi ((const __builtin_neon_qi *) __a); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vld1q_s16 (const int16_t * __a) -{ - return (int16x8_t)__builtin_neon_vld1v8hi ((const __builtin_neon_hi *) __a); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vld1q_s32 (const int32_t * __a) -{ - return (int32x4_t)__builtin_neon_vld1v4si ((const __builtin_neon_si *) __a); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vld1q_s64 (const int64_t * __a) -{ - return (int64x2_t)__builtin_neon_vld1v2di ((const __builtin_neon_di *) __a); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vld1q_f32 (const float32_t * __a) -{ - return (float32x4_t)__builtin_neon_vld1v4sf ((const __builtin_neon_sf *) __a); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vld1q_u8 (const uint8_t * __a) -{ - return (uint8x16_t)__builtin_neon_vld1v16qi ((const __builtin_neon_qi *) __a); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vld1q_u16 (const uint16_t * __a) -{ - return (uint16x8_t)__builtin_neon_vld1v8hi ((const __builtin_neon_hi *) __a); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vld1q_u32 (const uint32_t * __a) -{ - return (uint32x4_t)__builtin_neon_vld1v4si ((const __builtin_neon_si *) __a); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vld1q_u64 (const uint64_t * __a) -{ - return (uint64x2_t)__builtin_neon_vld1v2di ((const __builtin_neon_di *) __a); -} - -__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) -vld1q_p8 (const poly8_t * __a) -{ - return (poly8x16_t)__builtin_neon_vld1v16qi ((const __builtin_neon_qi *) __a); -} - -__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) -vld1q_p16 (const poly16_t * __a) -{ - return (poly16x8_t)__builtin_neon_vld1v8hi ((const __builtin_neon_hi *) __a); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vld1_lane_s8 (const int8_t * __a, int8x8_t __b, const int __c) -{ - return (int8x8_t)__builtin_neon_vld1_lanev8qi ((const __builtin_neon_qi *) __a, __b, __c); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vld1_lane_s16 (const int16_t * __a, int16x4_t __b, const int __c) -{ - return (int16x4_t)__builtin_neon_vld1_lanev4hi ((const __builtin_neon_hi *) __a, __b, __c); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vld1_lane_s32 (const int32_t * __a, int32x2_t __b, const int __c) -{ - return (int32x2_t)__builtin_neon_vld1_lanev2si ((const __builtin_neon_si *) __a, __b, __c); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vld1_lane_f32 (const float32_t * __a, float32x2_t __b, const int __c) -{ - return (float32x2_t)__builtin_neon_vld1_lanev2sf ((const __builtin_neon_sf *) __a, __b, __c); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vld1_lane_u8 (const uint8_t * __a, uint8x8_t __b, const int __c) -{ - return (uint8x8_t)__builtin_neon_vld1_lanev8qi ((const __builtin_neon_qi *) __a, (int8x8_t) __b, __c); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vld1_lane_u16 (const uint16_t * __a, uint16x4_t __b, const int __c) -{ - return (uint16x4_t)__builtin_neon_vld1_lanev4hi ((const __builtin_neon_hi *) __a, (int16x4_t) __b, __c); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vld1_lane_u32 (const uint32_t * __a, uint32x2_t __b, const int __c) -{ - return (uint32x2_t)__builtin_neon_vld1_lanev2si ((const __builtin_neon_si *) __a, (int32x2_t) __b, __c); -} - -__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vld1_lane_p8 (const poly8_t * __a, poly8x8_t __b, const int __c) -{ - return (poly8x8_t)__builtin_neon_vld1_lanev8qi ((const __builtin_neon_qi *) __a, (int8x8_t) __b, __c); -} - -__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) -vld1_lane_p16 (const poly16_t * __a, poly16x4_t __b, const int __c) -{ - return (poly16x4_t)__builtin_neon_vld1_lanev4hi ((const __builtin_neon_hi *) __a, (int16x4_t) __b, __c); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vld1_lane_s64 (const int64_t * __a, int64x1_t __b, const int __c) -{ - return (int64x1_t)__builtin_neon_vld1_lanedi ((const __builtin_neon_di *) __a, __b, __c); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vld1_lane_u64 (const uint64_t * __a, uint64x1_t __b, const int __c) -{ - return (uint64x1_t)__builtin_neon_vld1_lanedi ((const __builtin_neon_di *) __a, (int64x1_t) __b, __c); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vld1q_lane_s8 (const int8_t * __a, int8x16_t __b, const int __c) -{ - return (int8x16_t)__builtin_neon_vld1_lanev16qi ((const __builtin_neon_qi *) __a, __b, __c); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vld1q_lane_s16 (const int16_t * __a, int16x8_t __b, const int __c) -{ - return (int16x8_t)__builtin_neon_vld1_lanev8hi ((const __builtin_neon_hi *) __a, __b, __c); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vld1q_lane_s32 (const int32_t * __a, int32x4_t __b, const int __c) -{ - return (int32x4_t)__builtin_neon_vld1_lanev4si ((const __builtin_neon_si *) __a, __b, __c); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vld1q_lane_f32 (const float32_t * __a, float32x4_t __b, const int __c) -{ - return (float32x4_t)__builtin_neon_vld1_lanev4sf ((const __builtin_neon_sf *) __a, __b, __c); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vld1q_lane_u8 (const uint8_t * __a, uint8x16_t __b, const int __c) -{ - return (uint8x16_t)__builtin_neon_vld1_lanev16qi ((const __builtin_neon_qi *) __a, (int8x16_t) __b, __c); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vld1q_lane_u16 (const uint16_t * __a, uint16x8_t __b, const int __c) -{ - return (uint16x8_t)__builtin_neon_vld1_lanev8hi ((const __builtin_neon_hi *) __a, (int16x8_t) __b, __c); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vld1q_lane_u32 (const uint32_t * __a, uint32x4_t __b, const int __c) -{ - return (uint32x4_t)__builtin_neon_vld1_lanev4si ((const __builtin_neon_si *) __a, (int32x4_t) __b, __c); -} - -__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) -vld1q_lane_p8 (const poly8_t * __a, poly8x16_t __b, const int __c) -{ - return (poly8x16_t)__builtin_neon_vld1_lanev16qi ((const __builtin_neon_qi *) __a, (int8x16_t) __b, __c); -} - -__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) -vld1q_lane_p16 (const poly16_t * __a, poly16x8_t __b, const int __c) -{ - return (poly16x8_t)__builtin_neon_vld1_lanev8hi ((const __builtin_neon_hi *) __a, (int16x8_t) __b, __c); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vld1q_lane_s64 (const int64_t * __a, int64x2_t __b, const int __c) -{ - return (int64x2_t)__builtin_neon_vld1_lanev2di ((const __builtin_neon_di *) __a, __b, __c); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vld1q_lane_u64 (const uint64_t * __a, uint64x2_t __b, const int __c) -{ - return (uint64x2_t)__builtin_neon_vld1_lanev2di ((const __builtin_neon_di *) __a, (int64x2_t) __b, __c); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vld1_dup_s8 (const int8_t * __a) -{ - return (int8x8_t)__builtin_neon_vld1_dupv8qi ((const __builtin_neon_qi *) __a); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vld1_dup_s16 (const int16_t * __a) -{ - return (int16x4_t)__builtin_neon_vld1_dupv4hi ((const __builtin_neon_hi *) __a); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vld1_dup_s32 (const int32_t * __a) -{ - return (int32x2_t)__builtin_neon_vld1_dupv2si ((const __builtin_neon_si *) __a); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vld1_dup_f32 (const float32_t * __a) -{ - return (float32x2_t)__builtin_neon_vld1_dupv2sf ((const __builtin_neon_sf *) __a); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vld1_dup_u8 (const uint8_t * __a) -{ - return (uint8x8_t)__builtin_neon_vld1_dupv8qi ((const __builtin_neon_qi *) __a); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vld1_dup_u16 (const uint16_t * __a) -{ - return (uint16x4_t)__builtin_neon_vld1_dupv4hi ((const __builtin_neon_hi *) __a); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vld1_dup_u32 (const uint32_t * __a) -{ - return (uint32x2_t)__builtin_neon_vld1_dupv2si ((const __builtin_neon_si *) __a); -} - -__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vld1_dup_p8 (const poly8_t * __a) -{ - return (poly8x8_t)__builtin_neon_vld1_dupv8qi ((const __builtin_neon_qi *) __a); -} - -__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) -vld1_dup_p16 (const poly16_t * __a) -{ - return (poly16x4_t)__builtin_neon_vld1_dupv4hi ((const __builtin_neon_hi *) __a); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vld1_dup_s64 (const int64_t * __a) -{ - return (int64x1_t)__builtin_neon_vld1_dupdi ((const __builtin_neon_di *) __a); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vld1_dup_u64 (const uint64_t * __a) -{ - return (uint64x1_t)__builtin_neon_vld1_dupdi ((const __builtin_neon_di *) __a); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vld1q_dup_s8 (const int8_t * __a) -{ - return (int8x16_t)__builtin_neon_vld1_dupv16qi ((const __builtin_neon_qi *) __a); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vld1q_dup_s16 (const int16_t * __a) -{ - return (int16x8_t)__builtin_neon_vld1_dupv8hi ((const __builtin_neon_hi *) __a); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vld1q_dup_s32 (const int32_t * __a) -{ - return (int32x4_t)__builtin_neon_vld1_dupv4si ((const __builtin_neon_si *) __a); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vld1q_dup_f32 (const float32_t * __a) -{ - return (float32x4_t)__builtin_neon_vld1_dupv4sf ((const __builtin_neon_sf *) __a); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vld1q_dup_u8 (const uint8_t * __a) -{ - return (uint8x16_t)__builtin_neon_vld1_dupv16qi ((const __builtin_neon_qi *) __a); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vld1q_dup_u16 (const uint16_t * __a) -{ - return (uint16x8_t)__builtin_neon_vld1_dupv8hi ((const __builtin_neon_hi *) __a); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vld1q_dup_u32 (const uint32_t * __a) -{ - return (uint32x4_t)__builtin_neon_vld1_dupv4si ((const __builtin_neon_si *) __a); -} - -__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) -vld1q_dup_p8 (const poly8_t * __a) -{ - return (poly8x16_t)__builtin_neon_vld1_dupv16qi ((const __builtin_neon_qi *) __a); -} - -__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) -vld1q_dup_p16 (const poly16_t * __a) -{ - return (poly16x8_t)__builtin_neon_vld1_dupv8hi ((const __builtin_neon_hi *) __a); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vld1q_dup_s64 (const int64_t * __a) -{ - return (int64x2_t)__builtin_neon_vld1_dupv2di ((const __builtin_neon_di *) __a); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vld1q_dup_u64 (const uint64_t * __a) -{ - return (uint64x2_t)__builtin_neon_vld1_dupv2di ((const __builtin_neon_di *) __a); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1_s8 (int8_t * __a, int8x8_t __b) -{ - __builtin_neon_vst1v8qi ((__builtin_neon_qi *) __a, __b); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1_s16 (int16_t * __a, int16x4_t __b) -{ - __builtin_neon_vst1v4hi ((__builtin_neon_hi *) __a, __b); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1_s32 (int32_t * __a, int32x2_t __b) -{ - __builtin_neon_vst1v2si ((__builtin_neon_si *) __a, __b); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1_s64 (int64_t * __a, int64x1_t __b) -{ - __builtin_neon_vst1di ((__builtin_neon_di *) __a, __b); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1_f32 (float32_t * __a, float32x2_t __b) -{ - __builtin_neon_vst1v2sf ((__builtin_neon_sf *) __a, __b); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1_u8 (uint8_t * __a, uint8x8_t __b) -{ - __builtin_neon_vst1v8qi ((__builtin_neon_qi *) __a, (int8x8_t) __b); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1_u16 (uint16_t * __a, uint16x4_t __b) -{ - __builtin_neon_vst1v4hi ((__builtin_neon_hi *) __a, (int16x4_t) __b); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1_u32 (uint32_t * __a, uint32x2_t __b) -{ - __builtin_neon_vst1v2si ((__builtin_neon_si *) __a, (int32x2_t) __b); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1_u64 (uint64_t * __a, uint64x1_t __b) -{ - __builtin_neon_vst1di ((__builtin_neon_di *) __a, (int64x1_t) __b); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1_p8 (poly8_t * __a, poly8x8_t __b) -{ - __builtin_neon_vst1v8qi ((__builtin_neon_qi *) __a, (int8x8_t) __b); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1_p16 (poly16_t * __a, poly16x4_t __b) -{ - __builtin_neon_vst1v4hi ((__builtin_neon_hi *) __a, (int16x4_t) __b); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1q_s8 (int8_t * __a, int8x16_t __b) -{ - __builtin_neon_vst1v16qi ((__builtin_neon_qi *) __a, __b); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1q_s16 (int16_t * __a, int16x8_t __b) -{ - __builtin_neon_vst1v8hi ((__builtin_neon_hi *) __a, __b); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1q_s32 (int32_t * __a, int32x4_t __b) -{ - __builtin_neon_vst1v4si ((__builtin_neon_si *) __a, __b); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1q_s64 (int64_t * __a, int64x2_t __b) -{ - __builtin_neon_vst1v2di ((__builtin_neon_di *) __a, __b); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1q_f32 (float32_t * __a, float32x4_t __b) -{ - __builtin_neon_vst1v4sf ((__builtin_neon_sf *) __a, __b); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1q_u8 (uint8_t * __a, uint8x16_t __b) -{ - __builtin_neon_vst1v16qi ((__builtin_neon_qi *) __a, (int8x16_t) __b); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1q_u16 (uint16_t * __a, uint16x8_t __b) -{ - __builtin_neon_vst1v8hi ((__builtin_neon_hi *) __a, (int16x8_t) __b); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1q_u32 (uint32_t * __a, uint32x4_t __b) -{ - __builtin_neon_vst1v4si ((__builtin_neon_si *) __a, (int32x4_t) __b); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1q_u64 (uint64_t * __a, uint64x2_t __b) -{ - __builtin_neon_vst1v2di ((__builtin_neon_di *) __a, (int64x2_t) __b); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1q_p8 (poly8_t * __a, poly8x16_t __b) -{ - __builtin_neon_vst1v16qi ((__builtin_neon_qi *) __a, (int8x16_t) __b); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1q_p16 (poly16_t * __a, poly16x8_t __b) -{ - __builtin_neon_vst1v8hi ((__builtin_neon_hi *) __a, (int16x8_t) __b); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1_lane_s8 (int8_t * __a, int8x8_t __b, const int __c) -{ - __builtin_neon_vst1_lanev8qi ((__builtin_neon_qi *) __a, __b, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1_lane_s16 (int16_t * __a, int16x4_t __b, const int __c) -{ - __builtin_neon_vst1_lanev4hi ((__builtin_neon_hi *) __a, __b, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1_lane_s32 (int32_t * __a, int32x2_t __b, const int __c) -{ - __builtin_neon_vst1_lanev2si ((__builtin_neon_si *) __a, __b, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1_lane_f32 (float32_t * __a, float32x2_t __b, const int __c) -{ - __builtin_neon_vst1_lanev2sf ((__builtin_neon_sf *) __a, __b, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1_lane_u8 (uint8_t * __a, uint8x8_t __b, const int __c) -{ - __builtin_neon_vst1_lanev8qi ((__builtin_neon_qi *) __a, (int8x8_t) __b, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1_lane_u16 (uint16_t * __a, uint16x4_t __b, const int __c) -{ - __builtin_neon_vst1_lanev4hi ((__builtin_neon_hi *) __a, (int16x4_t) __b, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1_lane_u32 (uint32_t * __a, uint32x2_t __b, const int __c) -{ - __builtin_neon_vst1_lanev2si ((__builtin_neon_si *) __a, (int32x2_t) __b, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1_lane_p8 (poly8_t * __a, poly8x8_t __b, const int __c) -{ - __builtin_neon_vst1_lanev8qi ((__builtin_neon_qi *) __a, (int8x8_t) __b, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1_lane_p16 (poly16_t * __a, poly16x4_t __b, const int __c) -{ - __builtin_neon_vst1_lanev4hi ((__builtin_neon_hi *) __a, (int16x4_t) __b, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1_lane_s64 (int64_t * __a, int64x1_t __b, const int __c) -{ - __builtin_neon_vst1_lanedi ((__builtin_neon_di *) __a, __b, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1_lane_u64 (uint64_t * __a, uint64x1_t __b, const int __c) -{ - __builtin_neon_vst1_lanedi ((__builtin_neon_di *) __a, (int64x1_t) __b, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1q_lane_s8 (int8_t * __a, int8x16_t __b, const int __c) -{ - __builtin_neon_vst1_lanev16qi ((__builtin_neon_qi *) __a, __b, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1q_lane_s16 (int16_t * __a, int16x8_t __b, const int __c) -{ - __builtin_neon_vst1_lanev8hi ((__builtin_neon_hi *) __a, __b, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1q_lane_s32 (int32_t * __a, int32x4_t __b, const int __c) -{ - __builtin_neon_vst1_lanev4si ((__builtin_neon_si *) __a, __b, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1q_lane_f32 (float32_t * __a, float32x4_t __b, const int __c) -{ - __builtin_neon_vst1_lanev4sf ((__builtin_neon_sf *) __a, __b, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1q_lane_u8 (uint8_t * __a, uint8x16_t __b, const int __c) -{ - __builtin_neon_vst1_lanev16qi ((__builtin_neon_qi *) __a, (int8x16_t) __b, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1q_lane_u16 (uint16_t * __a, uint16x8_t __b, const int __c) -{ - __builtin_neon_vst1_lanev8hi ((__builtin_neon_hi *) __a, (int16x8_t) __b, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1q_lane_u32 (uint32_t * __a, uint32x4_t __b, const int __c) -{ - __builtin_neon_vst1_lanev4si ((__builtin_neon_si *) __a, (int32x4_t) __b, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1q_lane_p8 (poly8_t * __a, poly8x16_t __b, const int __c) -{ - __builtin_neon_vst1_lanev16qi ((__builtin_neon_qi *) __a, (int8x16_t) __b, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1q_lane_p16 (poly16_t * __a, poly16x8_t __b, const int __c) -{ - __builtin_neon_vst1_lanev8hi ((__builtin_neon_hi *) __a, (int16x8_t) __b, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1q_lane_s64 (int64_t * __a, int64x2_t __b, const int __c) -{ - __builtin_neon_vst1_lanev2di ((__builtin_neon_di *) __a, __b, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst1q_lane_u64 (uint64_t * __a, uint64x2_t __b, const int __c) -{ - __builtin_neon_vst1_lanev2di ((__builtin_neon_di *) __a, (int64x2_t) __b, __c); -} - -__extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__)) -vld2_s8 (const int8_t * __a) -{ - union { int8x8x2_t __i; __builtin_neon_ti __o; } __rv; - __rv.__o = __builtin_neon_vld2v8qi ((const __builtin_neon_qi *) __a); - return __rv.__i; -} - -__extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__)) -vld2_s16 (const int16_t * __a) -{ - union { int16x4x2_t __i; __builtin_neon_ti __o; } __rv; - __rv.__o = __builtin_neon_vld2v4hi ((const __builtin_neon_hi *) __a); - return __rv.__i; -} - -__extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__)) -vld2_s32 (const int32_t * __a) -{ - union { int32x2x2_t __i; __builtin_neon_ti __o; } __rv; - __rv.__o = __builtin_neon_vld2v2si ((const __builtin_neon_si *) __a); - return __rv.__i; -} - -__extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__)) -vld2_f32 (const float32_t * __a) -{ - union { float32x2x2_t __i; __builtin_neon_ti __o; } __rv; - __rv.__o = __builtin_neon_vld2v2sf ((const __builtin_neon_sf *) __a); - return __rv.__i; -} - -__extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__)) -vld2_u8 (const uint8_t * __a) -{ - union { uint8x8x2_t __i; __builtin_neon_ti __o; } __rv; - __rv.__o = __builtin_neon_vld2v8qi ((const __builtin_neon_qi *) __a); - return __rv.__i; -} - -__extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__)) -vld2_u16 (const uint16_t * __a) -{ - union { uint16x4x2_t __i; __builtin_neon_ti __o; } __rv; - __rv.__o = __builtin_neon_vld2v4hi ((const __builtin_neon_hi *) __a); - return __rv.__i; -} - -__extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__)) -vld2_u32 (const uint32_t * __a) -{ - union { uint32x2x2_t __i; __builtin_neon_ti __o; } __rv; - __rv.__o = __builtin_neon_vld2v2si ((const __builtin_neon_si *) __a); - return __rv.__i; -} - -__extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__)) -vld2_p8 (const poly8_t * __a) -{ - union { poly8x8x2_t __i; __builtin_neon_ti __o; } __rv; - __rv.__o = __builtin_neon_vld2v8qi ((const __builtin_neon_qi *) __a); - return __rv.__i; -} - -__extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__)) -vld2_p16 (const poly16_t * __a) -{ - union { poly16x4x2_t __i; __builtin_neon_ti __o; } __rv; - __rv.__o = __builtin_neon_vld2v4hi ((const __builtin_neon_hi *) __a); - return __rv.__i; -} - -__extension__ static __inline int64x1x2_t __attribute__ ((__always_inline__)) -vld2_s64 (const int64_t * __a) -{ - union { int64x1x2_t __i; __builtin_neon_ti __o; } __rv; - __rv.__o = __builtin_neon_vld2di ((const __builtin_neon_di *) __a); - return __rv.__i; -} - -__extension__ static __inline uint64x1x2_t __attribute__ ((__always_inline__)) -vld2_u64 (const uint64_t * __a) -{ - union { uint64x1x2_t __i; __builtin_neon_ti __o; } __rv; - __rv.__o = __builtin_neon_vld2di ((const __builtin_neon_di *) __a); - return __rv.__i; -} - -__extension__ static __inline int8x16x2_t __attribute__ ((__always_inline__)) -vld2q_s8 (const int8_t * __a) -{ - union { int8x16x2_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld2v16qi ((const __builtin_neon_qi *) __a); - return __rv.__i; -} - -__extension__ static __inline int16x8x2_t __attribute__ ((__always_inline__)) -vld2q_s16 (const int16_t * __a) -{ - union { int16x8x2_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld2v8hi ((const __builtin_neon_hi *) __a); - return __rv.__i; -} - -__extension__ static __inline int32x4x2_t __attribute__ ((__always_inline__)) -vld2q_s32 (const int32_t * __a) -{ - union { int32x4x2_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld2v4si ((const __builtin_neon_si *) __a); - return __rv.__i; -} - -__extension__ static __inline float32x4x2_t __attribute__ ((__always_inline__)) -vld2q_f32 (const float32_t * __a) -{ - union { float32x4x2_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld2v4sf ((const __builtin_neon_sf *) __a); - return __rv.__i; -} - -__extension__ static __inline uint8x16x2_t __attribute__ ((__always_inline__)) -vld2q_u8 (const uint8_t * __a) -{ - union { uint8x16x2_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld2v16qi ((const __builtin_neon_qi *) __a); - return __rv.__i; -} - -__extension__ static __inline uint16x8x2_t __attribute__ ((__always_inline__)) -vld2q_u16 (const uint16_t * __a) -{ - union { uint16x8x2_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld2v8hi ((const __builtin_neon_hi *) __a); - return __rv.__i; -} - -__extension__ static __inline uint32x4x2_t __attribute__ ((__always_inline__)) -vld2q_u32 (const uint32_t * __a) -{ - union { uint32x4x2_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld2v4si ((const __builtin_neon_si *) __a); - return __rv.__i; -} - -__extension__ static __inline poly8x16x2_t __attribute__ ((__always_inline__)) -vld2q_p8 (const poly8_t * __a) -{ - union { poly8x16x2_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld2v16qi ((const __builtin_neon_qi *) __a); - return __rv.__i; -} - -__extension__ static __inline poly16x8x2_t __attribute__ ((__always_inline__)) -vld2q_p16 (const poly16_t * __a) -{ - union { poly16x8x2_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld2v8hi ((const __builtin_neon_hi *) __a); - return __rv.__i; -} - -__extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__)) -vld2_lane_s8 (const int8_t * __a, int8x8x2_t __b, const int __c) -{ - union { int8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; - union { int8x8x2_t __i; __builtin_neon_ti __o; } __rv; - __rv.__o = __builtin_neon_vld2_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__)) -vld2_lane_s16 (const int16_t * __a, int16x4x2_t __b, const int __c) -{ - union { int16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; - union { int16x4x2_t __i; __builtin_neon_ti __o; } __rv; - __rv.__o = __builtin_neon_vld2_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__)) -vld2_lane_s32 (const int32_t * __a, int32x2x2_t __b, const int __c) -{ - union { int32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; - union { int32x2x2_t __i; __builtin_neon_ti __o; } __rv; - __rv.__o = __builtin_neon_vld2_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__)) -vld2_lane_f32 (const float32_t * __a, float32x2x2_t __b, const int __c) -{ - union { float32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; - union { float32x2x2_t __i; __builtin_neon_ti __o; } __rv; - __rv.__o = __builtin_neon_vld2_lanev2sf ((const __builtin_neon_sf *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__)) -vld2_lane_u8 (const uint8_t * __a, uint8x8x2_t __b, const int __c) -{ - union { uint8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; - union { uint8x8x2_t __i; __builtin_neon_ti __o; } __rv; - __rv.__o = __builtin_neon_vld2_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__)) -vld2_lane_u16 (const uint16_t * __a, uint16x4x2_t __b, const int __c) -{ - union { uint16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; - union { uint16x4x2_t __i; __builtin_neon_ti __o; } __rv; - __rv.__o = __builtin_neon_vld2_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__)) -vld2_lane_u32 (const uint32_t * __a, uint32x2x2_t __b, const int __c) -{ - union { uint32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; - union { uint32x2x2_t __i; __builtin_neon_ti __o; } __rv; - __rv.__o = __builtin_neon_vld2_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__)) -vld2_lane_p8 (const poly8_t * __a, poly8x8x2_t __b, const int __c) -{ - union { poly8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; - union { poly8x8x2_t __i; __builtin_neon_ti __o; } __rv; - __rv.__o = __builtin_neon_vld2_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__)) -vld2_lane_p16 (const poly16_t * __a, poly16x4x2_t __b, const int __c) -{ - union { poly16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; - union { poly16x4x2_t __i; __builtin_neon_ti __o; } __rv; - __rv.__o = __builtin_neon_vld2_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline int16x8x2_t __attribute__ ((__always_inline__)) -vld2q_lane_s16 (const int16_t * __a, int16x8x2_t __b, const int __c) -{ - union { int16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; - union { int16x8x2_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld2_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline int32x4x2_t __attribute__ ((__always_inline__)) -vld2q_lane_s32 (const int32_t * __a, int32x4x2_t __b, const int __c) -{ - union { int32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; - union { int32x4x2_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld2_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline float32x4x2_t __attribute__ ((__always_inline__)) -vld2q_lane_f32 (const float32_t * __a, float32x4x2_t __b, const int __c) -{ - union { float32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; - union { float32x4x2_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld2_lanev4sf ((const __builtin_neon_sf *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline uint16x8x2_t __attribute__ ((__always_inline__)) -vld2q_lane_u16 (const uint16_t * __a, uint16x8x2_t __b, const int __c) -{ - union { uint16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; - union { uint16x8x2_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld2_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline uint32x4x2_t __attribute__ ((__always_inline__)) -vld2q_lane_u32 (const uint32_t * __a, uint32x4x2_t __b, const int __c) -{ - union { uint32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; - union { uint32x4x2_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld2_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline poly16x8x2_t __attribute__ ((__always_inline__)) -vld2q_lane_p16 (const poly16_t * __a, poly16x8x2_t __b, const int __c) -{ - union { poly16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; - union { poly16x8x2_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld2_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__)) -vld2_dup_s8 (const int8_t * __a) -{ - union { int8x8x2_t __i; __builtin_neon_ti __o; } __rv; - __rv.__o = __builtin_neon_vld2_dupv8qi ((const __builtin_neon_qi *) __a); - return __rv.__i; -} - -__extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__)) -vld2_dup_s16 (const int16_t * __a) -{ - union { int16x4x2_t __i; __builtin_neon_ti __o; } __rv; - __rv.__o = __builtin_neon_vld2_dupv4hi ((const __builtin_neon_hi *) __a); - return __rv.__i; -} - -__extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__)) -vld2_dup_s32 (const int32_t * __a) -{ - union { int32x2x2_t __i; __builtin_neon_ti __o; } __rv; - __rv.__o = __builtin_neon_vld2_dupv2si ((const __builtin_neon_si *) __a); - return __rv.__i; -} - -__extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__)) -vld2_dup_f32 (const float32_t * __a) -{ - union { float32x2x2_t __i; __builtin_neon_ti __o; } __rv; - __rv.__o = __builtin_neon_vld2_dupv2sf ((const __builtin_neon_sf *) __a); - return __rv.__i; -} - -__extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__)) -vld2_dup_u8 (const uint8_t * __a) -{ - union { uint8x8x2_t __i; __builtin_neon_ti __o; } __rv; - __rv.__o = __builtin_neon_vld2_dupv8qi ((const __builtin_neon_qi *) __a); - return __rv.__i; -} - -__extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__)) -vld2_dup_u16 (const uint16_t * __a) -{ - union { uint16x4x2_t __i; __builtin_neon_ti __o; } __rv; - __rv.__o = __builtin_neon_vld2_dupv4hi ((const __builtin_neon_hi *) __a); - return __rv.__i; -} - -__extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__)) -vld2_dup_u32 (const uint32_t * __a) -{ - union { uint32x2x2_t __i; __builtin_neon_ti __o; } __rv; - __rv.__o = __builtin_neon_vld2_dupv2si ((const __builtin_neon_si *) __a); - return __rv.__i; -} - -__extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__)) -vld2_dup_p8 (const poly8_t * __a) -{ - union { poly8x8x2_t __i; __builtin_neon_ti __o; } __rv; - __rv.__o = __builtin_neon_vld2_dupv8qi ((const __builtin_neon_qi *) __a); - return __rv.__i; -} - -__extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__)) -vld2_dup_p16 (const poly16_t * __a) -{ - union { poly16x4x2_t __i; __builtin_neon_ti __o; } __rv; - __rv.__o = __builtin_neon_vld2_dupv4hi ((const __builtin_neon_hi *) __a); - return __rv.__i; -} - -__extension__ static __inline int64x1x2_t __attribute__ ((__always_inline__)) -vld2_dup_s64 (const int64_t * __a) -{ - union { int64x1x2_t __i; __builtin_neon_ti __o; } __rv; - __rv.__o = __builtin_neon_vld2_dupdi ((const __builtin_neon_di *) __a); - return __rv.__i; -} - -__extension__ static __inline uint64x1x2_t __attribute__ ((__always_inline__)) -vld2_dup_u64 (const uint64_t * __a) -{ - union { uint64x1x2_t __i; __builtin_neon_ti __o; } __rv; - __rv.__o = __builtin_neon_vld2_dupdi ((const __builtin_neon_di *) __a); - return __rv.__i; -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst2_s8 (int8_t * __a, int8x8x2_t __b) -{ - union { int8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; - __builtin_neon_vst2v8qi ((__builtin_neon_qi *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst2_s16 (int16_t * __a, int16x4x2_t __b) -{ - union { int16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; - __builtin_neon_vst2v4hi ((__builtin_neon_hi *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst2_s32 (int32_t * __a, int32x2x2_t __b) -{ - union { int32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; - __builtin_neon_vst2v2si ((__builtin_neon_si *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst2_f32 (float32_t * __a, float32x2x2_t __b) -{ - union { float32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; - __builtin_neon_vst2v2sf ((__builtin_neon_sf *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst2_u8 (uint8_t * __a, uint8x8x2_t __b) -{ - union { uint8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; - __builtin_neon_vst2v8qi ((__builtin_neon_qi *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst2_u16 (uint16_t * __a, uint16x4x2_t __b) -{ - union { uint16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; - __builtin_neon_vst2v4hi ((__builtin_neon_hi *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst2_u32 (uint32_t * __a, uint32x2x2_t __b) -{ - union { uint32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; - __builtin_neon_vst2v2si ((__builtin_neon_si *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst2_p8 (poly8_t * __a, poly8x8x2_t __b) -{ - union { poly8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; - __builtin_neon_vst2v8qi ((__builtin_neon_qi *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst2_p16 (poly16_t * __a, poly16x4x2_t __b) -{ - union { poly16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; - __builtin_neon_vst2v4hi ((__builtin_neon_hi *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst2_s64 (int64_t * __a, int64x1x2_t __b) -{ - union { int64x1x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; - __builtin_neon_vst2di ((__builtin_neon_di *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst2_u64 (uint64_t * __a, uint64x1x2_t __b) -{ - union { uint64x1x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; - __builtin_neon_vst2di ((__builtin_neon_di *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst2q_s8 (int8_t * __a, int8x16x2_t __b) -{ - union { int8x16x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; - __builtin_neon_vst2v16qi ((__builtin_neon_qi *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst2q_s16 (int16_t * __a, int16x8x2_t __b) -{ - union { int16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; - __builtin_neon_vst2v8hi ((__builtin_neon_hi *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst2q_s32 (int32_t * __a, int32x4x2_t __b) -{ - union { int32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; - __builtin_neon_vst2v4si ((__builtin_neon_si *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst2q_f32 (float32_t * __a, float32x4x2_t __b) -{ - union { float32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; - __builtin_neon_vst2v4sf ((__builtin_neon_sf *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst2q_u8 (uint8_t * __a, uint8x16x2_t __b) -{ - union { uint8x16x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; - __builtin_neon_vst2v16qi ((__builtin_neon_qi *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst2q_u16 (uint16_t * __a, uint16x8x2_t __b) -{ - union { uint16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; - __builtin_neon_vst2v8hi ((__builtin_neon_hi *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst2q_u32 (uint32_t * __a, uint32x4x2_t __b) -{ - union { uint32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; - __builtin_neon_vst2v4si ((__builtin_neon_si *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst2q_p8 (poly8_t * __a, poly8x16x2_t __b) -{ - union { poly8x16x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; - __builtin_neon_vst2v16qi ((__builtin_neon_qi *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst2q_p16 (poly16_t * __a, poly16x8x2_t __b) -{ - union { poly16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; - __builtin_neon_vst2v8hi ((__builtin_neon_hi *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst2_lane_s8 (int8_t * __a, int8x8x2_t __b, const int __c) -{ - union { int8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; - __builtin_neon_vst2_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst2_lane_s16 (int16_t * __a, int16x4x2_t __b, const int __c) -{ - union { int16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; - __builtin_neon_vst2_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst2_lane_s32 (int32_t * __a, int32x2x2_t __b, const int __c) -{ - union { int32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; - __builtin_neon_vst2_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst2_lane_f32 (float32_t * __a, float32x2x2_t __b, const int __c) -{ - union { float32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; - __builtin_neon_vst2_lanev2sf ((__builtin_neon_sf *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst2_lane_u8 (uint8_t * __a, uint8x8x2_t __b, const int __c) -{ - union { uint8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; - __builtin_neon_vst2_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst2_lane_u16 (uint16_t * __a, uint16x4x2_t __b, const int __c) -{ - union { uint16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; - __builtin_neon_vst2_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst2_lane_u32 (uint32_t * __a, uint32x2x2_t __b, const int __c) -{ - union { uint32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; - __builtin_neon_vst2_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst2_lane_p8 (poly8_t * __a, poly8x8x2_t __b, const int __c) -{ - union { poly8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; - __builtin_neon_vst2_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst2_lane_p16 (poly16_t * __a, poly16x4x2_t __b, const int __c) -{ - union { poly16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b }; - __builtin_neon_vst2_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst2q_lane_s16 (int16_t * __a, int16x8x2_t __b, const int __c) -{ - union { int16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; - __builtin_neon_vst2_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst2q_lane_s32 (int32_t * __a, int32x4x2_t __b, const int __c) -{ - union { int32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; - __builtin_neon_vst2_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst2q_lane_f32 (float32_t * __a, float32x4x2_t __b, const int __c) -{ - union { float32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; - __builtin_neon_vst2_lanev4sf ((__builtin_neon_sf *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst2q_lane_u16 (uint16_t * __a, uint16x8x2_t __b, const int __c) -{ - union { uint16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; - __builtin_neon_vst2_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst2q_lane_u32 (uint32_t * __a, uint32x4x2_t __b, const int __c) -{ - union { uint32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; - __builtin_neon_vst2_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst2q_lane_p16 (poly16_t * __a, poly16x8x2_t __b, const int __c) -{ - union { poly16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b }; - __builtin_neon_vst2_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c); -} - -__extension__ static __inline int8x8x3_t __attribute__ ((__always_inline__)) -vld3_s8 (const int8_t * __a) -{ - union { int8x8x3_t __i; __builtin_neon_ei __o; } __rv; - __rv.__o = __builtin_neon_vld3v8qi ((const __builtin_neon_qi *) __a); - return __rv.__i; -} - -__extension__ static __inline int16x4x3_t __attribute__ ((__always_inline__)) -vld3_s16 (const int16_t * __a) -{ - union { int16x4x3_t __i; __builtin_neon_ei __o; } __rv; - __rv.__o = __builtin_neon_vld3v4hi ((const __builtin_neon_hi *) __a); - return __rv.__i; -} - -__extension__ static __inline int32x2x3_t __attribute__ ((__always_inline__)) -vld3_s32 (const int32_t * __a) -{ - union { int32x2x3_t __i; __builtin_neon_ei __o; } __rv; - __rv.__o = __builtin_neon_vld3v2si ((const __builtin_neon_si *) __a); - return __rv.__i; -} - -__extension__ static __inline float32x2x3_t __attribute__ ((__always_inline__)) -vld3_f32 (const float32_t * __a) -{ - union { float32x2x3_t __i; __builtin_neon_ei __o; } __rv; - __rv.__o = __builtin_neon_vld3v2sf ((const __builtin_neon_sf *) __a); - return __rv.__i; -} - -__extension__ static __inline uint8x8x3_t __attribute__ ((__always_inline__)) -vld3_u8 (const uint8_t * __a) -{ - union { uint8x8x3_t __i; __builtin_neon_ei __o; } __rv; - __rv.__o = __builtin_neon_vld3v8qi ((const __builtin_neon_qi *) __a); - return __rv.__i; -} - -__extension__ static __inline uint16x4x3_t __attribute__ ((__always_inline__)) -vld3_u16 (const uint16_t * __a) -{ - union { uint16x4x3_t __i; __builtin_neon_ei __o; } __rv; - __rv.__o = __builtin_neon_vld3v4hi ((const __builtin_neon_hi *) __a); - return __rv.__i; -} - -__extension__ static __inline uint32x2x3_t __attribute__ ((__always_inline__)) -vld3_u32 (const uint32_t * __a) -{ - union { uint32x2x3_t __i; __builtin_neon_ei __o; } __rv; - __rv.__o = __builtin_neon_vld3v2si ((const __builtin_neon_si *) __a); - return __rv.__i; -} - -__extension__ static __inline poly8x8x3_t __attribute__ ((__always_inline__)) -vld3_p8 (const poly8_t * __a) -{ - union { poly8x8x3_t __i; __builtin_neon_ei __o; } __rv; - __rv.__o = __builtin_neon_vld3v8qi ((const __builtin_neon_qi *) __a); - return __rv.__i; -} - -__extension__ static __inline poly16x4x3_t __attribute__ ((__always_inline__)) -vld3_p16 (const poly16_t * __a) -{ - union { poly16x4x3_t __i; __builtin_neon_ei __o; } __rv; - __rv.__o = __builtin_neon_vld3v4hi ((const __builtin_neon_hi *) __a); - return __rv.__i; -} - -__extension__ static __inline int64x1x3_t __attribute__ ((__always_inline__)) -vld3_s64 (const int64_t * __a) -{ - union { int64x1x3_t __i; __builtin_neon_ei __o; } __rv; - __rv.__o = __builtin_neon_vld3di ((const __builtin_neon_di *) __a); - return __rv.__i; -} - -__extension__ static __inline uint64x1x3_t __attribute__ ((__always_inline__)) -vld3_u64 (const uint64_t * __a) -{ - union { uint64x1x3_t __i; __builtin_neon_ei __o; } __rv; - __rv.__o = __builtin_neon_vld3di ((const __builtin_neon_di *) __a); - return __rv.__i; -} - -__extension__ static __inline int8x16x3_t __attribute__ ((__always_inline__)) -vld3q_s8 (const int8_t * __a) -{ - union { int8x16x3_t __i; __builtin_neon_ci __o; } __rv; - __rv.__o = __builtin_neon_vld3v16qi ((const __builtin_neon_qi *) __a); - return __rv.__i; -} - -__extension__ static __inline int16x8x3_t __attribute__ ((__always_inline__)) -vld3q_s16 (const int16_t * __a) -{ - union { int16x8x3_t __i; __builtin_neon_ci __o; } __rv; - __rv.__o = __builtin_neon_vld3v8hi ((const __builtin_neon_hi *) __a); - return __rv.__i; -} - -__extension__ static __inline int32x4x3_t __attribute__ ((__always_inline__)) -vld3q_s32 (const int32_t * __a) -{ - union { int32x4x3_t __i; __builtin_neon_ci __o; } __rv; - __rv.__o = __builtin_neon_vld3v4si ((const __builtin_neon_si *) __a); - return __rv.__i; -} - -__extension__ static __inline float32x4x3_t __attribute__ ((__always_inline__)) -vld3q_f32 (const float32_t * __a) -{ - union { float32x4x3_t __i; __builtin_neon_ci __o; } __rv; - __rv.__o = __builtin_neon_vld3v4sf ((const __builtin_neon_sf *) __a); - return __rv.__i; -} - -__extension__ static __inline uint8x16x3_t __attribute__ ((__always_inline__)) -vld3q_u8 (const uint8_t * __a) -{ - union { uint8x16x3_t __i; __builtin_neon_ci __o; } __rv; - __rv.__o = __builtin_neon_vld3v16qi ((const __builtin_neon_qi *) __a); - return __rv.__i; -} - -__extension__ static __inline uint16x8x3_t __attribute__ ((__always_inline__)) -vld3q_u16 (const uint16_t * __a) -{ - union { uint16x8x3_t __i; __builtin_neon_ci __o; } __rv; - __rv.__o = __builtin_neon_vld3v8hi ((const __builtin_neon_hi *) __a); - return __rv.__i; -} - -__extension__ static __inline uint32x4x3_t __attribute__ ((__always_inline__)) -vld3q_u32 (const uint32_t * __a) -{ - union { uint32x4x3_t __i; __builtin_neon_ci __o; } __rv; - __rv.__o = __builtin_neon_vld3v4si ((const __builtin_neon_si *) __a); - return __rv.__i; -} - -__extension__ static __inline poly8x16x3_t __attribute__ ((__always_inline__)) -vld3q_p8 (const poly8_t * __a) -{ - union { poly8x16x3_t __i; __builtin_neon_ci __o; } __rv; - __rv.__o = __builtin_neon_vld3v16qi ((const __builtin_neon_qi *) __a); - return __rv.__i; -} - -__extension__ static __inline poly16x8x3_t __attribute__ ((__always_inline__)) -vld3q_p16 (const poly16_t * __a) -{ - union { poly16x8x3_t __i; __builtin_neon_ci __o; } __rv; - __rv.__o = __builtin_neon_vld3v8hi ((const __builtin_neon_hi *) __a); - return __rv.__i; -} - -__extension__ static __inline int8x8x3_t __attribute__ ((__always_inline__)) -vld3_lane_s8 (const int8_t * __a, int8x8x3_t __b, const int __c) -{ - union { int8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; - union { int8x8x3_t __i; __builtin_neon_ei __o; } __rv; - __rv.__o = __builtin_neon_vld3_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline int16x4x3_t __attribute__ ((__always_inline__)) -vld3_lane_s16 (const int16_t * __a, int16x4x3_t __b, const int __c) -{ - union { int16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; - union { int16x4x3_t __i; __builtin_neon_ei __o; } __rv; - __rv.__o = __builtin_neon_vld3_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline int32x2x3_t __attribute__ ((__always_inline__)) -vld3_lane_s32 (const int32_t * __a, int32x2x3_t __b, const int __c) -{ - union { int32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; - union { int32x2x3_t __i; __builtin_neon_ei __o; } __rv; - __rv.__o = __builtin_neon_vld3_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline float32x2x3_t __attribute__ ((__always_inline__)) -vld3_lane_f32 (const float32_t * __a, float32x2x3_t __b, const int __c) -{ - union { float32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; - union { float32x2x3_t __i; __builtin_neon_ei __o; } __rv; - __rv.__o = __builtin_neon_vld3_lanev2sf ((const __builtin_neon_sf *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline uint8x8x3_t __attribute__ ((__always_inline__)) -vld3_lane_u8 (const uint8_t * __a, uint8x8x3_t __b, const int __c) -{ - union { uint8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; - union { uint8x8x3_t __i; __builtin_neon_ei __o; } __rv; - __rv.__o = __builtin_neon_vld3_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline uint16x4x3_t __attribute__ ((__always_inline__)) -vld3_lane_u16 (const uint16_t * __a, uint16x4x3_t __b, const int __c) -{ - union { uint16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; - union { uint16x4x3_t __i; __builtin_neon_ei __o; } __rv; - __rv.__o = __builtin_neon_vld3_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline uint32x2x3_t __attribute__ ((__always_inline__)) -vld3_lane_u32 (const uint32_t * __a, uint32x2x3_t __b, const int __c) -{ - union { uint32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; - union { uint32x2x3_t __i; __builtin_neon_ei __o; } __rv; - __rv.__o = __builtin_neon_vld3_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline poly8x8x3_t __attribute__ ((__always_inline__)) -vld3_lane_p8 (const poly8_t * __a, poly8x8x3_t __b, const int __c) -{ - union { poly8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; - union { poly8x8x3_t __i; __builtin_neon_ei __o; } __rv; - __rv.__o = __builtin_neon_vld3_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline poly16x4x3_t __attribute__ ((__always_inline__)) -vld3_lane_p16 (const poly16_t * __a, poly16x4x3_t __b, const int __c) -{ - union { poly16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; - union { poly16x4x3_t __i; __builtin_neon_ei __o; } __rv; - __rv.__o = __builtin_neon_vld3_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline int16x8x3_t __attribute__ ((__always_inline__)) -vld3q_lane_s16 (const int16_t * __a, int16x8x3_t __b, const int __c) -{ - union { int16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; - union { int16x8x3_t __i; __builtin_neon_ci __o; } __rv; - __rv.__o = __builtin_neon_vld3_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline int32x4x3_t __attribute__ ((__always_inline__)) -vld3q_lane_s32 (const int32_t * __a, int32x4x3_t __b, const int __c) -{ - union { int32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; - union { int32x4x3_t __i; __builtin_neon_ci __o; } __rv; - __rv.__o = __builtin_neon_vld3_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline float32x4x3_t __attribute__ ((__always_inline__)) -vld3q_lane_f32 (const float32_t * __a, float32x4x3_t __b, const int __c) -{ - union { float32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; - union { float32x4x3_t __i; __builtin_neon_ci __o; } __rv; - __rv.__o = __builtin_neon_vld3_lanev4sf ((const __builtin_neon_sf *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline uint16x8x3_t __attribute__ ((__always_inline__)) -vld3q_lane_u16 (const uint16_t * __a, uint16x8x3_t __b, const int __c) -{ - union { uint16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; - union { uint16x8x3_t __i; __builtin_neon_ci __o; } __rv; - __rv.__o = __builtin_neon_vld3_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline uint32x4x3_t __attribute__ ((__always_inline__)) -vld3q_lane_u32 (const uint32_t * __a, uint32x4x3_t __b, const int __c) -{ - union { uint32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; - union { uint32x4x3_t __i; __builtin_neon_ci __o; } __rv; - __rv.__o = __builtin_neon_vld3_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline poly16x8x3_t __attribute__ ((__always_inline__)) -vld3q_lane_p16 (const poly16_t * __a, poly16x8x3_t __b, const int __c) -{ - union { poly16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; - union { poly16x8x3_t __i; __builtin_neon_ci __o; } __rv; - __rv.__o = __builtin_neon_vld3_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline int8x8x3_t __attribute__ ((__always_inline__)) -vld3_dup_s8 (const int8_t * __a) -{ - union { int8x8x3_t __i; __builtin_neon_ei __o; } __rv; - __rv.__o = __builtin_neon_vld3_dupv8qi ((const __builtin_neon_qi *) __a); - return __rv.__i; -} - -__extension__ static __inline int16x4x3_t __attribute__ ((__always_inline__)) -vld3_dup_s16 (const int16_t * __a) -{ - union { int16x4x3_t __i; __builtin_neon_ei __o; } __rv; - __rv.__o = __builtin_neon_vld3_dupv4hi ((const __builtin_neon_hi *) __a); - return __rv.__i; -} - -__extension__ static __inline int32x2x3_t __attribute__ ((__always_inline__)) -vld3_dup_s32 (const int32_t * __a) -{ - union { int32x2x3_t __i; __builtin_neon_ei __o; } __rv; - __rv.__o = __builtin_neon_vld3_dupv2si ((const __builtin_neon_si *) __a); - return __rv.__i; -} - -__extension__ static __inline float32x2x3_t __attribute__ ((__always_inline__)) -vld3_dup_f32 (const float32_t * __a) -{ - union { float32x2x3_t __i; __builtin_neon_ei __o; } __rv; - __rv.__o = __builtin_neon_vld3_dupv2sf ((const __builtin_neon_sf *) __a); - return __rv.__i; -} - -__extension__ static __inline uint8x8x3_t __attribute__ ((__always_inline__)) -vld3_dup_u8 (const uint8_t * __a) -{ - union { uint8x8x3_t __i; __builtin_neon_ei __o; } __rv; - __rv.__o = __builtin_neon_vld3_dupv8qi ((const __builtin_neon_qi *) __a); - return __rv.__i; -} - -__extension__ static __inline uint16x4x3_t __attribute__ ((__always_inline__)) -vld3_dup_u16 (const uint16_t * __a) -{ - union { uint16x4x3_t __i; __builtin_neon_ei __o; } __rv; - __rv.__o = __builtin_neon_vld3_dupv4hi ((const __builtin_neon_hi *) __a); - return __rv.__i; -} - -__extension__ static __inline uint32x2x3_t __attribute__ ((__always_inline__)) -vld3_dup_u32 (const uint32_t * __a) -{ - union { uint32x2x3_t __i; __builtin_neon_ei __o; } __rv; - __rv.__o = __builtin_neon_vld3_dupv2si ((const __builtin_neon_si *) __a); - return __rv.__i; -} - -__extension__ static __inline poly8x8x3_t __attribute__ ((__always_inline__)) -vld3_dup_p8 (const poly8_t * __a) -{ - union { poly8x8x3_t __i; __builtin_neon_ei __o; } __rv; - __rv.__o = __builtin_neon_vld3_dupv8qi ((const __builtin_neon_qi *) __a); - return __rv.__i; -} - -__extension__ static __inline poly16x4x3_t __attribute__ ((__always_inline__)) -vld3_dup_p16 (const poly16_t * __a) -{ - union { poly16x4x3_t __i; __builtin_neon_ei __o; } __rv; - __rv.__o = __builtin_neon_vld3_dupv4hi ((const __builtin_neon_hi *) __a); - return __rv.__i; -} - -__extension__ static __inline int64x1x3_t __attribute__ ((__always_inline__)) -vld3_dup_s64 (const int64_t * __a) -{ - union { int64x1x3_t __i; __builtin_neon_ei __o; } __rv; - __rv.__o = __builtin_neon_vld3_dupdi ((const __builtin_neon_di *) __a); - return __rv.__i; -} - -__extension__ static __inline uint64x1x3_t __attribute__ ((__always_inline__)) -vld3_dup_u64 (const uint64_t * __a) -{ - union { uint64x1x3_t __i; __builtin_neon_ei __o; } __rv; - __rv.__o = __builtin_neon_vld3_dupdi ((const __builtin_neon_di *) __a); - return __rv.__i; -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst3_s8 (int8_t * __a, int8x8x3_t __b) -{ - union { int8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; - __builtin_neon_vst3v8qi ((__builtin_neon_qi *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst3_s16 (int16_t * __a, int16x4x3_t __b) -{ - union { int16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; - __builtin_neon_vst3v4hi ((__builtin_neon_hi *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst3_s32 (int32_t * __a, int32x2x3_t __b) -{ - union { int32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; - __builtin_neon_vst3v2si ((__builtin_neon_si *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst3_f32 (float32_t * __a, float32x2x3_t __b) -{ - union { float32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; - __builtin_neon_vst3v2sf ((__builtin_neon_sf *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst3_u8 (uint8_t * __a, uint8x8x3_t __b) -{ - union { uint8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; - __builtin_neon_vst3v8qi ((__builtin_neon_qi *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst3_u16 (uint16_t * __a, uint16x4x3_t __b) -{ - union { uint16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; - __builtin_neon_vst3v4hi ((__builtin_neon_hi *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst3_u32 (uint32_t * __a, uint32x2x3_t __b) -{ - union { uint32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; - __builtin_neon_vst3v2si ((__builtin_neon_si *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst3_p8 (poly8_t * __a, poly8x8x3_t __b) -{ - union { poly8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; - __builtin_neon_vst3v8qi ((__builtin_neon_qi *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst3_p16 (poly16_t * __a, poly16x4x3_t __b) -{ - union { poly16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; - __builtin_neon_vst3v4hi ((__builtin_neon_hi *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst3_s64 (int64_t * __a, int64x1x3_t __b) -{ - union { int64x1x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; - __builtin_neon_vst3di ((__builtin_neon_di *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst3_u64 (uint64_t * __a, uint64x1x3_t __b) -{ - union { uint64x1x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; - __builtin_neon_vst3di ((__builtin_neon_di *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst3q_s8 (int8_t * __a, int8x16x3_t __b) -{ - union { int8x16x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; - __builtin_neon_vst3v16qi ((__builtin_neon_qi *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst3q_s16 (int16_t * __a, int16x8x3_t __b) -{ - union { int16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; - __builtin_neon_vst3v8hi ((__builtin_neon_hi *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst3q_s32 (int32_t * __a, int32x4x3_t __b) -{ - union { int32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; - __builtin_neon_vst3v4si ((__builtin_neon_si *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst3q_f32 (float32_t * __a, float32x4x3_t __b) -{ - union { float32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; - __builtin_neon_vst3v4sf ((__builtin_neon_sf *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst3q_u8 (uint8_t * __a, uint8x16x3_t __b) -{ - union { uint8x16x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; - __builtin_neon_vst3v16qi ((__builtin_neon_qi *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst3q_u16 (uint16_t * __a, uint16x8x3_t __b) -{ - union { uint16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; - __builtin_neon_vst3v8hi ((__builtin_neon_hi *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst3q_u32 (uint32_t * __a, uint32x4x3_t __b) -{ - union { uint32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; - __builtin_neon_vst3v4si ((__builtin_neon_si *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst3q_p8 (poly8_t * __a, poly8x16x3_t __b) -{ - union { poly8x16x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; - __builtin_neon_vst3v16qi ((__builtin_neon_qi *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst3q_p16 (poly16_t * __a, poly16x8x3_t __b) -{ - union { poly16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; - __builtin_neon_vst3v8hi ((__builtin_neon_hi *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst3_lane_s8 (int8_t * __a, int8x8x3_t __b, const int __c) -{ - union { int8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; - __builtin_neon_vst3_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst3_lane_s16 (int16_t * __a, int16x4x3_t __b, const int __c) -{ - union { int16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; - __builtin_neon_vst3_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst3_lane_s32 (int32_t * __a, int32x2x3_t __b, const int __c) -{ - union { int32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; - __builtin_neon_vst3_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst3_lane_f32 (float32_t * __a, float32x2x3_t __b, const int __c) -{ - union { float32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; - __builtin_neon_vst3_lanev2sf ((__builtin_neon_sf *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst3_lane_u8 (uint8_t * __a, uint8x8x3_t __b, const int __c) -{ - union { uint8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; - __builtin_neon_vst3_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst3_lane_u16 (uint16_t * __a, uint16x4x3_t __b, const int __c) -{ - union { uint16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; - __builtin_neon_vst3_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst3_lane_u32 (uint32_t * __a, uint32x2x3_t __b, const int __c) -{ - union { uint32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; - __builtin_neon_vst3_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst3_lane_p8 (poly8_t * __a, poly8x8x3_t __b, const int __c) -{ - union { poly8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; - __builtin_neon_vst3_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst3_lane_p16 (poly16_t * __a, poly16x4x3_t __b, const int __c) -{ - union { poly16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b }; - __builtin_neon_vst3_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst3q_lane_s16 (int16_t * __a, int16x8x3_t __b, const int __c) -{ - union { int16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; - __builtin_neon_vst3_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst3q_lane_s32 (int32_t * __a, int32x4x3_t __b, const int __c) -{ - union { int32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; - __builtin_neon_vst3_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst3q_lane_f32 (float32_t * __a, float32x4x3_t __b, const int __c) -{ - union { float32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; - __builtin_neon_vst3_lanev4sf ((__builtin_neon_sf *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst3q_lane_u16 (uint16_t * __a, uint16x8x3_t __b, const int __c) -{ - union { uint16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; - __builtin_neon_vst3_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst3q_lane_u32 (uint32_t * __a, uint32x4x3_t __b, const int __c) -{ - union { uint32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; - __builtin_neon_vst3_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst3q_lane_p16 (poly16_t * __a, poly16x8x3_t __b, const int __c) -{ - union { poly16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b }; - __builtin_neon_vst3_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c); -} - -__extension__ static __inline int8x8x4_t __attribute__ ((__always_inline__)) -vld4_s8 (const int8_t * __a) -{ - union { int8x8x4_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld4v8qi ((const __builtin_neon_qi *) __a); - return __rv.__i; -} - -__extension__ static __inline int16x4x4_t __attribute__ ((__always_inline__)) -vld4_s16 (const int16_t * __a) -{ - union { int16x4x4_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld4v4hi ((const __builtin_neon_hi *) __a); - return __rv.__i; -} - -__extension__ static __inline int32x2x4_t __attribute__ ((__always_inline__)) -vld4_s32 (const int32_t * __a) -{ - union { int32x2x4_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld4v2si ((const __builtin_neon_si *) __a); - return __rv.__i; -} - -__extension__ static __inline float32x2x4_t __attribute__ ((__always_inline__)) -vld4_f32 (const float32_t * __a) -{ - union { float32x2x4_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld4v2sf ((const __builtin_neon_sf *) __a); - return __rv.__i; -} - -__extension__ static __inline uint8x8x4_t __attribute__ ((__always_inline__)) -vld4_u8 (const uint8_t * __a) -{ - union { uint8x8x4_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld4v8qi ((const __builtin_neon_qi *) __a); - return __rv.__i; -} - -__extension__ static __inline uint16x4x4_t __attribute__ ((__always_inline__)) -vld4_u16 (const uint16_t * __a) -{ - union { uint16x4x4_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld4v4hi ((const __builtin_neon_hi *) __a); - return __rv.__i; -} - -__extension__ static __inline uint32x2x4_t __attribute__ ((__always_inline__)) -vld4_u32 (const uint32_t * __a) -{ - union { uint32x2x4_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld4v2si ((const __builtin_neon_si *) __a); - return __rv.__i; -} - -__extension__ static __inline poly8x8x4_t __attribute__ ((__always_inline__)) -vld4_p8 (const poly8_t * __a) -{ - union { poly8x8x4_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld4v8qi ((const __builtin_neon_qi *) __a); - return __rv.__i; -} - -__extension__ static __inline poly16x4x4_t __attribute__ ((__always_inline__)) -vld4_p16 (const poly16_t * __a) -{ - union { poly16x4x4_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld4v4hi ((const __builtin_neon_hi *) __a); - return __rv.__i; -} - -__extension__ static __inline int64x1x4_t __attribute__ ((__always_inline__)) -vld4_s64 (const int64_t * __a) -{ - union { int64x1x4_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld4di ((const __builtin_neon_di *) __a); - return __rv.__i; -} - -__extension__ static __inline uint64x1x4_t __attribute__ ((__always_inline__)) -vld4_u64 (const uint64_t * __a) -{ - union { uint64x1x4_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld4di ((const __builtin_neon_di *) __a); - return __rv.__i; -} - -__extension__ static __inline int8x16x4_t __attribute__ ((__always_inline__)) -vld4q_s8 (const int8_t * __a) -{ - union { int8x16x4_t __i; __builtin_neon_xi __o; } __rv; - __rv.__o = __builtin_neon_vld4v16qi ((const __builtin_neon_qi *) __a); - return __rv.__i; -} - -__extension__ static __inline int16x8x4_t __attribute__ ((__always_inline__)) -vld4q_s16 (const int16_t * __a) -{ - union { int16x8x4_t __i; __builtin_neon_xi __o; } __rv; - __rv.__o = __builtin_neon_vld4v8hi ((const __builtin_neon_hi *) __a); - return __rv.__i; -} - -__extension__ static __inline int32x4x4_t __attribute__ ((__always_inline__)) -vld4q_s32 (const int32_t * __a) -{ - union { int32x4x4_t __i; __builtin_neon_xi __o; } __rv; - __rv.__o = __builtin_neon_vld4v4si ((const __builtin_neon_si *) __a); - return __rv.__i; -} - -__extension__ static __inline float32x4x4_t __attribute__ ((__always_inline__)) -vld4q_f32 (const float32_t * __a) -{ - union { float32x4x4_t __i; __builtin_neon_xi __o; } __rv; - __rv.__o = __builtin_neon_vld4v4sf ((const __builtin_neon_sf *) __a); - return __rv.__i; -} - -__extension__ static __inline uint8x16x4_t __attribute__ ((__always_inline__)) -vld4q_u8 (const uint8_t * __a) -{ - union { uint8x16x4_t __i; __builtin_neon_xi __o; } __rv; - __rv.__o = __builtin_neon_vld4v16qi ((const __builtin_neon_qi *) __a); - return __rv.__i; -} - -__extension__ static __inline uint16x8x4_t __attribute__ ((__always_inline__)) -vld4q_u16 (const uint16_t * __a) -{ - union { uint16x8x4_t __i; __builtin_neon_xi __o; } __rv; - __rv.__o = __builtin_neon_vld4v8hi ((const __builtin_neon_hi *) __a); - return __rv.__i; -} - -__extension__ static __inline uint32x4x4_t __attribute__ ((__always_inline__)) -vld4q_u32 (const uint32_t * __a) -{ - union { uint32x4x4_t __i; __builtin_neon_xi __o; } __rv; - __rv.__o = __builtin_neon_vld4v4si ((const __builtin_neon_si *) __a); - return __rv.__i; -} - -__extension__ static __inline poly8x16x4_t __attribute__ ((__always_inline__)) -vld4q_p8 (const poly8_t * __a) -{ - union { poly8x16x4_t __i; __builtin_neon_xi __o; } __rv; - __rv.__o = __builtin_neon_vld4v16qi ((const __builtin_neon_qi *) __a); - return __rv.__i; -} - -__extension__ static __inline poly16x8x4_t __attribute__ ((__always_inline__)) -vld4q_p16 (const poly16_t * __a) -{ - union { poly16x8x4_t __i; __builtin_neon_xi __o; } __rv; - __rv.__o = __builtin_neon_vld4v8hi ((const __builtin_neon_hi *) __a); - return __rv.__i; -} - -__extension__ static __inline int8x8x4_t __attribute__ ((__always_inline__)) -vld4_lane_s8 (const int8_t * __a, int8x8x4_t __b, const int __c) -{ - union { int8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; - union { int8x8x4_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld4_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline int16x4x4_t __attribute__ ((__always_inline__)) -vld4_lane_s16 (const int16_t * __a, int16x4x4_t __b, const int __c) -{ - union { int16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; - union { int16x4x4_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld4_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline int32x2x4_t __attribute__ ((__always_inline__)) -vld4_lane_s32 (const int32_t * __a, int32x2x4_t __b, const int __c) -{ - union { int32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; - union { int32x2x4_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld4_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline float32x2x4_t __attribute__ ((__always_inline__)) -vld4_lane_f32 (const float32_t * __a, float32x2x4_t __b, const int __c) -{ - union { float32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; - union { float32x2x4_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld4_lanev2sf ((const __builtin_neon_sf *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline uint8x8x4_t __attribute__ ((__always_inline__)) -vld4_lane_u8 (const uint8_t * __a, uint8x8x4_t __b, const int __c) -{ - union { uint8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; - union { uint8x8x4_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld4_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline uint16x4x4_t __attribute__ ((__always_inline__)) -vld4_lane_u16 (const uint16_t * __a, uint16x4x4_t __b, const int __c) -{ - union { uint16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; - union { uint16x4x4_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld4_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline uint32x2x4_t __attribute__ ((__always_inline__)) -vld4_lane_u32 (const uint32_t * __a, uint32x2x4_t __b, const int __c) -{ - union { uint32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; - union { uint32x2x4_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld4_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline poly8x8x4_t __attribute__ ((__always_inline__)) -vld4_lane_p8 (const poly8_t * __a, poly8x8x4_t __b, const int __c) -{ - union { poly8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; - union { poly8x8x4_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld4_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline poly16x4x4_t __attribute__ ((__always_inline__)) -vld4_lane_p16 (const poly16_t * __a, poly16x4x4_t __b, const int __c) -{ - union { poly16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; - union { poly16x4x4_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld4_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline int16x8x4_t __attribute__ ((__always_inline__)) -vld4q_lane_s16 (const int16_t * __a, int16x8x4_t __b, const int __c) -{ - union { int16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; - union { int16x8x4_t __i; __builtin_neon_xi __o; } __rv; - __rv.__o = __builtin_neon_vld4_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline int32x4x4_t __attribute__ ((__always_inline__)) -vld4q_lane_s32 (const int32_t * __a, int32x4x4_t __b, const int __c) -{ - union { int32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; - union { int32x4x4_t __i; __builtin_neon_xi __o; } __rv; - __rv.__o = __builtin_neon_vld4_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline float32x4x4_t __attribute__ ((__always_inline__)) -vld4q_lane_f32 (const float32_t * __a, float32x4x4_t __b, const int __c) -{ - union { float32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; - union { float32x4x4_t __i; __builtin_neon_xi __o; } __rv; - __rv.__o = __builtin_neon_vld4_lanev4sf ((const __builtin_neon_sf *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline uint16x8x4_t __attribute__ ((__always_inline__)) -vld4q_lane_u16 (const uint16_t * __a, uint16x8x4_t __b, const int __c) -{ - union { uint16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; - union { uint16x8x4_t __i; __builtin_neon_xi __o; } __rv; - __rv.__o = __builtin_neon_vld4_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline uint32x4x4_t __attribute__ ((__always_inline__)) -vld4q_lane_u32 (const uint32_t * __a, uint32x4x4_t __b, const int __c) -{ - union { uint32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; - union { uint32x4x4_t __i; __builtin_neon_xi __o; } __rv; - __rv.__o = __builtin_neon_vld4_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline poly16x8x4_t __attribute__ ((__always_inline__)) -vld4q_lane_p16 (const poly16_t * __a, poly16x8x4_t __b, const int __c) -{ - union { poly16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; - union { poly16x8x4_t __i; __builtin_neon_xi __o; } __rv; - __rv.__o = __builtin_neon_vld4_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c); - return __rv.__i; -} - -__extension__ static __inline int8x8x4_t __attribute__ ((__always_inline__)) -vld4_dup_s8 (const int8_t * __a) -{ - union { int8x8x4_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld4_dupv8qi ((const __builtin_neon_qi *) __a); - return __rv.__i; -} - -__extension__ static __inline int16x4x4_t __attribute__ ((__always_inline__)) -vld4_dup_s16 (const int16_t * __a) -{ - union { int16x4x4_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld4_dupv4hi ((const __builtin_neon_hi *) __a); - return __rv.__i; -} - -__extension__ static __inline int32x2x4_t __attribute__ ((__always_inline__)) -vld4_dup_s32 (const int32_t * __a) -{ - union { int32x2x4_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld4_dupv2si ((const __builtin_neon_si *) __a); - return __rv.__i; -} - -__extension__ static __inline float32x2x4_t __attribute__ ((__always_inline__)) -vld4_dup_f32 (const float32_t * __a) -{ - union { float32x2x4_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld4_dupv2sf ((const __builtin_neon_sf *) __a); - return __rv.__i; -} - -__extension__ static __inline uint8x8x4_t __attribute__ ((__always_inline__)) -vld4_dup_u8 (const uint8_t * __a) -{ - union { uint8x8x4_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld4_dupv8qi ((const __builtin_neon_qi *) __a); - return __rv.__i; -} - -__extension__ static __inline uint16x4x4_t __attribute__ ((__always_inline__)) -vld4_dup_u16 (const uint16_t * __a) -{ - union { uint16x4x4_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld4_dupv4hi ((const __builtin_neon_hi *) __a); - return __rv.__i; -} - -__extension__ static __inline uint32x2x4_t __attribute__ ((__always_inline__)) -vld4_dup_u32 (const uint32_t * __a) -{ - union { uint32x2x4_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld4_dupv2si ((const __builtin_neon_si *) __a); - return __rv.__i; -} - -__extension__ static __inline poly8x8x4_t __attribute__ ((__always_inline__)) -vld4_dup_p8 (const poly8_t * __a) -{ - union { poly8x8x4_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld4_dupv8qi ((const __builtin_neon_qi *) __a); - return __rv.__i; -} - -__extension__ static __inline poly16x4x4_t __attribute__ ((__always_inline__)) -vld4_dup_p16 (const poly16_t * __a) -{ - union { poly16x4x4_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld4_dupv4hi ((const __builtin_neon_hi *) __a); - return __rv.__i; -} - -__extension__ static __inline int64x1x4_t __attribute__ ((__always_inline__)) -vld4_dup_s64 (const int64_t * __a) -{ - union { int64x1x4_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld4_dupdi ((const __builtin_neon_di *) __a); - return __rv.__i; -} - -__extension__ static __inline uint64x1x4_t __attribute__ ((__always_inline__)) -vld4_dup_u64 (const uint64_t * __a) -{ - union { uint64x1x4_t __i; __builtin_neon_oi __o; } __rv; - __rv.__o = __builtin_neon_vld4_dupdi ((const __builtin_neon_di *) __a); - return __rv.__i; -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst4_s8 (int8_t * __a, int8x8x4_t __b) -{ - union { int8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; - __builtin_neon_vst4v8qi ((__builtin_neon_qi *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst4_s16 (int16_t * __a, int16x4x4_t __b) -{ - union { int16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; - __builtin_neon_vst4v4hi ((__builtin_neon_hi *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst4_s32 (int32_t * __a, int32x2x4_t __b) -{ - union { int32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; - __builtin_neon_vst4v2si ((__builtin_neon_si *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst4_f32 (float32_t * __a, float32x2x4_t __b) -{ - union { float32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; - __builtin_neon_vst4v2sf ((__builtin_neon_sf *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst4_u8 (uint8_t * __a, uint8x8x4_t __b) -{ - union { uint8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; - __builtin_neon_vst4v8qi ((__builtin_neon_qi *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst4_u16 (uint16_t * __a, uint16x4x4_t __b) -{ - union { uint16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; - __builtin_neon_vst4v4hi ((__builtin_neon_hi *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst4_u32 (uint32_t * __a, uint32x2x4_t __b) -{ - union { uint32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; - __builtin_neon_vst4v2si ((__builtin_neon_si *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst4_p8 (poly8_t * __a, poly8x8x4_t __b) -{ - union { poly8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; - __builtin_neon_vst4v8qi ((__builtin_neon_qi *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst4_p16 (poly16_t * __a, poly16x4x4_t __b) -{ - union { poly16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; - __builtin_neon_vst4v4hi ((__builtin_neon_hi *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst4_s64 (int64_t * __a, int64x1x4_t __b) -{ - union { int64x1x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; - __builtin_neon_vst4di ((__builtin_neon_di *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst4_u64 (uint64_t * __a, uint64x1x4_t __b) -{ - union { uint64x1x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; - __builtin_neon_vst4di ((__builtin_neon_di *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst4q_s8 (int8_t * __a, int8x16x4_t __b) -{ - union { int8x16x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; - __builtin_neon_vst4v16qi ((__builtin_neon_qi *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst4q_s16 (int16_t * __a, int16x8x4_t __b) -{ - union { int16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; - __builtin_neon_vst4v8hi ((__builtin_neon_hi *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst4q_s32 (int32_t * __a, int32x4x4_t __b) -{ - union { int32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; - __builtin_neon_vst4v4si ((__builtin_neon_si *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst4q_f32 (float32_t * __a, float32x4x4_t __b) -{ - union { float32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; - __builtin_neon_vst4v4sf ((__builtin_neon_sf *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst4q_u8 (uint8_t * __a, uint8x16x4_t __b) -{ - union { uint8x16x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; - __builtin_neon_vst4v16qi ((__builtin_neon_qi *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst4q_u16 (uint16_t * __a, uint16x8x4_t __b) -{ - union { uint16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; - __builtin_neon_vst4v8hi ((__builtin_neon_hi *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst4q_u32 (uint32_t * __a, uint32x4x4_t __b) -{ - union { uint32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; - __builtin_neon_vst4v4si ((__builtin_neon_si *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst4q_p8 (poly8_t * __a, poly8x16x4_t __b) -{ - union { poly8x16x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; - __builtin_neon_vst4v16qi ((__builtin_neon_qi *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst4q_p16 (poly16_t * __a, poly16x8x4_t __b) -{ - union { poly16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; - __builtin_neon_vst4v8hi ((__builtin_neon_hi *) __a, __bu.__o); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst4_lane_s8 (int8_t * __a, int8x8x4_t __b, const int __c) -{ - union { int8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; - __builtin_neon_vst4_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst4_lane_s16 (int16_t * __a, int16x4x4_t __b, const int __c) -{ - union { int16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; - __builtin_neon_vst4_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst4_lane_s32 (int32_t * __a, int32x2x4_t __b, const int __c) -{ - union { int32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; - __builtin_neon_vst4_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst4_lane_f32 (float32_t * __a, float32x2x4_t __b, const int __c) -{ - union { float32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; - __builtin_neon_vst4_lanev2sf ((__builtin_neon_sf *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst4_lane_u8 (uint8_t * __a, uint8x8x4_t __b, const int __c) -{ - union { uint8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; - __builtin_neon_vst4_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst4_lane_u16 (uint16_t * __a, uint16x4x4_t __b, const int __c) -{ - union { uint16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; - __builtin_neon_vst4_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst4_lane_u32 (uint32_t * __a, uint32x2x4_t __b, const int __c) -{ - union { uint32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; - __builtin_neon_vst4_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst4_lane_p8 (poly8_t * __a, poly8x8x4_t __b, const int __c) -{ - union { poly8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; - __builtin_neon_vst4_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst4_lane_p16 (poly16_t * __a, poly16x4x4_t __b, const int __c) -{ - union { poly16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b }; - __builtin_neon_vst4_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst4q_lane_s16 (int16_t * __a, int16x8x4_t __b, const int __c) -{ - union { int16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; - __builtin_neon_vst4_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst4q_lane_s32 (int32_t * __a, int32x4x4_t __b, const int __c) -{ - union { int32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; - __builtin_neon_vst4_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst4q_lane_f32 (float32_t * __a, float32x4x4_t __b, const int __c) -{ - union { float32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; - __builtin_neon_vst4_lanev4sf ((__builtin_neon_sf *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst4q_lane_u16 (uint16_t * __a, uint16x8x4_t __b, const int __c) -{ - union { uint16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; - __builtin_neon_vst4_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst4q_lane_u32 (uint32_t * __a, uint32x4x4_t __b, const int __c) -{ - union { uint32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; - __builtin_neon_vst4_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c); -} - -__extension__ static __inline void __attribute__ ((__always_inline__)) -vst4q_lane_p16 (poly16_t * __a, poly16x8x4_t __b, const int __c) -{ - union { poly16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b }; - __builtin_neon_vst4_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vand_s8 (int8x8_t __a, int8x8_t __b) -{ - return (int8x8_t)__builtin_neon_vandv8qi (__a, __b, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vand_s16 (int16x4_t __a, int16x4_t __b) -{ - return (int16x4_t)__builtin_neon_vandv4hi (__a, __b, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vand_s32 (int32x2_t __a, int32x2_t __b) -{ - return (int32x2_t)__builtin_neon_vandv2si (__a, __b, 1); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vand_u8 (uint8x8_t __a, uint8x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vandv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vand_u16 (uint16x4_t __a, uint16x4_t __b) -{ - return (uint16x4_t)__builtin_neon_vandv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vand_u32 (uint32x2_t __a, uint32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vandv2si ((int32x2_t) __a, (int32x2_t) __b, 0); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vand_s64 (int64x1_t __a, int64x1_t __b) -{ - return (int64x1_t)__builtin_neon_vanddi (__a, __b, 1); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vand_u64 (uint64x1_t __a, uint64x1_t __b) -{ - return (uint64x1_t)__builtin_neon_vanddi ((int64x1_t) __a, (int64x1_t) __b, 0); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vandq_s8 (int8x16_t __a, int8x16_t __b) -{ - return (int8x16_t)__builtin_neon_vandv16qi (__a, __b, 1); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vandq_s16 (int16x8_t __a, int16x8_t __b) -{ - return (int16x8_t)__builtin_neon_vandv8hi (__a, __b, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vandq_s32 (int32x4_t __a, int32x4_t __b) -{ - return (int32x4_t)__builtin_neon_vandv4si (__a, __b, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vandq_s64 (int64x2_t __a, int64x2_t __b) -{ - return (int64x2_t)__builtin_neon_vandv2di (__a, __b, 1); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vandq_u8 (uint8x16_t __a, uint8x16_t __b) -{ - return (uint8x16_t)__builtin_neon_vandv16qi ((int8x16_t) __a, (int8x16_t) __b, 0); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vandq_u16 (uint16x8_t __a, uint16x8_t __b) -{ - return (uint16x8_t)__builtin_neon_vandv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vandq_u32 (uint32x4_t __a, uint32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vandv4si ((int32x4_t) __a, (int32x4_t) __b, 0); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vandq_u64 (uint64x2_t __a, uint64x2_t __b) -{ - return (uint64x2_t)__builtin_neon_vandv2di ((int64x2_t) __a, (int64x2_t) __b, 0); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vorr_s8 (int8x8_t __a, int8x8_t __b) -{ - return (int8x8_t)__builtin_neon_vorrv8qi (__a, __b, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vorr_s16 (int16x4_t __a, int16x4_t __b) -{ - return (int16x4_t)__builtin_neon_vorrv4hi (__a, __b, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vorr_s32 (int32x2_t __a, int32x2_t __b) -{ - return (int32x2_t)__builtin_neon_vorrv2si (__a, __b, 1); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vorr_u8 (uint8x8_t __a, uint8x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vorrv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vorr_u16 (uint16x4_t __a, uint16x4_t __b) -{ - return (uint16x4_t)__builtin_neon_vorrv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vorr_u32 (uint32x2_t __a, uint32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vorrv2si ((int32x2_t) __a, (int32x2_t) __b, 0); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vorr_s64 (int64x1_t __a, int64x1_t __b) -{ - return (int64x1_t)__builtin_neon_vorrdi (__a, __b, 1); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vorr_u64 (uint64x1_t __a, uint64x1_t __b) -{ - return (uint64x1_t)__builtin_neon_vorrdi ((int64x1_t) __a, (int64x1_t) __b, 0); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vorrq_s8 (int8x16_t __a, int8x16_t __b) -{ - return (int8x16_t)__builtin_neon_vorrv16qi (__a, __b, 1); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vorrq_s16 (int16x8_t __a, int16x8_t __b) -{ - return (int16x8_t)__builtin_neon_vorrv8hi (__a, __b, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vorrq_s32 (int32x4_t __a, int32x4_t __b) -{ - return (int32x4_t)__builtin_neon_vorrv4si (__a, __b, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vorrq_s64 (int64x2_t __a, int64x2_t __b) -{ - return (int64x2_t)__builtin_neon_vorrv2di (__a, __b, 1); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vorrq_u8 (uint8x16_t __a, uint8x16_t __b) -{ - return (uint8x16_t)__builtin_neon_vorrv16qi ((int8x16_t) __a, (int8x16_t) __b, 0); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vorrq_u16 (uint16x8_t __a, uint16x8_t __b) -{ - return (uint16x8_t)__builtin_neon_vorrv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vorrq_u32 (uint32x4_t __a, uint32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vorrv4si ((int32x4_t) __a, (int32x4_t) __b, 0); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vorrq_u64 (uint64x2_t __a, uint64x2_t __b) -{ - return (uint64x2_t)__builtin_neon_vorrv2di ((int64x2_t) __a, (int64x2_t) __b, 0); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -veor_s8 (int8x8_t __a, int8x8_t __b) -{ - return (int8x8_t)__builtin_neon_veorv8qi (__a, __b, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -veor_s16 (int16x4_t __a, int16x4_t __b) -{ - return (int16x4_t)__builtin_neon_veorv4hi (__a, __b, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -veor_s32 (int32x2_t __a, int32x2_t __b) -{ - return (int32x2_t)__builtin_neon_veorv2si (__a, __b, 1); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -veor_u8 (uint8x8_t __a, uint8x8_t __b) -{ - return (uint8x8_t)__builtin_neon_veorv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -veor_u16 (uint16x4_t __a, uint16x4_t __b) -{ - return (uint16x4_t)__builtin_neon_veorv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -veor_u32 (uint32x2_t __a, uint32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_veorv2si ((int32x2_t) __a, (int32x2_t) __b, 0); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -veor_s64 (int64x1_t __a, int64x1_t __b) -{ - return (int64x1_t)__builtin_neon_veordi (__a, __b, 1); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -veor_u64 (uint64x1_t __a, uint64x1_t __b) -{ - return (uint64x1_t)__builtin_neon_veordi ((int64x1_t) __a, (int64x1_t) __b, 0); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -veorq_s8 (int8x16_t __a, int8x16_t __b) -{ - return (int8x16_t)__builtin_neon_veorv16qi (__a, __b, 1); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -veorq_s16 (int16x8_t __a, int16x8_t __b) -{ - return (int16x8_t)__builtin_neon_veorv8hi (__a, __b, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -veorq_s32 (int32x4_t __a, int32x4_t __b) -{ - return (int32x4_t)__builtin_neon_veorv4si (__a, __b, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -veorq_s64 (int64x2_t __a, int64x2_t __b) -{ - return (int64x2_t)__builtin_neon_veorv2di (__a, __b, 1); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -veorq_u8 (uint8x16_t __a, uint8x16_t __b) -{ - return (uint8x16_t)__builtin_neon_veorv16qi ((int8x16_t) __a, (int8x16_t) __b, 0); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -veorq_u16 (uint16x8_t __a, uint16x8_t __b) -{ - return (uint16x8_t)__builtin_neon_veorv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -veorq_u32 (uint32x4_t __a, uint32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_veorv4si ((int32x4_t) __a, (int32x4_t) __b, 0); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -veorq_u64 (uint64x2_t __a, uint64x2_t __b) -{ - return (uint64x2_t)__builtin_neon_veorv2di ((int64x2_t) __a, (int64x2_t) __b, 0); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vbic_s8 (int8x8_t __a, int8x8_t __b) -{ - return (int8x8_t)__builtin_neon_vbicv8qi (__a, __b, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vbic_s16 (int16x4_t __a, int16x4_t __b) -{ - return (int16x4_t)__builtin_neon_vbicv4hi (__a, __b, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vbic_s32 (int32x2_t __a, int32x2_t __b) -{ - return (int32x2_t)__builtin_neon_vbicv2si (__a, __b, 1); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vbic_u8 (uint8x8_t __a, uint8x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vbicv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vbic_u16 (uint16x4_t __a, uint16x4_t __b) -{ - return (uint16x4_t)__builtin_neon_vbicv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vbic_u32 (uint32x2_t __a, uint32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vbicv2si ((int32x2_t) __a, (int32x2_t) __b, 0); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vbic_s64 (int64x1_t __a, int64x1_t __b) -{ - return (int64x1_t)__builtin_neon_vbicdi (__a, __b, 1); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vbic_u64 (uint64x1_t __a, uint64x1_t __b) -{ - return (uint64x1_t)__builtin_neon_vbicdi ((int64x1_t) __a, (int64x1_t) __b, 0); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vbicq_s8 (int8x16_t __a, int8x16_t __b) -{ - return (int8x16_t)__builtin_neon_vbicv16qi (__a, __b, 1); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vbicq_s16 (int16x8_t __a, int16x8_t __b) -{ - return (int16x8_t)__builtin_neon_vbicv8hi (__a, __b, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vbicq_s32 (int32x4_t __a, int32x4_t __b) -{ - return (int32x4_t)__builtin_neon_vbicv4si (__a, __b, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vbicq_s64 (int64x2_t __a, int64x2_t __b) -{ - return (int64x2_t)__builtin_neon_vbicv2di (__a, __b, 1); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vbicq_u8 (uint8x16_t __a, uint8x16_t __b) -{ - return (uint8x16_t)__builtin_neon_vbicv16qi ((int8x16_t) __a, (int8x16_t) __b, 0); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vbicq_u16 (uint16x8_t __a, uint16x8_t __b) -{ - return (uint16x8_t)__builtin_neon_vbicv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vbicq_u32 (uint32x4_t __a, uint32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vbicv4si ((int32x4_t) __a, (int32x4_t) __b, 0); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vbicq_u64 (uint64x2_t __a, uint64x2_t __b) -{ - return (uint64x2_t)__builtin_neon_vbicv2di ((int64x2_t) __a, (int64x2_t) __b, 0); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vorn_s8 (int8x8_t __a, int8x8_t __b) -{ - return (int8x8_t)__builtin_neon_vornv8qi (__a, __b, 1); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vorn_s16 (int16x4_t __a, int16x4_t __b) -{ - return (int16x4_t)__builtin_neon_vornv4hi (__a, __b, 1); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vorn_s32 (int32x2_t __a, int32x2_t __b) -{ - return (int32x2_t)__builtin_neon_vornv2si (__a, __b, 1); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vorn_u8 (uint8x8_t __a, uint8x8_t __b) -{ - return (uint8x8_t)__builtin_neon_vornv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vorn_u16 (uint16x4_t __a, uint16x4_t __b) -{ - return (uint16x4_t)__builtin_neon_vornv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vorn_u32 (uint32x2_t __a, uint32x2_t __b) -{ - return (uint32x2_t)__builtin_neon_vornv2si ((int32x2_t) __a, (int32x2_t) __b, 0); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vorn_s64 (int64x1_t __a, int64x1_t __b) -{ - return (int64x1_t)__builtin_neon_vorndi (__a, __b, 1); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vorn_u64 (uint64x1_t __a, uint64x1_t __b) -{ - return (uint64x1_t)__builtin_neon_vorndi ((int64x1_t) __a, (int64x1_t) __b, 0); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vornq_s8 (int8x16_t __a, int8x16_t __b) -{ - return (int8x16_t)__builtin_neon_vornv16qi (__a, __b, 1); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vornq_s16 (int16x8_t __a, int16x8_t __b) -{ - return (int16x8_t)__builtin_neon_vornv8hi (__a, __b, 1); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vornq_s32 (int32x4_t __a, int32x4_t __b) -{ - return (int32x4_t)__builtin_neon_vornv4si (__a, __b, 1); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vornq_s64 (int64x2_t __a, int64x2_t __b) -{ - return (int64x2_t)__builtin_neon_vornv2di (__a, __b, 1); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vornq_u8 (uint8x16_t __a, uint8x16_t __b) -{ - return (uint8x16_t)__builtin_neon_vornv16qi ((int8x16_t) __a, (int8x16_t) __b, 0); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vornq_u16 (uint16x8_t __a, uint16x8_t __b) -{ - return (uint16x8_t)__builtin_neon_vornv8hi ((int16x8_t) __a, (int16x8_t) __b, 0); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vornq_u32 (uint32x4_t __a, uint32x4_t __b) -{ - return (uint32x4_t)__builtin_neon_vornv4si ((int32x4_t) __a, (int32x4_t) __b, 0); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vornq_u64 (uint64x2_t __a, uint64x2_t __b) -{ - return (uint64x2_t)__builtin_neon_vornv2di ((int64x2_t) __a, (int64x2_t) __b, 0); -} - - -__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vreinterpret_p8_s8 (int8x8_t __a) -{ - return (poly8x8_t)__builtin_neon_vreinterpretv8qiv8qi (__a); -} - -__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vreinterpret_p8_s16 (int16x4_t __a) -{ - return (poly8x8_t)__builtin_neon_vreinterpretv8qiv4hi (__a); -} - -__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vreinterpret_p8_s32 (int32x2_t __a) -{ - return (poly8x8_t)__builtin_neon_vreinterpretv8qiv2si (__a); -} - -__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vreinterpret_p8_s64 (int64x1_t __a) -{ - return (poly8x8_t)__builtin_neon_vreinterpretv8qidi (__a); -} - -__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vreinterpret_p8_f32 (float32x2_t __a) -{ - return (poly8x8_t)__builtin_neon_vreinterpretv8qiv2sf (__a); -} - -__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vreinterpret_p8_u8 (uint8x8_t __a) -{ - return (poly8x8_t)__builtin_neon_vreinterpretv8qiv8qi ((int8x8_t) __a); -} - -__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vreinterpret_p8_u16 (uint16x4_t __a) -{ - return (poly8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a); -} - -__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vreinterpret_p8_u32 (uint32x2_t __a) -{ - return (poly8x8_t)__builtin_neon_vreinterpretv8qiv2si ((int32x2_t) __a); -} - -__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vreinterpret_p8_u64 (uint64x1_t __a) -{ - return (poly8x8_t)__builtin_neon_vreinterpretv8qidi ((int64x1_t) __a); -} - -__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) -vreinterpret_p8_p16 (poly16x4_t __a) -{ - return (poly8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a); -} - -__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) -vreinterpretq_p8_s8 (int8x16_t __a) -{ - return (poly8x16_t)__builtin_neon_vreinterpretv16qiv16qi (__a); -} - -__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) -vreinterpretq_p8_s16 (int16x8_t __a) -{ - return (poly8x16_t)__builtin_neon_vreinterpretv16qiv8hi (__a); -} - -__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) -vreinterpretq_p8_s32 (int32x4_t __a) -{ - return (poly8x16_t)__builtin_neon_vreinterpretv16qiv4si (__a); -} - -__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) -vreinterpretq_p8_s64 (int64x2_t __a) -{ - return (poly8x16_t)__builtin_neon_vreinterpretv16qiv2di (__a); -} - -__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) -vreinterpretq_p8_f32 (float32x4_t __a) -{ - return (poly8x16_t)__builtin_neon_vreinterpretv16qiv4sf (__a); -} - -__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) -vreinterpretq_p8_u8 (uint8x16_t __a) -{ - return (poly8x16_t)__builtin_neon_vreinterpretv16qiv16qi ((int8x16_t) __a); -} - -__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) -vreinterpretq_p8_u16 (uint16x8_t __a) -{ - return (poly8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a); -} - -__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) -vreinterpretq_p8_u32 (uint32x4_t __a) -{ - return (poly8x16_t)__builtin_neon_vreinterpretv16qiv4si ((int32x4_t) __a); -} - -__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) -vreinterpretq_p8_u64 (uint64x2_t __a) -{ - return (poly8x16_t)__builtin_neon_vreinterpretv16qiv2di ((int64x2_t) __a); -} - -__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) -vreinterpretq_p8_p16 (poly16x8_t __a) -{ - return (poly8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a); -} - -__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) -vreinterpret_p16_s8 (int8x8_t __a) -{ - return (poly16x4_t)__builtin_neon_vreinterpretv4hiv8qi (__a); -} - -__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) -vreinterpret_p16_s16 (int16x4_t __a) -{ - return (poly16x4_t)__builtin_neon_vreinterpretv4hiv4hi (__a); -} - -__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) -vreinterpret_p16_s32 (int32x2_t __a) -{ - return (poly16x4_t)__builtin_neon_vreinterpretv4hiv2si (__a); -} - -__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) -vreinterpret_p16_s64 (int64x1_t __a) -{ - return (poly16x4_t)__builtin_neon_vreinterpretv4hidi (__a); -} - -__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) -vreinterpret_p16_f32 (float32x2_t __a) -{ - return (poly16x4_t)__builtin_neon_vreinterpretv4hiv2sf (__a); -} - -__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) -vreinterpret_p16_u8 (uint8x8_t __a) -{ - return (poly16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a); -} - -__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) -vreinterpret_p16_u16 (uint16x4_t __a) -{ - return (poly16x4_t)__builtin_neon_vreinterpretv4hiv4hi ((int16x4_t) __a); -} - -__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) -vreinterpret_p16_u32 (uint32x2_t __a) -{ - return (poly16x4_t)__builtin_neon_vreinterpretv4hiv2si ((int32x2_t) __a); -} - -__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) -vreinterpret_p16_u64 (uint64x1_t __a) -{ - return (poly16x4_t)__builtin_neon_vreinterpretv4hidi ((int64x1_t) __a); -} - -__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) -vreinterpret_p16_p8 (poly8x8_t __a) -{ - return (poly16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a); -} - -__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) -vreinterpretq_p16_s8 (int8x16_t __a) -{ - return (poly16x8_t)__builtin_neon_vreinterpretv8hiv16qi (__a); -} - -__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) -vreinterpretq_p16_s16 (int16x8_t __a) -{ - return (poly16x8_t)__builtin_neon_vreinterpretv8hiv8hi (__a); -} - -__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) -vreinterpretq_p16_s32 (int32x4_t __a) -{ - return (poly16x8_t)__builtin_neon_vreinterpretv8hiv4si (__a); -} - -__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) -vreinterpretq_p16_s64 (int64x2_t __a) -{ - return (poly16x8_t)__builtin_neon_vreinterpretv8hiv2di (__a); -} - -__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) -vreinterpretq_p16_f32 (float32x4_t __a) -{ - return (poly16x8_t)__builtin_neon_vreinterpretv8hiv4sf (__a); -} - -__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) -vreinterpretq_p16_u8 (uint8x16_t __a) -{ - return (poly16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a); -} - -__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) -vreinterpretq_p16_u16 (uint16x8_t __a) -{ - return (poly16x8_t)__builtin_neon_vreinterpretv8hiv8hi ((int16x8_t) __a); -} - -__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) -vreinterpretq_p16_u32 (uint32x4_t __a) -{ - return (poly16x8_t)__builtin_neon_vreinterpretv8hiv4si ((int32x4_t) __a); -} - -__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) -vreinterpretq_p16_u64 (uint64x2_t __a) -{ - return (poly16x8_t)__builtin_neon_vreinterpretv8hiv2di ((int64x2_t) __a); -} - -__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) -vreinterpretq_p16_p8 (poly8x16_t __a) -{ - return (poly16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vreinterpret_f32_s8 (int8x8_t __a) -{ - return (float32x2_t)__builtin_neon_vreinterpretv2sfv8qi (__a); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vreinterpret_f32_s16 (int16x4_t __a) -{ - return (float32x2_t)__builtin_neon_vreinterpretv2sfv4hi (__a); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vreinterpret_f32_s32 (int32x2_t __a) -{ - return (float32x2_t)__builtin_neon_vreinterpretv2sfv2si (__a); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vreinterpret_f32_s64 (int64x1_t __a) -{ - return (float32x2_t)__builtin_neon_vreinterpretv2sfdi (__a); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vreinterpret_f32_u8 (uint8x8_t __a) -{ - return (float32x2_t)__builtin_neon_vreinterpretv2sfv8qi ((int8x8_t) __a); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vreinterpret_f32_u16 (uint16x4_t __a) -{ - return (float32x2_t)__builtin_neon_vreinterpretv2sfv4hi ((int16x4_t) __a); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vreinterpret_f32_u32 (uint32x2_t __a) -{ - return (float32x2_t)__builtin_neon_vreinterpretv2sfv2si ((int32x2_t) __a); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vreinterpret_f32_u64 (uint64x1_t __a) -{ - return (float32x2_t)__builtin_neon_vreinterpretv2sfdi ((int64x1_t) __a); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vreinterpret_f32_p8 (poly8x8_t __a) -{ - return (float32x2_t)__builtin_neon_vreinterpretv2sfv8qi ((int8x8_t) __a); -} - -__extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) -vreinterpret_f32_p16 (poly16x4_t __a) -{ - return (float32x2_t)__builtin_neon_vreinterpretv2sfv4hi ((int16x4_t) __a); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vreinterpretq_f32_s8 (int8x16_t __a) -{ - return (float32x4_t)__builtin_neon_vreinterpretv4sfv16qi (__a); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vreinterpretq_f32_s16 (int16x8_t __a) -{ - return (float32x4_t)__builtin_neon_vreinterpretv4sfv8hi (__a); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vreinterpretq_f32_s32 (int32x4_t __a) -{ - return (float32x4_t)__builtin_neon_vreinterpretv4sfv4si (__a); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vreinterpretq_f32_s64 (int64x2_t __a) -{ - return (float32x4_t)__builtin_neon_vreinterpretv4sfv2di (__a); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vreinterpretq_f32_u8 (uint8x16_t __a) -{ - return (float32x4_t)__builtin_neon_vreinterpretv4sfv16qi ((int8x16_t) __a); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vreinterpretq_f32_u16 (uint16x8_t __a) -{ - return (float32x4_t)__builtin_neon_vreinterpretv4sfv8hi ((int16x8_t) __a); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vreinterpretq_f32_u32 (uint32x4_t __a) -{ - return (float32x4_t)__builtin_neon_vreinterpretv4sfv4si ((int32x4_t) __a); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vreinterpretq_f32_u64 (uint64x2_t __a) -{ - return (float32x4_t)__builtin_neon_vreinterpretv4sfv2di ((int64x2_t) __a); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vreinterpretq_f32_p8 (poly8x16_t __a) -{ - return (float32x4_t)__builtin_neon_vreinterpretv4sfv16qi ((int8x16_t) __a); -} - -__extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) -vreinterpretq_f32_p16 (poly16x8_t __a) -{ - return (float32x4_t)__builtin_neon_vreinterpretv4sfv8hi ((int16x8_t) __a); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vreinterpret_s64_s8 (int8x8_t __a) -{ - return (int64x1_t)__builtin_neon_vreinterpretdiv8qi (__a); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vreinterpret_s64_s16 (int16x4_t __a) -{ - return (int64x1_t)__builtin_neon_vreinterpretdiv4hi (__a); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vreinterpret_s64_s32 (int32x2_t __a) -{ - return (int64x1_t)__builtin_neon_vreinterpretdiv2si (__a); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vreinterpret_s64_f32 (float32x2_t __a) -{ - return (int64x1_t)__builtin_neon_vreinterpretdiv2sf (__a); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vreinterpret_s64_u8 (uint8x8_t __a) -{ - return (int64x1_t)__builtin_neon_vreinterpretdiv8qi ((int8x8_t) __a); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vreinterpret_s64_u16 (uint16x4_t __a) -{ - return (int64x1_t)__builtin_neon_vreinterpretdiv4hi ((int16x4_t) __a); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vreinterpret_s64_u32 (uint32x2_t __a) -{ - return (int64x1_t)__builtin_neon_vreinterpretdiv2si ((int32x2_t) __a); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vreinterpret_s64_u64 (uint64x1_t __a) -{ - return (int64x1_t)__builtin_neon_vreinterpretdidi ((int64x1_t) __a); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vreinterpret_s64_p8 (poly8x8_t __a) -{ - return (int64x1_t)__builtin_neon_vreinterpretdiv8qi ((int8x8_t) __a); -} - -__extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) -vreinterpret_s64_p16 (poly16x4_t __a) -{ - return (int64x1_t)__builtin_neon_vreinterpretdiv4hi ((int16x4_t) __a); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vreinterpretq_s64_s8 (int8x16_t __a) -{ - return (int64x2_t)__builtin_neon_vreinterpretv2div16qi (__a); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vreinterpretq_s64_s16 (int16x8_t __a) -{ - return (int64x2_t)__builtin_neon_vreinterpretv2div8hi (__a); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vreinterpretq_s64_s32 (int32x4_t __a) -{ - return (int64x2_t)__builtin_neon_vreinterpretv2div4si (__a); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vreinterpretq_s64_f32 (float32x4_t __a) -{ - return (int64x2_t)__builtin_neon_vreinterpretv2div4sf (__a); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vreinterpretq_s64_u8 (uint8x16_t __a) -{ - return (int64x2_t)__builtin_neon_vreinterpretv2div16qi ((int8x16_t) __a); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vreinterpretq_s64_u16 (uint16x8_t __a) -{ - return (int64x2_t)__builtin_neon_vreinterpretv2div8hi ((int16x8_t) __a); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vreinterpretq_s64_u32 (uint32x4_t __a) -{ - return (int64x2_t)__builtin_neon_vreinterpretv2div4si ((int32x4_t) __a); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vreinterpretq_s64_u64 (uint64x2_t __a) -{ - return (int64x2_t)__builtin_neon_vreinterpretv2div2di ((int64x2_t) __a); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vreinterpretq_s64_p8 (poly8x16_t __a) -{ - return (int64x2_t)__builtin_neon_vreinterpretv2div16qi ((int8x16_t) __a); -} - -__extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) -vreinterpretq_s64_p16 (poly16x8_t __a) -{ - return (int64x2_t)__builtin_neon_vreinterpretv2div8hi ((int16x8_t) __a); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vreinterpret_u64_s8 (int8x8_t __a) -{ - return (uint64x1_t)__builtin_neon_vreinterpretdiv8qi (__a); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vreinterpret_u64_s16 (int16x4_t __a) -{ - return (uint64x1_t)__builtin_neon_vreinterpretdiv4hi (__a); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vreinterpret_u64_s32 (int32x2_t __a) -{ - return (uint64x1_t)__builtin_neon_vreinterpretdiv2si (__a); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vreinterpret_u64_s64 (int64x1_t __a) -{ - return (uint64x1_t)__builtin_neon_vreinterpretdidi (__a); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vreinterpret_u64_f32 (float32x2_t __a) -{ - return (uint64x1_t)__builtin_neon_vreinterpretdiv2sf (__a); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vreinterpret_u64_u8 (uint8x8_t __a) -{ - return (uint64x1_t)__builtin_neon_vreinterpretdiv8qi ((int8x8_t) __a); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vreinterpret_u64_u16 (uint16x4_t __a) -{ - return (uint64x1_t)__builtin_neon_vreinterpretdiv4hi ((int16x4_t) __a); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vreinterpret_u64_u32 (uint32x2_t __a) -{ - return (uint64x1_t)__builtin_neon_vreinterpretdiv2si ((int32x2_t) __a); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vreinterpret_u64_p8 (poly8x8_t __a) -{ - return (uint64x1_t)__builtin_neon_vreinterpretdiv8qi ((int8x8_t) __a); -} - -__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) -vreinterpret_u64_p16 (poly16x4_t __a) -{ - return (uint64x1_t)__builtin_neon_vreinterpretdiv4hi ((int16x4_t) __a); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vreinterpretq_u64_s8 (int8x16_t __a) -{ - return (uint64x2_t)__builtin_neon_vreinterpretv2div16qi (__a); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vreinterpretq_u64_s16 (int16x8_t __a) -{ - return (uint64x2_t)__builtin_neon_vreinterpretv2div8hi (__a); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vreinterpretq_u64_s32 (int32x4_t __a) -{ - return (uint64x2_t)__builtin_neon_vreinterpretv2div4si (__a); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vreinterpretq_u64_s64 (int64x2_t __a) -{ - return (uint64x2_t)__builtin_neon_vreinterpretv2div2di (__a); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vreinterpretq_u64_f32 (float32x4_t __a) -{ - return (uint64x2_t)__builtin_neon_vreinterpretv2div4sf (__a); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vreinterpretq_u64_u8 (uint8x16_t __a) -{ - return (uint64x2_t)__builtin_neon_vreinterpretv2div16qi ((int8x16_t) __a); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vreinterpretq_u64_u16 (uint16x8_t __a) -{ - return (uint64x2_t)__builtin_neon_vreinterpretv2div8hi ((int16x8_t) __a); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vreinterpretq_u64_u32 (uint32x4_t __a) -{ - return (uint64x2_t)__builtin_neon_vreinterpretv2div4si ((int32x4_t) __a); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vreinterpretq_u64_p8 (poly8x16_t __a) -{ - return (uint64x2_t)__builtin_neon_vreinterpretv2div16qi ((int8x16_t) __a); -} - -__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) -vreinterpretq_u64_p16 (poly16x8_t __a) -{ - return (uint64x2_t)__builtin_neon_vreinterpretv2div8hi ((int16x8_t) __a); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vreinterpret_s8_s16 (int16x4_t __a) -{ - return (int8x8_t)__builtin_neon_vreinterpretv8qiv4hi (__a); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vreinterpret_s8_s32 (int32x2_t __a) -{ - return (int8x8_t)__builtin_neon_vreinterpretv8qiv2si (__a); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vreinterpret_s8_s64 (int64x1_t __a) -{ - return (int8x8_t)__builtin_neon_vreinterpretv8qidi (__a); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vreinterpret_s8_f32 (float32x2_t __a) -{ - return (int8x8_t)__builtin_neon_vreinterpretv8qiv2sf (__a); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vreinterpret_s8_u8 (uint8x8_t __a) -{ - return (int8x8_t)__builtin_neon_vreinterpretv8qiv8qi ((int8x8_t) __a); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vreinterpret_s8_u16 (uint16x4_t __a) -{ - return (int8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vreinterpret_s8_u32 (uint32x2_t __a) -{ - return (int8x8_t)__builtin_neon_vreinterpretv8qiv2si ((int32x2_t) __a); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vreinterpret_s8_u64 (uint64x1_t __a) -{ - return (int8x8_t)__builtin_neon_vreinterpretv8qidi ((int64x1_t) __a); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vreinterpret_s8_p8 (poly8x8_t __a) -{ - return (int8x8_t)__builtin_neon_vreinterpretv8qiv8qi ((int8x8_t) __a); -} - -__extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) -vreinterpret_s8_p16 (poly16x4_t __a) -{ - return (int8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vreinterpretq_s8_s16 (int16x8_t __a) -{ - return (int8x16_t)__builtin_neon_vreinterpretv16qiv8hi (__a); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vreinterpretq_s8_s32 (int32x4_t __a) -{ - return (int8x16_t)__builtin_neon_vreinterpretv16qiv4si (__a); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vreinterpretq_s8_s64 (int64x2_t __a) -{ - return (int8x16_t)__builtin_neon_vreinterpretv16qiv2di (__a); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vreinterpretq_s8_f32 (float32x4_t __a) -{ - return (int8x16_t)__builtin_neon_vreinterpretv16qiv4sf (__a); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vreinterpretq_s8_u8 (uint8x16_t __a) -{ - return (int8x16_t)__builtin_neon_vreinterpretv16qiv16qi ((int8x16_t) __a); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vreinterpretq_s8_u16 (uint16x8_t __a) -{ - return (int8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vreinterpretq_s8_u32 (uint32x4_t __a) -{ - return (int8x16_t)__builtin_neon_vreinterpretv16qiv4si ((int32x4_t) __a); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vreinterpretq_s8_u64 (uint64x2_t __a) -{ - return (int8x16_t)__builtin_neon_vreinterpretv16qiv2di ((int64x2_t) __a); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vreinterpretq_s8_p8 (poly8x16_t __a) -{ - return (int8x16_t)__builtin_neon_vreinterpretv16qiv16qi ((int8x16_t) __a); -} - -__extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) -vreinterpretq_s8_p16 (poly16x8_t __a) -{ - return (int8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vreinterpret_s16_s8 (int8x8_t __a) -{ - return (int16x4_t)__builtin_neon_vreinterpretv4hiv8qi (__a); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vreinterpret_s16_s32 (int32x2_t __a) -{ - return (int16x4_t)__builtin_neon_vreinterpretv4hiv2si (__a); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vreinterpret_s16_s64 (int64x1_t __a) -{ - return (int16x4_t)__builtin_neon_vreinterpretv4hidi (__a); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vreinterpret_s16_f32 (float32x2_t __a) -{ - return (int16x4_t)__builtin_neon_vreinterpretv4hiv2sf (__a); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vreinterpret_s16_u8 (uint8x8_t __a) -{ - return (int16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vreinterpret_s16_u16 (uint16x4_t __a) -{ - return (int16x4_t)__builtin_neon_vreinterpretv4hiv4hi ((int16x4_t) __a); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vreinterpret_s16_u32 (uint32x2_t __a) -{ - return (int16x4_t)__builtin_neon_vreinterpretv4hiv2si ((int32x2_t) __a); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vreinterpret_s16_u64 (uint64x1_t __a) -{ - return (int16x4_t)__builtin_neon_vreinterpretv4hidi ((int64x1_t) __a); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vreinterpret_s16_p8 (poly8x8_t __a) -{ - return (int16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a); -} - -__extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) -vreinterpret_s16_p16 (poly16x4_t __a) -{ - return (int16x4_t)__builtin_neon_vreinterpretv4hiv4hi ((int16x4_t) __a); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vreinterpretq_s16_s8 (int8x16_t __a) -{ - return (int16x8_t)__builtin_neon_vreinterpretv8hiv16qi (__a); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vreinterpretq_s16_s32 (int32x4_t __a) -{ - return (int16x8_t)__builtin_neon_vreinterpretv8hiv4si (__a); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vreinterpretq_s16_s64 (int64x2_t __a) -{ - return (int16x8_t)__builtin_neon_vreinterpretv8hiv2di (__a); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vreinterpretq_s16_f32 (float32x4_t __a) -{ - return (int16x8_t)__builtin_neon_vreinterpretv8hiv4sf (__a); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vreinterpretq_s16_u8 (uint8x16_t __a) -{ - return (int16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vreinterpretq_s16_u16 (uint16x8_t __a) -{ - return (int16x8_t)__builtin_neon_vreinterpretv8hiv8hi ((int16x8_t) __a); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vreinterpretq_s16_u32 (uint32x4_t __a) -{ - return (int16x8_t)__builtin_neon_vreinterpretv8hiv4si ((int32x4_t) __a); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vreinterpretq_s16_u64 (uint64x2_t __a) -{ - return (int16x8_t)__builtin_neon_vreinterpretv8hiv2di ((int64x2_t) __a); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vreinterpretq_s16_p8 (poly8x16_t __a) -{ - return (int16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a); -} - -__extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) -vreinterpretq_s16_p16 (poly16x8_t __a) -{ - return (int16x8_t)__builtin_neon_vreinterpretv8hiv8hi ((int16x8_t) __a); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vreinterpret_s32_s8 (int8x8_t __a) -{ - return (int32x2_t)__builtin_neon_vreinterpretv2siv8qi (__a); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vreinterpret_s32_s16 (int16x4_t __a) -{ - return (int32x2_t)__builtin_neon_vreinterpretv2siv4hi (__a); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vreinterpret_s32_s64 (int64x1_t __a) -{ - return (int32x2_t)__builtin_neon_vreinterpretv2sidi (__a); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vreinterpret_s32_f32 (float32x2_t __a) -{ - return (int32x2_t)__builtin_neon_vreinterpretv2siv2sf (__a); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vreinterpret_s32_u8 (uint8x8_t __a) -{ - return (int32x2_t)__builtin_neon_vreinterpretv2siv8qi ((int8x8_t) __a); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vreinterpret_s32_u16 (uint16x4_t __a) -{ - return (int32x2_t)__builtin_neon_vreinterpretv2siv4hi ((int16x4_t) __a); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vreinterpret_s32_u32 (uint32x2_t __a) -{ - return (int32x2_t)__builtin_neon_vreinterpretv2siv2si ((int32x2_t) __a); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vreinterpret_s32_u64 (uint64x1_t __a) -{ - return (int32x2_t)__builtin_neon_vreinterpretv2sidi ((int64x1_t) __a); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vreinterpret_s32_p8 (poly8x8_t __a) -{ - return (int32x2_t)__builtin_neon_vreinterpretv2siv8qi ((int8x8_t) __a); -} - -__extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) -vreinterpret_s32_p16 (poly16x4_t __a) -{ - return (int32x2_t)__builtin_neon_vreinterpretv2siv4hi ((int16x4_t) __a); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vreinterpretq_s32_s8 (int8x16_t __a) -{ - return (int32x4_t)__builtin_neon_vreinterpretv4siv16qi (__a); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vreinterpretq_s32_s16 (int16x8_t __a) -{ - return (int32x4_t)__builtin_neon_vreinterpretv4siv8hi (__a); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vreinterpretq_s32_s64 (int64x2_t __a) -{ - return (int32x4_t)__builtin_neon_vreinterpretv4siv2di (__a); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vreinterpretq_s32_f32 (float32x4_t __a) -{ - return (int32x4_t)__builtin_neon_vreinterpretv4siv4sf (__a); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vreinterpretq_s32_u8 (uint8x16_t __a) -{ - return (int32x4_t)__builtin_neon_vreinterpretv4siv16qi ((int8x16_t) __a); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vreinterpretq_s32_u16 (uint16x8_t __a) -{ - return (int32x4_t)__builtin_neon_vreinterpretv4siv8hi ((int16x8_t) __a); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vreinterpretq_s32_u32 (uint32x4_t __a) -{ - return (int32x4_t)__builtin_neon_vreinterpretv4siv4si ((int32x4_t) __a); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vreinterpretq_s32_u64 (uint64x2_t __a) -{ - return (int32x4_t)__builtin_neon_vreinterpretv4siv2di ((int64x2_t) __a); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vreinterpretq_s32_p8 (poly8x16_t __a) -{ - return (int32x4_t)__builtin_neon_vreinterpretv4siv16qi ((int8x16_t) __a); -} - -__extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) -vreinterpretq_s32_p16 (poly16x8_t __a) -{ - return (int32x4_t)__builtin_neon_vreinterpretv4siv8hi ((int16x8_t) __a); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vreinterpret_u8_s8 (int8x8_t __a) -{ - return (uint8x8_t)__builtin_neon_vreinterpretv8qiv8qi (__a); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vreinterpret_u8_s16 (int16x4_t __a) -{ - return (uint8x8_t)__builtin_neon_vreinterpretv8qiv4hi (__a); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vreinterpret_u8_s32 (int32x2_t __a) -{ - return (uint8x8_t)__builtin_neon_vreinterpretv8qiv2si (__a); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vreinterpret_u8_s64 (int64x1_t __a) -{ - return (uint8x8_t)__builtin_neon_vreinterpretv8qidi (__a); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vreinterpret_u8_f32 (float32x2_t __a) -{ - return (uint8x8_t)__builtin_neon_vreinterpretv8qiv2sf (__a); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vreinterpret_u8_u16 (uint16x4_t __a) -{ - return (uint8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vreinterpret_u8_u32 (uint32x2_t __a) -{ - return (uint8x8_t)__builtin_neon_vreinterpretv8qiv2si ((int32x2_t) __a); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vreinterpret_u8_u64 (uint64x1_t __a) -{ - return (uint8x8_t)__builtin_neon_vreinterpretv8qidi ((int64x1_t) __a); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vreinterpret_u8_p8 (poly8x8_t __a) -{ - return (uint8x8_t)__builtin_neon_vreinterpretv8qiv8qi ((int8x8_t) __a); -} - -__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) -vreinterpret_u8_p16 (poly16x4_t __a) -{ - return (uint8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vreinterpretq_u8_s8 (int8x16_t __a) -{ - return (uint8x16_t)__builtin_neon_vreinterpretv16qiv16qi (__a); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vreinterpretq_u8_s16 (int16x8_t __a) -{ - return (uint8x16_t)__builtin_neon_vreinterpretv16qiv8hi (__a); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vreinterpretq_u8_s32 (int32x4_t __a) -{ - return (uint8x16_t)__builtin_neon_vreinterpretv16qiv4si (__a); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vreinterpretq_u8_s64 (int64x2_t __a) -{ - return (uint8x16_t)__builtin_neon_vreinterpretv16qiv2di (__a); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vreinterpretq_u8_f32 (float32x4_t __a) -{ - return (uint8x16_t)__builtin_neon_vreinterpretv16qiv4sf (__a); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vreinterpretq_u8_u16 (uint16x8_t __a) -{ - return (uint8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vreinterpretq_u8_u32 (uint32x4_t __a) -{ - return (uint8x16_t)__builtin_neon_vreinterpretv16qiv4si ((int32x4_t) __a); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vreinterpretq_u8_u64 (uint64x2_t __a) -{ - return (uint8x16_t)__builtin_neon_vreinterpretv16qiv2di ((int64x2_t) __a); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vreinterpretq_u8_p8 (poly8x16_t __a) -{ - return (uint8x16_t)__builtin_neon_vreinterpretv16qiv16qi ((int8x16_t) __a); -} - -__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) -vreinterpretq_u8_p16 (poly16x8_t __a) -{ - return (uint8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vreinterpret_u16_s8 (int8x8_t __a) -{ - return (uint16x4_t)__builtin_neon_vreinterpretv4hiv8qi (__a); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vreinterpret_u16_s16 (int16x4_t __a) -{ - return (uint16x4_t)__builtin_neon_vreinterpretv4hiv4hi (__a); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vreinterpret_u16_s32 (int32x2_t __a) -{ - return (uint16x4_t)__builtin_neon_vreinterpretv4hiv2si (__a); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vreinterpret_u16_s64 (int64x1_t __a) -{ - return (uint16x4_t)__builtin_neon_vreinterpretv4hidi (__a); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vreinterpret_u16_f32 (float32x2_t __a) -{ - return (uint16x4_t)__builtin_neon_vreinterpretv4hiv2sf (__a); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vreinterpret_u16_u8 (uint8x8_t __a) -{ - return (uint16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vreinterpret_u16_u32 (uint32x2_t __a) -{ - return (uint16x4_t)__builtin_neon_vreinterpretv4hiv2si ((int32x2_t) __a); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vreinterpret_u16_u64 (uint64x1_t __a) -{ - return (uint16x4_t)__builtin_neon_vreinterpretv4hidi ((int64x1_t) __a); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vreinterpret_u16_p8 (poly8x8_t __a) -{ - return (uint16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a); -} - -__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) -vreinterpret_u16_p16 (poly16x4_t __a) -{ - return (uint16x4_t)__builtin_neon_vreinterpretv4hiv4hi ((int16x4_t) __a); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vreinterpretq_u16_s8 (int8x16_t __a) -{ - return (uint16x8_t)__builtin_neon_vreinterpretv8hiv16qi (__a); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vreinterpretq_u16_s16 (int16x8_t __a) -{ - return (uint16x8_t)__builtin_neon_vreinterpretv8hiv8hi (__a); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vreinterpretq_u16_s32 (int32x4_t __a) -{ - return (uint16x8_t)__builtin_neon_vreinterpretv8hiv4si (__a); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vreinterpretq_u16_s64 (int64x2_t __a) -{ - return (uint16x8_t)__builtin_neon_vreinterpretv8hiv2di (__a); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vreinterpretq_u16_f32 (float32x4_t __a) -{ - return (uint16x8_t)__builtin_neon_vreinterpretv8hiv4sf (__a); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vreinterpretq_u16_u8 (uint8x16_t __a) -{ - return (uint16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vreinterpretq_u16_u32 (uint32x4_t __a) -{ - return (uint16x8_t)__builtin_neon_vreinterpretv8hiv4si ((int32x4_t) __a); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vreinterpretq_u16_u64 (uint64x2_t __a) -{ - return (uint16x8_t)__builtin_neon_vreinterpretv8hiv2di ((int64x2_t) __a); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vreinterpretq_u16_p8 (poly8x16_t __a) -{ - return (uint16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a); -} - -__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) -vreinterpretq_u16_p16 (poly16x8_t __a) -{ - return (uint16x8_t)__builtin_neon_vreinterpretv8hiv8hi ((int16x8_t) __a); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vreinterpret_u32_s8 (int8x8_t __a) -{ - return (uint32x2_t)__builtin_neon_vreinterpretv2siv8qi (__a); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vreinterpret_u32_s16 (int16x4_t __a) -{ - return (uint32x2_t)__builtin_neon_vreinterpretv2siv4hi (__a); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vreinterpret_u32_s32 (int32x2_t __a) -{ - return (uint32x2_t)__builtin_neon_vreinterpretv2siv2si (__a); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vreinterpret_u32_s64 (int64x1_t __a) -{ - return (uint32x2_t)__builtin_neon_vreinterpretv2sidi (__a); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vreinterpret_u32_f32 (float32x2_t __a) -{ - return (uint32x2_t)__builtin_neon_vreinterpretv2siv2sf (__a); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vreinterpret_u32_u8 (uint8x8_t __a) -{ - return (uint32x2_t)__builtin_neon_vreinterpretv2siv8qi ((int8x8_t) __a); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vreinterpret_u32_u16 (uint16x4_t __a) -{ - return (uint32x2_t)__builtin_neon_vreinterpretv2siv4hi ((int16x4_t) __a); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vreinterpret_u32_u64 (uint64x1_t __a) -{ - return (uint32x2_t)__builtin_neon_vreinterpretv2sidi ((int64x1_t) __a); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vreinterpret_u32_p8 (poly8x8_t __a) -{ - return (uint32x2_t)__builtin_neon_vreinterpretv2siv8qi ((int8x8_t) __a); -} - -__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) -vreinterpret_u32_p16 (poly16x4_t __a) -{ - return (uint32x2_t)__builtin_neon_vreinterpretv2siv4hi ((int16x4_t) __a); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vreinterpretq_u32_s8 (int8x16_t __a) -{ - return (uint32x4_t)__builtin_neon_vreinterpretv4siv16qi (__a); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vreinterpretq_u32_s16 (int16x8_t __a) -{ - return (uint32x4_t)__builtin_neon_vreinterpretv4siv8hi (__a); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vreinterpretq_u32_s32 (int32x4_t __a) -{ - return (uint32x4_t)__builtin_neon_vreinterpretv4siv4si (__a); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vreinterpretq_u32_s64 (int64x2_t __a) -{ - return (uint32x4_t)__builtin_neon_vreinterpretv4siv2di (__a); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vreinterpretq_u32_f32 (float32x4_t __a) -{ - return (uint32x4_t)__builtin_neon_vreinterpretv4siv4sf (__a); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vreinterpretq_u32_u8 (uint8x16_t __a) -{ - return (uint32x4_t)__builtin_neon_vreinterpretv4siv16qi ((int8x16_t) __a); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vreinterpretq_u32_u16 (uint16x8_t __a) -{ - return (uint32x4_t)__builtin_neon_vreinterpretv4siv8hi ((int16x8_t) __a); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vreinterpretq_u32_u64 (uint64x2_t __a) -{ - return (uint32x4_t)__builtin_neon_vreinterpretv4siv2di ((int64x2_t) __a); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vreinterpretq_u32_p8 (poly8x16_t __a) -{ - return (uint32x4_t)__builtin_neon_vreinterpretv4siv16qi ((int8x16_t) __a); -} - -__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) -vreinterpretq_u32_p16 (poly16x8_t __a) -{ - return (uint32x4_t)__builtin_neon_vreinterpretv4siv8hi ((int16x8_t) __a); -} - -#ifdef __cplusplus -} -#endif -#endif -#endif diff --git a/lib/gcc/arm-linux-androideabi/4.8/include/float.h b/lib/gcc/arm-linux-androideabi/4.8/include/float.h deleted file mode 100644 index dd461d7..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/include/float.h +++ /dev/null @@ -1,277 +0,0 @@ -/* Copyright (C) 2002-2013 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC 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. - -Under Section 7 of GPL version 3, you are granted additional -permissions described in the GCC Runtime Library Exception, version -3.1, as published by the Free Software Foundation. - -You should have received a copy of the GNU General Public License and -a copy of the GCC Runtime Library Exception along with this program; -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -<http://www.gnu.org/licenses/>. */ - -/* - * ISO C Standard: 5.2.4.2.2 Characteristics of floating types <float.h> - */ - -#ifndef _FLOAT_H___ -#define _FLOAT_H___ - -/* Radix of exponent representation, b. */ -#undef FLT_RADIX -#define FLT_RADIX __FLT_RADIX__ - -/* Number of base-FLT_RADIX digits in the significand, p. */ -#undef FLT_MANT_DIG -#undef DBL_MANT_DIG -#undef LDBL_MANT_DIG -#define FLT_MANT_DIG __FLT_MANT_DIG__ -#define DBL_MANT_DIG __DBL_MANT_DIG__ -#define LDBL_MANT_DIG __LDBL_MANT_DIG__ - -/* Number of decimal digits, q, such that any floating-point number with q - decimal digits can be rounded into a floating-point number with p radix b - digits and back again without change to the q decimal digits, - - p * log10(b) if b is a power of 10 - floor((p - 1) * log10(b)) otherwise -*/ -#undef FLT_DIG -#undef DBL_DIG -#undef LDBL_DIG -#define FLT_DIG __FLT_DIG__ -#define DBL_DIG __DBL_DIG__ -#define LDBL_DIG __LDBL_DIG__ - -/* Minimum int x such that FLT_RADIX**(x-1) is a normalized float, emin */ -#undef FLT_MIN_EXP -#undef DBL_MIN_EXP -#undef LDBL_MIN_EXP -#define FLT_MIN_EXP __FLT_MIN_EXP__ -#define DBL_MIN_EXP __DBL_MIN_EXP__ -#define LDBL_MIN_EXP __LDBL_MIN_EXP__ - -/* Minimum negative integer such that 10 raised to that power is in the - range of normalized floating-point numbers, - - ceil(log10(b) * (emin - 1)) -*/ -#undef FLT_MIN_10_EXP -#undef DBL_MIN_10_EXP -#undef LDBL_MIN_10_EXP -#define FLT_MIN_10_EXP __FLT_MIN_10_EXP__ -#define DBL_MIN_10_EXP __DBL_MIN_10_EXP__ -#define LDBL_MIN_10_EXP __LDBL_MIN_10_EXP__ - -/* Maximum int x such that FLT_RADIX**(x-1) is a representable float, emax. */ -#undef FLT_MAX_EXP -#undef DBL_MAX_EXP -#undef LDBL_MAX_EXP -#define FLT_MAX_EXP __FLT_MAX_EXP__ -#define DBL_MAX_EXP __DBL_MAX_EXP__ -#define LDBL_MAX_EXP __LDBL_MAX_EXP__ - -/* Maximum integer such that 10 raised to that power is in the range of - representable finite floating-point numbers, - - floor(log10((1 - b**-p) * b**emax)) -*/ -#undef FLT_MAX_10_EXP -#undef DBL_MAX_10_EXP -#undef LDBL_MAX_10_EXP -#define FLT_MAX_10_EXP __FLT_MAX_10_EXP__ -#define DBL_MAX_10_EXP __DBL_MAX_10_EXP__ -#define LDBL_MAX_10_EXP __LDBL_MAX_10_EXP__ - -/* Maximum representable finite floating-point number, - - (1 - b**-p) * b**emax -*/ -#undef FLT_MAX -#undef DBL_MAX -#undef LDBL_MAX -#define FLT_MAX __FLT_MAX__ -#define DBL_MAX __DBL_MAX__ -#define LDBL_MAX __LDBL_MAX__ - -/* The difference between 1 and the least value greater than 1 that is - representable in the given floating point type, b**1-p. */ -#undef FLT_EPSILON -#undef DBL_EPSILON -#undef LDBL_EPSILON -#define FLT_EPSILON __FLT_EPSILON__ -#define DBL_EPSILON __DBL_EPSILON__ -#define LDBL_EPSILON __LDBL_EPSILON__ - -/* Minimum normalized positive floating-point number, b**(emin - 1). */ -#undef FLT_MIN -#undef DBL_MIN -#undef LDBL_MIN -#define FLT_MIN __FLT_MIN__ -#define DBL_MIN __DBL_MIN__ -#define LDBL_MIN __LDBL_MIN__ - -/* Addition rounds to 0: zero, 1: nearest, 2: +inf, 3: -inf, -1: unknown. */ -/* ??? This is supposed to change with calls to fesetround in <fenv.h>. */ -#undef FLT_ROUNDS -#define FLT_ROUNDS 1 - -#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L -/* The floating-point expression evaluation method. - -1 indeterminate - 0 evaluate all operations and constants just to the range and - precision of the type - 1 evaluate operations and constants of type float and double - to the range and precision of the double type, evaluate - long double operations and constants to the range and - precision of the long double type - 2 evaluate all operations and constants to the range and - precision of the long double type - - ??? This ought to change with the setting of the fp control word; - the value provided by the compiler assumes the widest setting. */ -#undef FLT_EVAL_METHOD -#define FLT_EVAL_METHOD __FLT_EVAL_METHOD__ - -/* Number of decimal digits, n, such that any floating-point number in the - widest supported floating type with pmax radix b digits can be rounded - to a floating-point number with n decimal digits and back again without - change to the value, - - pmax * log10(b) if b is a power of 10 - ceil(1 + pmax * log10(b)) otherwise -*/ -#undef DECIMAL_DIG -#define DECIMAL_DIG __DECIMAL_DIG__ - -#endif /* C99 */ - -#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L -/* Versions of DECIMAL_DIG for each floating-point type. */ -#undef FLT_DECIMAL_DIG -#undef DBL_DECIMAL_DIG -#undef LDBL_DECIMAL_DIG -#define FLT_DECIMAL_DIG __FLT_DECIMAL_DIG__ -#define DBL_DECIMAL_DIG __DBL_DECIMAL_DIG__ -#define LDBL_DECIMAL_DIG __DECIMAL_DIG__ - -/* Whether types support subnormal numbers. */ -#undef FLT_HAS_SUBNORM -#undef DBL_HAS_SUBNORM -#undef LDBL_HAS_SUBNORM -#define FLT_HAS_SUBNORM __FLT_HAS_DENORM__ -#define DBL_HAS_SUBNORM __DBL_HAS_DENORM__ -#define LDBL_HAS_SUBNORM __LDBL_HAS_DENORM__ - -/* Minimum positive values, including subnormals. */ -#undef FLT_TRUE_MIN -#undef DBL_TRUE_MIN -#undef LDBL_TRUE_MIN -#if __FLT_HAS_DENORM__ -#define FLT_TRUE_MIN __FLT_DENORM_MIN__ -#else -#define FLT_TRUE_MIN __FLT_MIN__ -#endif -#if __DBL_HAS_DENORM__ -#define DBL_TRUE_MIN __DBL_DENORM_MIN__ -#else -#define DBL_TRUE_MIN __DBL_MIN__ -#endif -#if __LDBL_HAS_DENORM__ -#define LDBL_TRUE_MIN __LDBL_DENORM_MIN__ -#else -#define LDBL_TRUE_MIN __LDBL_MIN__ -#endif - -#endif /* C11 */ - -#ifdef __STDC_WANT_DEC_FP__ -/* Draft Technical Report 24732, extension for decimal floating-point - arithmetic: Characteristic of decimal floating types <float.h>. */ - -/* Number of base-FLT_RADIX digits in the significand, p. */ -#undef DEC32_MANT_DIG -#undef DEC64_MANT_DIG -#undef DEC128_MANT_DIG -#define DEC32_MANT_DIG __DEC32_MANT_DIG__ -#define DEC64_MANT_DIG __DEC64_MANT_DIG__ -#define DEC128_MANT_DIG __DEC128_MANT_DIG__ - -/* Minimum exponent. */ -#undef DEC32_MIN_EXP -#undef DEC64_MIN_EXP -#undef DEC128_MIN_EXP -#define DEC32_MIN_EXP __DEC32_MIN_EXP__ -#define DEC64_MIN_EXP __DEC64_MIN_EXP__ -#define DEC128_MIN_EXP __DEC128_MIN_EXP__ - -/* Maximum exponent. */ -#undef DEC32_MAX_EXP -#undef DEC64_MAX_EXP -#undef DEC128_MAX_EXP -#define DEC32_MAX_EXP __DEC32_MAX_EXP__ -#define DEC64_MAX_EXP __DEC64_MAX_EXP__ -#define DEC128_MAX_EXP __DEC128_MAX_EXP__ - -/* Maximum representable finite decimal floating-point number - (there are 6, 15, and 33 9s after the decimal points respectively). */ -#undef DEC32_MAX -#undef DEC64_MAX -#undef DEC128_MAX -#define DEC32_MAX __DEC32_MAX__ -#define DEC64_MAX __DEC64_MAX__ -#define DEC128_MAX __DEC128_MAX__ - -/* The difference between 1 and the least value greater than 1 that is - representable in the given floating point type. */ -#undef DEC32_EPSILON -#undef DEC64_EPSILON -#undef DEC128_EPSILON -#define DEC32_EPSILON __DEC32_EPSILON__ -#define DEC64_EPSILON __DEC64_EPSILON__ -#define DEC128_EPSILON __DEC128_EPSILON__ - -/* Minimum normalized positive floating-point number. */ -#undef DEC32_MIN -#undef DEC64_MIN -#undef DEC128_MIN -#define DEC32_MIN __DEC32_MIN__ -#define DEC64_MIN __DEC64_MIN__ -#define DEC128_MIN __DEC128_MIN__ - -/* Minimum subnormal positive floating-point number. */ -#undef DEC32_SUBNORMAL_MIN -#undef DEC64_SUBNORMAL_MIN -#undef DEC128_SUBNORMAL_MIN -#define DEC32_SUBNORMAL_MIN __DEC32_SUBNORMAL_MIN__ -#define DEC64_SUBNORMAL_MIN __DEC64_SUBNORMAL_MIN__ -#define DEC128_SUBNORMAL_MIN __DEC128_SUBNORMAL_MIN__ - -/* The floating-point expression evaluation method. - -1 indeterminate - 0 evaluate all operations and constants just to the range and - precision of the type - 1 evaluate operations and constants of type _Decimal32 - and _Decimal64 to the range and precision of the _Decimal64 - type, evaluate _Decimal128 operations and constants to the - range and precision of the _Decimal128 type; - 2 evaluate all operations and constants to the range and - precision of the _Decimal128 type. */ - -#undef DEC_EVAL_METHOD -#define DEC_EVAL_METHOD __DEC_EVAL_METHOD__ - -#endif /* __STDC_WANT_DEC_FP__ */ - -#endif /* _FLOAT_H___ */ diff --git a/lib/gcc/arm-linux-androideabi/4.8/include/iso646.h b/lib/gcc/arm-linux-androideabi/4.8/include/iso646.h deleted file mode 100644 index 36dec91..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/include/iso646.h +++ /dev/null @@ -1,45 +0,0 @@ -/* Copyright (C) 1997-2013 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC 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. - -Under Section 7 of GPL version 3, you are granted additional -permissions described in the GCC Runtime Library Exception, version -3.1, as published by the Free Software Foundation. - -You should have received a copy of the GNU General Public License and -a copy of the GCC Runtime Library Exception along with this program; -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -<http://www.gnu.org/licenses/>. */ - -/* - * ISO C Standard: 7.9 Alternative spellings <iso646.h> - */ - -#ifndef _ISO646_H -#define _ISO646_H - -#ifndef __cplusplus -#define and && -#define and_eq &= -#define bitand & -#define bitor | -#define compl ~ -#define not ! -#define not_eq != -#define or || -#define or_eq |= -#define xor ^ -#define xor_eq ^= -#endif - -#endif diff --git a/lib/gcc/arm-linux-androideabi/4.8/include/mmintrin.h b/lib/gcc/arm-linux-androideabi/4.8/include/mmintrin.h deleted file mode 100644 index 7e0360f..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/include/mmintrin.h +++ /dev/null @@ -1,1836 +0,0 @@ -/* Copyright (C) 2002-2013 Free Software Foundation, Inc. - - This file is part of GCC. - - GCC is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published - by the Free Software Foundation; either version 3, or (at your - option) any later version. - - GCC 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. - - Under Section 7 of GPL version 3, you are granted additional - permissions described in the GCC Runtime Library Exception, version - 3.1, as published by the Free Software Foundation. - - You should have received a copy of the GNU General Public License and - a copy of the GCC Runtime Library Exception along with this program; - see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - <http://www.gnu.org/licenses/>. */ - -#ifndef _MMINTRIN_H_INCLUDED -#define _MMINTRIN_H_INCLUDED - -#ifndef __IWMMXT__ -#error mmintrin.h included without enabling WMMX/WMMX2 instructions (e.g. -march=iwmmxt or -march=iwmmxt2) -#endif - - -#if defined __cplusplus -extern "C" { -/* Intrinsics use C name-mangling. */ -#endif /* __cplusplus */ - -/* The data type intended for user use. */ -typedef unsigned long long __m64, __int64; - -/* Internal data types for implementing the intrinsics. */ -typedef int __v2si __attribute__ ((vector_size (8))); -typedef short __v4hi __attribute__ ((vector_size (8))); -typedef signed char __v8qi __attribute__ ((vector_size (8))); - -/* Provided for source compatibility with MMX. */ -extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) -_mm_empty (void) -{ -} - -/* "Convert" __m64 and __int64 into each other. */ -static __inline __m64 -_mm_cvtsi64_m64 (__int64 __i) -{ - return __i; -} - -static __inline __int64 -_mm_cvtm64_si64 (__m64 __i) -{ - return __i; -} - -static __inline int -_mm_cvtsi64_si32 (__int64 __i) -{ - return __i; -} - -static __inline __int64 -_mm_cvtsi32_si64 (int __i) -{ - return (__i & 0xffffffff); -} - -/* Pack the four 16-bit values from M1 into the lower four 8-bit values of - the result, and the four 16-bit values from M2 into the upper four 8-bit - values of the result, all with signed saturation. */ -static __inline __m64 -_mm_packs_pi16 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_wpackhss ((__v4hi)__m1, (__v4hi)__m2); -} - -/* Pack the two 32-bit values from M1 in to the lower two 16-bit values of - the result, and the two 32-bit values from M2 into the upper two 16-bit - values of the result, all with signed saturation. */ -static __inline __m64 -_mm_packs_pi32 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_wpackwss ((__v2si)__m1, (__v2si)__m2); -} - -/* Copy the 64-bit value from M1 into the lower 32-bits of the result, and - the 64-bit value from M2 into the upper 32-bits of the result, all with - signed saturation for values that do not fit exactly into 32-bits. */ -static __inline __m64 -_mm_packs_pi64 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_wpackdss ((long long)__m1, (long long)__m2); -} - -/* Pack the four 16-bit values from M1 into the lower four 8-bit values of - the result, and the four 16-bit values from M2 into the upper four 8-bit - values of the result, all with unsigned saturation. */ -static __inline __m64 -_mm_packs_pu16 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_wpackhus ((__v4hi)__m1, (__v4hi)__m2); -} - -/* Pack the two 32-bit values from M1 into the lower two 16-bit values of - the result, and the two 32-bit values from M2 into the upper two 16-bit - values of the result, all with unsigned saturation. */ -static __inline __m64 -_mm_packs_pu32 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_wpackwus ((__v2si)__m1, (__v2si)__m2); -} - -/* Copy the 64-bit value from M1 into the lower 32-bits of the result, and - the 64-bit value from M2 into the upper 32-bits of the result, all with - unsigned saturation for values that do not fit exactly into 32-bits. */ -static __inline __m64 -_mm_packs_pu64 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_wpackdus ((long long)__m1, (long long)__m2); -} - -/* Interleave the four 8-bit values from the high half of M1 with the four - 8-bit values from the high half of M2. */ -static __inline __m64 -_mm_unpackhi_pi8 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_wunpckihb ((__v8qi)__m1, (__v8qi)__m2); -} - -/* Interleave the two 16-bit values from the high half of M1 with the two - 16-bit values from the high half of M2. */ -static __inline __m64 -_mm_unpackhi_pi16 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_wunpckihh ((__v4hi)__m1, (__v4hi)__m2); -} - -/* Interleave the 32-bit value from the high half of M1 with the 32-bit - value from the high half of M2. */ -static __inline __m64 -_mm_unpackhi_pi32 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_wunpckihw ((__v2si)__m1, (__v2si)__m2); -} - -/* Interleave the four 8-bit values from the low half of M1 with the four - 8-bit values from the low half of M2. */ -static __inline __m64 -_mm_unpacklo_pi8 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_wunpckilb ((__v8qi)__m1, (__v8qi)__m2); -} - -/* Interleave the two 16-bit values from the low half of M1 with the two - 16-bit values from the low half of M2. */ -static __inline __m64 -_mm_unpacklo_pi16 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_wunpckilh ((__v4hi)__m1, (__v4hi)__m2); -} - -/* Interleave the 32-bit value from the low half of M1 with the 32-bit - value from the low half of M2. */ -static __inline __m64 -_mm_unpacklo_pi32 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_wunpckilw ((__v2si)__m1, (__v2si)__m2); -} - -/* Take the four 8-bit values from the low half of M1, sign extend them, - and return the result as a vector of four 16-bit quantities. */ -static __inline __m64 -_mm_unpackel_pi8 (__m64 __m1) -{ - return (__m64) __builtin_arm_wunpckelsb ((__v8qi)__m1); -} - -/* Take the two 16-bit values from the low half of M1, sign extend them, - and return the result as a vector of two 32-bit quantities. */ -static __inline __m64 -_mm_unpackel_pi16 (__m64 __m1) -{ - return (__m64) __builtin_arm_wunpckelsh ((__v4hi)__m1); -} - -/* Take the 32-bit value from the low half of M1, and return it sign extended - to 64 bits. */ -static __inline __m64 -_mm_unpackel_pi32 (__m64 __m1) -{ - return (__m64) __builtin_arm_wunpckelsw ((__v2si)__m1); -} - -/* Take the four 8-bit values from the high half of M1, sign extend them, - and return the result as a vector of four 16-bit quantities. */ -static __inline __m64 -_mm_unpackeh_pi8 (__m64 __m1) -{ - return (__m64) __builtin_arm_wunpckehsb ((__v8qi)__m1); -} - -/* Take the two 16-bit values from the high half of M1, sign extend them, - and return the result as a vector of two 32-bit quantities. */ -static __inline __m64 -_mm_unpackeh_pi16 (__m64 __m1) -{ - return (__m64) __builtin_arm_wunpckehsh ((__v4hi)__m1); -} - -/* Take the 32-bit value from the high half of M1, and return it sign extended - to 64 bits. */ -static __inline __m64 -_mm_unpackeh_pi32 (__m64 __m1) -{ - return (__m64) __builtin_arm_wunpckehsw ((__v2si)__m1); -} - -/* Take the four 8-bit values from the low half of M1, zero extend them, - and return the result as a vector of four 16-bit quantities. */ -static __inline __m64 -_mm_unpackel_pu8 (__m64 __m1) -{ - return (__m64) __builtin_arm_wunpckelub ((__v8qi)__m1); -} - -/* Take the two 16-bit values from the low half of M1, zero extend them, - and return the result as a vector of two 32-bit quantities. */ -static __inline __m64 -_mm_unpackel_pu16 (__m64 __m1) -{ - return (__m64) __builtin_arm_wunpckeluh ((__v4hi)__m1); -} - -/* Take the 32-bit value from the low half of M1, and return it zero extended - to 64 bits. */ -static __inline __m64 -_mm_unpackel_pu32 (__m64 __m1) -{ - return (__m64) __builtin_arm_wunpckeluw ((__v2si)__m1); -} - -/* Take the four 8-bit values from the high half of M1, zero extend them, - and return the result as a vector of four 16-bit quantities. */ -static __inline __m64 -_mm_unpackeh_pu8 (__m64 __m1) -{ - return (__m64) __builtin_arm_wunpckehub ((__v8qi)__m1); -} - -/* Take the two 16-bit values from the high half of M1, zero extend them, - and return the result as a vector of two 32-bit quantities. */ -static __inline __m64 -_mm_unpackeh_pu16 (__m64 __m1) -{ - return (__m64) __builtin_arm_wunpckehuh ((__v4hi)__m1); -} - -/* Take the 32-bit value from the high half of M1, and return it zero extended - to 64 bits. */ -static __inline __m64 -_mm_unpackeh_pu32 (__m64 __m1) -{ - return (__m64) __builtin_arm_wunpckehuw ((__v2si)__m1); -} - -/* Add the 8-bit values in M1 to the 8-bit values in M2. */ -static __inline __m64 -_mm_add_pi8 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_waddb ((__v8qi)__m1, (__v8qi)__m2); -} - -/* Add the 16-bit values in M1 to the 16-bit values in M2. */ -static __inline __m64 -_mm_add_pi16 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_waddh ((__v4hi)__m1, (__v4hi)__m2); -} - -/* Add the 32-bit values in M1 to the 32-bit values in M2. */ -static __inline __m64 -_mm_add_pi32 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_waddw ((__v2si)__m1, (__v2si)__m2); -} - -/* Add the 8-bit values in M1 to the 8-bit values in M2 using signed - saturated arithmetic. */ -static __inline __m64 -_mm_adds_pi8 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_waddbss ((__v8qi)__m1, (__v8qi)__m2); -} - -/* Add the 16-bit values in M1 to the 16-bit values in M2 using signed - saturated arithmetic. */ -static __inline __m64 -_mm_adds_pi16 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_waddhss ((__v4hi)__m1, (__v4hi)__m2); -} - -/* Add the 32-bit values in M1 to the 32-bit values in M2 using signed - saturated arithmetic. */ -static __inline __m64 -_mm_adds_pi32 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_waddwss ((__v2si)__m1, (__v2si)__m2); -} - -/* Add the 8-bit values in M1 to the 8-bit values in M2 using unsigned - saturated arithmetic. */ -static __inline __m64 -_mm_adds_pu8 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_waddbus ((__v8qi)__m1, (__v8qi)__m2); -} - -/* Add the 16-bit values in M1 to the 16-bit values in M2 using unsigned - saturated arithmetic. */ -static __inline __m64 -_mm_adds_pu16 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_waddhus ((__v4hi)__m1, (__v4hi)__m2); -} - -/* Add the 32-bit values in M1 to the 32-bit values in M2 using unsigned - saturated arithmetic. */ -static __inline __m64 -_mm_adds_pu32 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_waddwus ((__v2si)__m1, (__v2si)__m2); -} - -/* Subtract the 8-bit values in M2 from the 8-bit values in M1. */ -static __inline __m64 -_mm_sub_pi8 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_wsubb ((__v8qi)__m1, (__v8qi)__m2); -} - -/* Subtract the 16-bit values in M2 from the 16-bit values in M1. */ -static __inline __m64 -_mm_sub_pi16 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_wsubh ((__v4hi)__m1, (__v4hi)__m2); -} - -/* Subtract the 32-bit values in M2 from the 32-bit values in M1. */ -static __inline __m64 -_mm_sub_pi32 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_wsubw ((__v2si)__m1, (__v2si)__m2); -} - -/* Subtract the 8-bit values in M2 from the 8-bit values in M1 using signed - saturating arithmetic. */ -static __inline __m64 -_mm_subs_pi8 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_wsubbss ((__v8qi)__m1, (__v8qi)__m2); -} - -/* Subtract the 16-bit values in M2 from the 16-bit values in M1 using - signed saturating arithmetic. */ -static __inline __m64 -_mm_subs_pi16 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_wsubhss ((__v4hi)__m1, (__v4hi)__m2); -} - -/* Subtract the 32-bit values in M2 from the 32-bit values in M1 using - signed saturating arithmetic. */ -static __inline __m64 -_mm_subs_pi32 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_wsubwss ((__v2si)__m1, (__v2si)__m2); -} - -/* Subtract the 8-bit values in M2 from the 8-bit values in M1 using - unsigned saturating arithmetic. */ -static __inline __m64 -_mm_subs_pu8 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_wsubbus ((__v8qi)__m1, (__v8qi)__m2); -} - -/* Subtract the 16-bit values in M2 from the 16-bit values in M1 using - unsigned saturating arithmetic. */ -static __inline __m64 -_mm_subs_pu16 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_wsubhus ((__v4hi)__m1, (__v4hi)__m2); -} - -/* Subtract the 32-bit values in M2 from the 32-bit values in M1 using - unsigned saturating arithmetic. */ -static __inline __m64 -_mm_subs_pu32 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_wsubwus ((__v2si)__m1, (__v2si)__m2); -} - -/* Multiply four 16-bit values in M1 by four 16-bit values in M2 producing - four 32-bit intermediate results, which are then summed by pairs to - produce two 32-bit results. */ -static __inline __m64 -_mm_madd_pi16 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_wmadds ((__v4hi)__m1, (__v4hi)__m2); -} - -/* Multiply four 16-bit values in M1 by four 16-bit values in M2 producing - four 32-bit intermediate results, which are then summed by pairs to - produce two 32-bit results. */ -static __inline __m64 -_mm_madd_pu16 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_wmaddu ((__v4hi)__m1, (__v4hi)__m2); -} - -/* Multiply four signed 16-bit values in M1 by four signed 16-bit values in - M2 and produce the high 16 bits of the 32-bit results. */ -static __inline __m64 -_mm_mulhi_pi16 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_wmulsm ((__v4hi)__m1, (__v4hi)__m2); -} - -/* Multiply four signed 16-bit values in M1 by four signed 16-bit values in - M2 and produce the high 16 bits of the 32-bit results. */ -static __inline __m64 -_mm_mulhi_pu16 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_wmulum ((__v4hi)__m1, (__v4hi)__m2); -} - -/* Multiply four 16-bit values in M1 by four 16-bit values in M2 and produce - the low 16 bits of the results. */ -static __inline __m64 -_mm_mullo_pi16 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_wmulul ((__v4hi)__m1, (__v4hi)__m2); -} - -/* Shift four 16-bit values in M left by COUNT. */ -static __inline __m64 -_mm_sll_pi16 (__m64 __m, __m64 __count) -{ - return (__m64) __builtin_arm_wsllh ((__v4hi)__m, __count); -} - -static __inline __m64 -_mm_slli_pi16 (__m64 __m, int __count) -{ - return (__m64) __builtin_arm_wsllhi ((__v4hi)__m, __count); -} - -/* Shift two 32-bit values in M left by COUNT. */ -static __inline __m64 -_mm_sll_pi32 (__m64 __m, __m64 __count) -{ - return (__m64) __builtin_arm_wsllw ((__v2si)__m, __count); -} - -static __inline __m64 -_mm_slli_pi32 (__m64 __m, int __count) -{ - return (__m64) __builtin_arm_wsllwi ((__v2si)__m, __count); -} - -/* Shift the 64-bit value in M left by COUNT. */ -static __inline __m64 -_mm_sll_si64 (__m64 __m, __m64 __count) -{ - return (__m64) __builtin_arm_wslld (__m, __count); -} - -static __inline __m64 -_mm_slli_si64 (__m64 __m, int __count) -{ - return (__m64) __builtin_arm_wslldi (__m, __count); -} - -/* Shift four 16-bit values in M right by COUNT; shift in the sign bit. */ -static __inline __m64 -_mm_sra_pi16 (__m64 __m, __m64 __count) -{ - return (__m64) __builtin_arm_wsrah ((__v4hi)__m, __count); -} - -static __inline __m64 -_mm_srai_pi16 (__m64 __m, int __count) -{ - return (__m64) __builtin_arm_wsrahi ((__v4hi)__m, __count); -} - -/* Shift two 32-bit values in M right by COUNT; shift in the sign bit. */ -static __inline __m64 -_mm_sra_pi32 (__m64 __m, __m64 __count) -{ - return (__m64) __builtin_arm_wsraw ((__v2si)__m, __count); -} - -static __inline __m64 -_mm_srai_pi32 (__m64 __m, int __count) -{ - return (__m64) __builtin_arm_wsrawi ((__v2si)__m, __count); -} - -/* Shift the 64-bit value in M right by COUNT; shift in the sign bit. */ -static __inline __m64 -_mm_sra_si64 (__m64 __m, __m64 __count) -{ - return (__m64) __builtin_arm_wsrad (__m, __count); -} - -static __inline __m64 -_mm_srai_si64 (__m64 __m, int __count) -{ - return (__m64) __builtin_arm_wsradi (__m, __count); -} - -/* Shift four 16-bit values in M right by COUNT; shift in zeros. */ -static __inline __m64 -_mm_srl_pi16 (__m64 __m, __m64 __count) -{ - return (__m64) __builtin_arm_wsrlh ((__v4hi)__m, __count); -} - -static __inline __m64 -_mm_srli_pi16 (__m64 __m, int __count) -{ - return (__m64) __builtin_arm_wsrlhi ((__v4hi)__m, __count); -} - -/* Shift two 32-bit values in M right by COUNT; shift in zeros. */ -static __inline __m64 -_mm_srl_pi32 (__m64 __m, __m64 __count) -{ - return (__m64) __builtin_arm_wsrlw ((__v2si)__m, __count); -} - -static __inline __m64 -_mm_srli_pi32 (__m64 __m, int __count) -{ - return (__m64) __builtin_arm_wsrlwi ((__v2si)__m, __count); -} - -/* Shift the 64-bit value in M left by COUNT; shift in zeros. */ -static __inline __m64 -_mm_srl_si64 (__m64 __m, __m64 __count) -{ - return (__m64) __builtin_arm_wsrld (__m, __count); -} - -static __inline __m64 -_mm_srli_si64 (__m64 __m, int __count) -{ - return (__m64) __builtin_arm_wsrldi (__m, __count); -} - -/* Rotate four 16-bit values in M right by COUNT. */ -static __inline __m64 -_mm_ror_pi16 (__m64 __m, __m64 __count) -{ - return (__m64) __builtin_arm_wrorh ((__v4hi)__m, __count); -} - -static __inline __m64 -_mm_rori_pi16 (__m64 __m, int __count) -{ - return (__m64) __builtin_arm_wrorhi ((__v4hi)__m, __count); -} - -/* Rotate two 32-bit values in M right by COUNT. */ -static __inline __m64 -_mm_ror_pi32 (__m64 __m, __m64 __count) -{ - return (__m64) __builtin_arm_wrorw ((__v2si)__m, __count); -} - -static __inline __m64 -_mm_rori_pi32 (__m64 __m, int __count) -{ - return (__m64) __builtin_arm_wrorwi ((__v2si)__m, __count); -} - -/* Rotate two 64-bit values in M right by COUNT. */ -static __inline __m64 -_mm_ror_si64 (__m64 __m, __m64 __count) -{ - return (__m64) __builtin_arm_wrord (__m, __count); -} - -static __inline __m64 -_mm_rori_si64 (__m64 __m, int __count) -{ - return (__m64) __builtin_arm_wrordi (__m, __count); -} - -/* Bit-wise AND the 64-bit values in M1 and M2. */ -static __inline __m64 -_mm_and_si64 (__m64 __m1, __m64 __m2) -{ - return __builtin_arm_wand (__m1, __m2); -} - -/* Bit-wise complement the 64-bit value in M1 and bit-wise AND it with the - 64-bit value in M2. */ -static __inline __m64 -_mm_andnot_si64 (__m64 __m1, __m64 __m2) -{ - return __builtin_arm_wandn (__m2, __m1); -} - -/* Bit-wise inclusive OR the 64-bit values in M1 and M2. */ -static __inline __m64 -_mm_or_si64 (__m64 __m1, __m64 __m2) -{ - return __builtin_arm_wor (__m1, __m2); -} - -/* Bit-wise exclusive OR the 64-bit values in M1 and M2. */ -static __inline __m64 -_mm_xor_si64 (__m64 __m1, __m64 __m2) -{ - return __builtin_arm_wxor (__m1, __m2); -} - -/* Compare eight 8-bit values. The result of the comparison is 0xFF if the - test is true and zero if false. */ -static __inline __m64 -_mm_cmpeq_pi8 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_wcmpeqb ((__v8qi)__m1, (__v8qi)__m2); -} - -static __inline __m64 -_mm_cmpgt_pi8 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_wcmpgtsb ((__v8qi)__m1, (__v8qi)__m2); -} - -static __inline __m64 -_mm_cmpgt_pu8 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_wcmpgtub ((__v8qi)__m1, (__v8qi)__m2); -} - -/* Compare four 16-bit values. The result of the comparison is 0xFFFF if - the test is true and zero if false. */ -static __inline __m64 -_mm_cmpeq_pi16 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_wcmpeqh ((__v4hi)__m1, (__v4hi)__m2); -} - -static __inline __m64 -_mm_cmpgt_pi16 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_wcmpgtsh ((__v4hi)__m1, (__v4hi)__m2); -} - -static __inline __m64 -_mm_cmpgt_pu16 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_wcmpgtuh ((__v4hi)__m1, (__v4hi)__m2); -} - -/* Compare two 32-bit values. The result of the comparison is 0xFFFFFFFF if - the test is true and zero if false. */ -static __inline __m64 -_mm_cmpeq_pi32 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_wcmpeqw ((__v2si)__m1, (__v2si)__m2); -} - -static __inline __m64 -_mm_cmpgt_pi32 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_wcmpgtsw ((__v2si)__m1, (__v2si)__m2); -} - -static __inline __m64 -_mm_cmpgt_pu32 (__m64 __m1, __m64 __m2) -{ - return (__m64) __builtin_arm_wcmpgtuw ((__v2si)__m1, (__v2si)__m2); -} - -/* Element-wise multiplication of unsigned 16-bit values __B and __C, followed - by accumulate across all elements and __A. */ -static __inline __m64 -_mm_mac_pu16 (__m64 __A, __m64 __B, __m64 __C) -{ - return __builtin_arm_wmacu (__A, (__v4hi)__B, (__v4hi)__C); -} - -/* Element-wise multiplication of signed 16-bit values __B and __C, followed - by accumulate across all elements and __A. */ -static __inline __m64 -_mm_mac_pi16 (__m64 __A, __m64 __B, __m64 __C) -{ - return __builtin_arm_wmacs (__A, (__v4hi)__B, (__v4hi)__C); -} - -/* Element-wise multiplication of unsigned 16-bit values __B and __C, followed - by accumulate across all elements. */ -static __inline __m64 -_mm_macz_pu16 (__m64 __A, __m64 __B) -{ - return __builtin_arm_wmacuz ((__v4hi)__A, (__v4hi)__B); -} - -/* Element-wise multiplication of signed 16-bit values __B and __C, followed - by accumulate across all elements. */ -static __inline __m64 -_mm_macz_pi16 (__m64 __A, __m64 __B) -{ - return __builtin_arm_wmacsz ((__v4hi)__A, (__v4hi)__B); -} - -/* Accumulate across all unsigned 8-bit values in __A. */ -static __inline __m64 -_mm_acc_pu8 (__m64 __A) -{ - return __builtin_arm_waccb ((__v8qi)__A); -} - -/* Accumulate across all unsigned 16-bit values in __A. */ -static __inline __m64 -_mm_acc_pu16 (__m64 __A) -{ - return __builtin_arm_wacch ((__v4hi)__A); -} - -/* Accumulate across all unsigned 32-bit values in __A. */ -static __inline __m64 -_mm_acc_pu32 (__m64 __A) -{ - return __builtin_arm_waccw ((__v2si)__A); -} - -static __inline __m64 -_mm_mia_si64 (__m64 __A, int __B, int __C) -{ - return __builtin_arm_tmia (__A, __B, __C); -} - -static __inline __m64 -_mm_miaph_si64 (__m64 __A, int __B, int __C) -{ - return __builtin_arm_tmiaph (__A, __B, __C); -} - -static __inline __m64 -_mm_miabb_si64 (__m64 __A, int __B, int __C) -{ - return __builtin_arm_tmiabb (__A, __B, __C); -} - -static __inline __m64 -_mm_miabt_si64 (__m64 __A, int __B, int __C) -{ - return __builtin_arm_tmiabt (__A, __B, __C); -} - -static __inline __m64 -_mm_miatb_si64 (__m64 __A, int __B, int __C) -{ - return __builtin_arm_tmiatb (__A, __B, __C); -} - -static __inline __m64 -_mm_miatt_si64 (__m64 __A, int __B, int __C) -{ - return __builtin_arm_tmiatt (__A, __B, __C); -} - -/* Extract one of the elements of A and sign extend. The selector N must - be immediate. */ -#define _mm_extract_pi8(A, N) __builtin_arm_textrmsb ((__v8qi)(A), (N)) -#define _mm_extract_pi16(A, N) __builtin_arm_textrmsh ((__v4hi)(A), (N)) -#define _mm_extract_pi32(A, N) __builtin_arm_textrmsw ((__v2si)(A), (N)) - -/* Extract one of the elements of A and zero extend. The selector N must - be immediate. */ -#define _mm_extract_pu8(A, N) __builtin_arm_textrmub ((__v8qi)(A), (N)) -#define _mm_extract_pu16(A, N) __builtin_arm_textrmuh ((__v4hi)(A), (N)) -#define _mm_extract_pu32(A, N) __builtin_arm_textrmuw ((__v2si)(A), (N)) - -/* Inserts word D into one of the elements of A. The selector N must be - immediate. */ -#define _mm_insert_pi8(A, D, N) \ - ((__m64) __builtin_arm_tinsrb ((__v8qi)(A), (D), (N))) -#define _mm_insert_pi16(A, D, N) \ - ((__m64) __builtin_arm_tinsrh ((__v4hi)(A), (D), (N))) -#define _mm_insert_pi32(A, D, N) \ - ((__m64) __builtin_arm_tinsrw ((__v2si)(A), (D), (N))) - -/* Compute the element-wise maximum of signed 8-bit values. */ -static __inline __m64 -_mm_max_pi8 (__m64 __A, __m64 __B) -{ - return (__m64) __builtin_arm_wmaxsb ((__v8qi)__A, (__v8qi)__B); -} - -/* Compute the element-wise maximum of signed 16-bit values. */ -static __inline __m64 -_mm_max_pi16 (__m64 __A, __m64 __B) -{ - return (__m64) __builtin_arm_wmaxsh ((__v4hi)__A, (__v4hi)__B); -} - -/* Compute the element-wise maximum of signed 32-bit values. */ -static __inline __m64 -_mm_max_pi32 (__m64 __A, __m64 __B) -{ - return (__m64) __builtin_arm_wmaxsw ((__v2si)__A, (__v2si)__B); -} - -/* Compute the element-wise maximum of unsigned 8-bit values. */ -static __inline __m64 -_mm_max_pu8 (__m64 __A, __m64 __B) -{ - return (__m64) __builtin_arm_wmaxub ((__v8qi)__A, (__v8qi)__B); -} - -/* Compute the element-wise maximum of unsigned 16-bit values. */ -static __inline __m64 -_mm_max_pu16 (__m64 __A, __m64 __B) -{ - return (__m64) __builtin_arm_wmaxuh ((__v4hi)__A, (__v4hi)__B); -} - -/* Compute the element-wise maximum of unsigned 32-bit values. */ -static __inline __m64 -_mm_max_pu32 (__m64 __A, __m64 __B) -{ - return (__m64) __builtin_arm_wmaxuw ((__v2si)__A, (__v2si)__B); -} - -/* Compute the element-wise minimum of signed 16-bit values. */ -static __inline __m64 -_mm_min_pi8 (__m64 __A, __m64 __B) -{ - return (__m64) __builtin_arm_wminsb ((__v8qi)__A, (__v8qi)__B); -} - -/* Compute the element-wise minimum of signed 16-bit values. */ -static __inline __m64 -_mm_min_pi16 (__m64 __A, __m64 __B) -{ - return (__m64) __builtin_arm_wminsh ((__v4hi)__A, (__v4hi)__B); -} - -/* Compute the element-wise minimum of signed 32-bit values. */ -static __inline __m64 -_mm_min_pi32 (__m64 __A, __m64 __B) -{ - return (__m64) __builtin_arm_wminsw ((__v2si)__A, (__v2si)__B); -} - -/* Compute the element-wise minimum of unsigned 16-bit values. */ -static __inline __m64 -_mm_min_pu8 (__m64 __A, __m64 __B) -{ - return (__m64) __builtin_arm_wminub ((__v8qi)__A, (__v8qi)__B); -} - -/* Compute the element-wise minimum of unsigned 16-bit values. */ -static __inline __m64 -_mm_min_pu16 (__m64 __A, __m64 __B) -{ - return (__m64) __builtin_arm_wminuh ((__v4hi)__A, (__v4hi)__B); -} - -/* Compute the element-wise minimum of unsigned 32-bit values. */ -static __inline __m64 -_mm_min_pu32 (__m64 __A, __m64 __B) -{ - return (__m64) __builtin_arm_wminuw ((__v2si)__A, (__v2si)__B); -} - -/* Create an 8-bit mask of the signs of 8-bit values. */ -static __inline int -_mm_movemask_pi8 (__m64 __A) -{ - return __builtin_arm_tmovmskb ((__v8qi)__A); -} - -/* Create an 8-bit mask of the signs of 16-bit values. */ -static __inline int -_mm_movemask_pi16 (__m64 __A) -{ - return __builtin_arm_tmovmskh ((__v4hi)__A); -} - -/* Create an 8-bit mask of the signs of 32-bit values. */ -static __inline int -_mm_movemask_pi32 (__m64 __A) -{ - return __builtin_arm_tmovmskw ((__v2si)__A); -} - -/* Return a combination of the four 16-bit values in A. The selector - must be an immediate. */ -#define _mm_shuffle_pi16(A, N) \ - ((__m64) __builtin_arm_wshufh ((__v4hi)(A), (N))) - - -/* Compute the rounded averages of the unsigned 8-bit values in A and B. */ -static __inline __m64 -_mm_avg_pu8 (__m64 __A, __m64 __B) -{ - return (__m64) __builtin_arm_wavg2br ((__v8qi)__A, (__v8qi)__B); -} - -/* Compute the rounded averages of the unsigned 16-bit values in A and B. */ -static __inline __m64 -_mm_avg_pu16 (__m64 __A, __m64 __B) -{ - return (__m64) __builtin_arm_wavg2hr ((__v4hi)__A, (__v4hi)__B); -} - -/* Compute the averages of the unsigned 8-bit values in A and B. */ -static __inline __m64 -_mm_avg2_pu8 (__m64 __A, __m64 __B) -{ - return (__m64) __builtin_arm_wavg2b ((__v8qi)__A, (__v8qi)__B); -} - -/* Compute the averages of the unsigned 16-bit values in A and B. */ -static __inline __m64 -_mm_avg2_pu16 (__m64 __A, __m64 __B) -{ - return (__m64) __builtin_arm_wavg2h ((__v4hi)__A, (__v4hi)__B); -} - -/* Compute the sum of the absolute differences of the unsigned 8-bit - values in A and B. Return the value in the lower 16-bit word; the - upper words are cleared. */ -static __inline __m64 -_mm_sad_pu8 (__m64 __A, __m64 __B) -{ - return (__m64) __builtin_arm_wsadbz ((__v8qi)__A, (__v8qi)__B); -} - -static __inline __m64 -_mm_sada_pu8 (__m64 __A, __m64 __B, __m64 __C) -{ - return (__m64) __builtin_arm_wsadb ((__v2si)__A, (__v8qi)__B, (__v8qi)__C); -} - -/* Compute the sum of the absolute differences of the unsigned 16-bit - values in A and B. Return the value in the lower 32-bit word; the - upper words are cleared. */ -static __inline __m64 -_mm_sad_pu16 (__m64 __A, __m64 __B) -{ - return (__m64) __builtin_arm_wsadhz ((__v4hi)__A, (__v4hi)__B); -} - -static __inline __m64 -_mm_sada_pu16 (__m64 __A, __m64 __B, __m64 __C) -{ - return (__m64) __builtin_arm_wsadh ((__v2si)__A, (__v4hi)__B, (__v4hi)__C); -} - - -/* Compute the sum of the absolute differences of the unsigned 8-bit - values in A and B. Return the value in the lower 16-bit word; the - upper words are cleared. */ -static __inline __m64 -_mm_sadz_pu8 (__m64 __A, __m64 __B) -{ - return (__m64) __builtin_arm_wsadbz ((__v8qi)__A, (__v8qi)__B); -} - -/* Compute the sum of the absolute differences of the unsigned 16-bit - values in A and B. Return the value in the lower 32-bit word; the - upper words are cleared. */ -static __inline __m64 -_mm_sadz_pu16 (__m64 __A, __m64 __B) -{ - return (__m64) __builtin_arm_wsadhz ((__v4hi)__A, (__v4hi)__B); -} - -#define _mm_align_si64(__A,__B, N) \ - (__m64) __builtin_arm_walign ((__v8qi) (__A),(__v8qi) (__B), (N)) - -/* Creates a 64-bit zero. */ -static __inline __m64 -_mm_setzero_si64 (void) -{ - return __builtin_arm_wzero (); -} - -/* Set and Get arbitrary iWMMXt Control registers. - Note only registers 0-3 and 8-11 are currently defined, - the rest are reserved. */ - -static __inline void -_mm_setwcx (const int __value, const int __regno) -{ - switch (__regno) - { - case 0: - __asm __volatile ("tmcr wcid, %0" :: "r"(__value)); - break; - case 1: - __asm __volatile ("tmcr wcon, %0" :: "r"(__value)); - break; - case 2: - __asm __volatile ("tmcr wcssf, %0" :: "r"(__value)); - break; - case 3: - __asm __volatile ("tmcr wcasf, %0" :: "r"(__value)); - break; - case 8: - __builtin_arm_setwcgr0 (__value); - break; - case 9: - __builtin_arm_setwcgr1 (__value); - break; - case 10: - __builtin_arm_setwcgr2 (__value); - break; - case 11: - __builtin_arm_setwcgr3 (__value); - break; - default: - break; - } -} - -static __inline int -_mm_getwcx (const int __regno) -{ - int __value; - switch (__regno) - { - case 0: - __asm __volatile ("tmrc %0, wcid" : "=r"(__value)); - break; - case 1: - __asm __volatile ("tmrc %0, wcon" : "=r"(__value)); - break; - case 2: - __asm __volatile ("tmrc %0, wcssf" : "=r"(__value)); - break; - case 3: - __asm __volatile ("tmrc %0, wcasf" : "=r"(__value)); - break; - case 8: - return __builtin_arm_getwcgr0 (); - case 9: - return __builtin_arm_getwcgr1 (); - case 10: - return __builtin_arm_getwcgr2 (); - case 11: - return __builtin_arm_getwcgr3 (); - default: - break; - } - return __value; -} - -/* Creates a vector of two 32-bit values; I0 is least significant. */ -static __inline __m64 -_mm_set_pi32 (int __i1, int __i0) -{ - union - { - __m64 __q; - struct - { - unsigned int __i0; - unsigned int __i1; - } __s; - } __u; - - __u.__s.__i0 = __i0; - __u.__s.__i1 = __i1; - - return __u.__q; -} - -/* Creates a vector of four 16-bit values; W0 is least significant. */ -static __inline __m64 -_mm_set_pi16 (short __w3, short __w2, short __w1, short __w0) -{ - unsigned int __i1 = (unsigned short) __w3 << 16 | (unsigned short) __w2; - unsigned int __i0 = (unsigned short) __w1 << 16 | (unsigned short) __w0; - - return _mm_set_pi32 (__i1, __i0); -} - -/* Creates a vector of eight 8-bit values; B0 is least significant. */ -static __inline __m64 -_mm_set_pi8 (char __b7, char __b6, char __b5, char __b4, - char __b3, char __b2, char __b1, char __b0) -{ - unsigned int __i1, __i0; - - __i1 = (unsigned char)__b7; - __i1 = __i1 << 8 | (unsigned char)__b6; - __i1 = __i1 << 8 | (unsigned char)__b5; - __i1 = __i1 << 8 | (unsigned char)__b4; - - __i0 = (unsigned char)__b3; - __i0 = __i0 << 8 | (unsigned char)__b2; - __i0 = __i0 << 8 | (unsigned char)__b1; - __i0 = __i0 << 8 | (unsigned char)__b0; - - return _mm_set_pi32 (__i1, __i0); -} - -/* Similar, but with the arguments in reverse order. */ -static __inline __m64 -_mm_setr_pi32 (int __i0, int __i1) -{ - return _mm_set_pi32 (__i1, __i0); -} - -static __inline __m64 -_mm_setr_pi16 (short __w0, short __w1, short __w2, short __w3) -{ - return _mm_set_pi16 (__w3, __w2, __w1, __w0); -} - -static __inline __m64 -_mm_setr_pi8 (char __b0, char __b1, char __b2, char __b3, - char __b4, char __b5, char __b6, char __b7) -{ - return _mm_set_pi8 (__b7, __b6, __b5, __b4, __b3, __b2, __b1, __b0); -} - -/* Creates a vector of two 32-bit values, both elements containing I. */ -static __inline __m64 -_mm_set1_pi32 (int __i) -{ - return _mm_set_pi32 (__i, __i); -} - -/* Creates a vector of four 16-bit values, all elements containing W. */ -static __inline __m64 -_mm_set1_pi16 (short __w) -{ - unsigned int __i = (unsigned short)__w << 16 | (unsigned short)__w; - return _mm_set1_pi32 (__i); -} - -/* Creates a vector of four 16-bit values, all elements containing B. */ -static __inline __m64 -_mm_set1_pi8 (char __b) -{ - unsigned int __w = (unsigned char)__b << 8 | (unsigned char)__b; - unsigned int __i = __w << 16 | __w; - return _mm_set1_pi32 (__i); -} - -#ifdef __IWMMXT2__ -static __inline __m64 -_mm_abs_pi8 (__m64 m1) -{ - return (__m64) __builtin_arm_wabsb ((__v8qi)m1); -} - -static __inline __m64 -_mm_abs_pi16 (__m64 m1) -{ - return (__m64) __builtin_arm_wabsh ((__v4hi)m1); - -} - -static __inline __m64 -_mm_abs_pi32 (__m64 m1) -{ - return (__m64) __builtin_arm_wabsw ((__v2si)m1); - -} - -static __inline __m64 -_mm_addsubhx_pi16 (__m64 a, __m64 b) -{ - return (__m64) __builtin_arm_waddsubhx ((__v4hi)a, (__v4hi)b); -} - -static __inline __m64 -_mm_absdiff_pu8 (__m64 a, __m64 b) -{ - return (__m64) __builtin_arm_wabsdiffb ((__v8qi)a, (__v8qi)b); -} - -static __inline __m64 -_mm_absdiff_pu16 (__m64 a, __m64 b) -{ - return (__m64) __builtin_arm_wabsdiffh ((__v4hi)a, (__v4hi)b); -} - -static __inline __m64 -_mm_absdiff_pu32 (__m64 a, __m64 b) -{ - return (__m64) __builtin_arm_wabsdiffw ((__v2si)a, (__v2si)b); -} - -static __inline __m64 -_mm_addc_pu16 (__m64 a, __m64 b) -{ - __m64 result; - __asm__ __volatile__ ("waddhc %0, %1, %2" : "=y" (result) : "y" (a), "y" (b)); - return result; -} - -static __inline __m64 -_mm_addc_pu32 (__m64 a, __m64 b) -{ - __m64 result; - __asm__ __volatile__ ("waddwc %0, %1, %2" : "=y" (result) : "y" (a), "y" (b)); - return result; -} - -static __inline __m64 -_mm_avg4_pu8 (__m64 a, __m64 b) -{ - return (__m64) __builtin_arm_wavg4 ((__v8qi)a, (__v8qi)b); -} - -static __inline __m64 -_mm_avg4r_pu8 (__m64 a, __m64 b) -{ - return (__m64) __builtin_arm_wavg4r ((__v8qi)a, (__v8qi)b); -} - -static __inline __m64 -_mm_maddx_pi16 (__m64 a, __m64 b) -{ - return (__m64) __builtin_arm_wmaddsx ((__v4hi)a, (__v4hi)b); -} - -static __inline __m64 -_mm_maddx_pu16 (__m64 a, __m64 b) -{ - return (__m64) __builtin_arm_wmaddux ((__v4hi)a, (__v4hi)b); -} - -static __inline __m64 -_mm_msub_pi16 (__m64 a, __m64 b) -{ - return (__m64) __builtin_arm_wmaddsn ((__v4hi)a, (__v4hi)b); -} - -static __inline __m64 -_mm_msub_pu16 (__m64 a, __m64 b) -{ - return (__m64) __builtin_arm_wmaddun ((__v4hi)a, (__v4hi)b); -} - -static __inline __m64 -_mm_mulhi_pi32 (__m64 a, __m64 b) -{ - return (__m64) __builtin_arm_wmulwsm ((__v2si)a, (__v2si)b); -} - -static __inline __m64 -_mm_mulhi_pu32 (__m64 a, __m64 b) -{ - return (__m64) __builtin_arm_wmulwum ((__v2si)a, (__v2si)b); -} - -static __inline __m64 -_mm_mulhir_pi16 (__m64 a, __m64 b) -{ - return (__m64) __builtin_arm_wmulsmr ((__v4hi)a, (__v4hi)b); -} - -static __inline __m64 -_mm_mulhir_pi32 (__m64 a, __m64 b) -{ - return (__m64) __builtin_arm_wmulwsmr ((__v2si)a, (__v2si)b); -} - -static __inline __m64 -_mm_mulhir_pu16 (__m64 a, __m64 b) -{ - return (__m64) __builtin_arm_wmulumr ((__v4hi)a, (__v4hi)b); -} - -static __inline __m64 -_mm_mulhir_pu32 (__m64 a, __m64 b) -{ - return (__m64) __builtin_arm_wmulwumr ((__v2si)a, (__v2si)b); -} - -static __inline __m64 -_mm_mullo_pi32 (__m64 a, __m64 b) -{ - return (__m64) __builtin_arm_wmulwl ((__v2si)a, (__v2si)b); -} - -static __inline __m64 -_mm_qmulm_pi16 (__m64 a, __m64 b) -{ - return (__m64) __builtin_arm_wqmulm ((__v4hi)a, (__v4hi)b); -} - -static __inline __m64 -_mm_qmulm_pi32 (__m64 a, __m64 b) -{ - return (__m64) __builtin_arm_wqmulwm ((__v2si)a, (__v2si)b); -} - -static __inline __m64 -_mm_qmulmr_pi16 (__m64 a, __m64 b) -{ - return (__m64) __builtin_arm_wqmulmr ((__v4hi)a, (__v4hi)b); -} - -static __inline __m64 -_mm_qmulmr_pi32 (__m64 a, __m64 b) -{ - return (__m64) __builtin_arm_wqmulwmr ((__v2si)a, (__v2si)b); -} - -static __inline __m64 -_mm_subaddhx_pi16 (__m64 a, __m64 b) -{ - return (__m64) __builtin_arm_wsubaddhx ((__v4hi)a, (__v4hi)b); -} - -static __inline __m64 -_mm_addbhusl_pu8 (__m64 a, __m64 b) -{ - return (__m64) __builtin_arm_waddbhusl ((__v4hi)a, (__v8qi)b); -} - -static __inline __m64 -_mm_addbhusm_pu8 (__m64 a, __m64 b) -{ - return (__m64) __builtin_arm_waddbhusm ((__v4hi)a, (__v8qi)b); -} - -#define _mm_qmiabb_pi32(acc, m1, m2) \ - ({\ - __m64 _acc = acc;\ - __m64 _m1 = m1;\ - __m64 _m2 = m2;\ - _acc = (__m64) __builtin_arm_wqmiabb ((__v2si)_acc, (__v4hi)_m1, (__v4hi)_m2);\ - _acc;\ - }) - -#define _mm_qmiabbn_pi32(acc, m1, m2) \ - ({\ - __m64 _acc = acc;\ - __m64 _m1 = m1;\ - __m64 _m2 = m2;\ - _acc = (__m64) __builtin_arm_wqmiabbn ((__v2si)_acc, (__v4hi)_m1, (__v4hi)_m2);\ - _acc;\ - }) - -#define _mm_qmiabt_pi32(acc, m1, m2) \ - ({\ - __m64 _acc = acc;\ - __m64 _m1 = m1;\ - __m64 _m2 = m2;\ - _acc = (__m64) __builtin_arm_wqmiabt ((__v2si)_acc, (__v4hi)_m1, (__v4hi)_m2);\ - _acc;\ - }) - -#define _mm_qmiabtn_pi32(acc, m1, m2) \ - ({\ - __m64 _acc=acc;\ - __m64 _m1=m1;\ - __m64 _m2=m2;\ - _acc = (__m64) __builtin_arm_wqmiabtn ((__v2si)_acc, (__v4hi)_m1, (__v4hi)_m2);\ - _acc;\ - }) - -#define _mm_qmiatb_pi32(acc, m1, m2) \ - ({\ - __m64 _acc = acc;\ - __m64 _m1 = m1;\ - __m64 _m2 = m2;\ - _acc = (__m64) __builtin_arm_wqmiatb ((__v2si)_acc, (__v4hi)_m1, (__v4hi)_m2);\ - _acc;\ - }) - -#define _mm_qmiatbn_pi32(acc, m1, m2) \ - ({\ - __m64 _acc = acc;\ - __m64 _m1 = m1;\ - __m64 _m2 = m2;\ - _acc = (__m64) __builtin_arm_wqmiatbn ((__v2si)_acc, (__v4hi)_m1, (__v4hi)_m2);\ - _acc;\ - }) - -#define _mm_qmiatt_pi32(acc, m1, m2) \ - ({\ - __m64 _acc = acc;\ - __m64 _m1 = m1;\ - __m64 _m2 = m2;\ - _acc = (__m64) __builtin_arm_wqmiatt ((__v2si)_acc, (__v4hi)_m1, (__v4hi)_m2);\ - _acc;\ - }) - -#define _mm_qmiattn_pi32(acc, m1, m2) \ - ({\ - __m64 _acc = acc;\ - __m64 _m1 = m1;\ - __m64 _m2 = m2;\ - _acc = (__m64) __builtin_arm_wqmiattn ((__v2si)_acc, (__v4hi)_m1, (__v4hi)_m2);\ - _acc;\ - }) - -#define _mm_wmiabb_si64(acc, m1, m2) \ - ({\ - __m64 _acc = acc;\ - __m64 _m1 = m1;\ - __m64 _m2 = m2;\ - _acc = (__m64) __builtin_arm_wmiabb (_acc, (__v4hi)_m1, (__v4hi)_m2);\ - _acc;\ - }) - -#define _mm_wmiabbn_si64(acc, m1, m2) \ - ({\ - __m64 _acc = acc;\ - __m64 _m1 = m1;\ - __m64 _m2 = m2;\ - _acc = (__m64) __builtin_arm_wmiabbn (_acc, (__v4hi)_m1, (__v4hi)_m2);\ - _acc;\ - }) - -#define _mm_wmiabt_si64(acc, m1, m2) \ - ({\ - __m64 _acc = acc;\ - __m64 _m1 = m1;\ - __m64 _m2 = m2;\ - _acc = (__m64) __builtin_arm_wmiabt (_acc, (__v4hi)_m1, (__v4hi)_m2);\ - _acc;\ - }) - -#define _mm_wmiabtn_si64(acc, m1, m2) \ - ({\ - __m64 _acc = acc;\ - __m64 _m1 = m1;\ - __m64 _m2 = m2;\ - _acc = (__m64) __builtin_arm_wmiabtn (_acc, (__v4hi)_m1, (__v4hi)_m2);\ - _acc;\ - }) - -#define _mm_wmiatb_si64(acc, m1, m2) \ - ({\ - __m64 _acc = acc;\ - __m64 _m1 = m1;\ - __m64 _m2 = m2;\ - _acc = (__m64) __builtin_arm_wmiatb (_acc, (__v4hi)_m1, (__v4hi)_m2);\ - _acc;\ - }) - -#define _mm_wmiatbn_si64(acc, m1, m2) \ - ({\ - __m64 _acc = acc;\ - __m64 _m1 = m1;\ - __m64 _m2 = m2;\ - _acc = (__m64) __builtin_arm_wmiatbn (_acc, (__v4hi)_m1, (__v4hi)_m2);\ - _acc;\ - }) - -#define _mm_wmiatt_si64(acc, m1, m2) \ - ({\ - __m64 _acc = acc;\ - __m64 _m1 = m1;\ - __m64 _m2 = m2;\ - _acc = (__m64) __builtin_arm_wmiatt (_acc, (__v4hi)_m1, (__v4hi)_m2);\ - _acc;\ - }) - -#define _mm_wmiattn_si64(acc, m1, m2) \ - ({\ - __m64 _acc = acc;\ - __m64 _m1 = m1;\ - __m64 _m2 = m2;\ - _acc = (__m64) __builtin_arm_wmiattn (_acc, (__v4hi)_m1, (__v4hi)_m2);\ - _acc;\ - }) - -#define _mm_wmiawbb_si64(acc, m1, m2) \ - ({\ - __m64 _acc = acc;\ - __m64 _m1 = m1;\ - __m64 _m2 = m2;\ - _acc = (__m64) __builtin_arm_wmiawbb (_acc, (__v2si)_m1, (__v2si)_m2);\ - _acc;\ - }) - -#define _mm_wmiawbbn_si64(acc, m1, m2) \ - ({\ - __m64 _acc = acc;\ - __m64 _m1 = m1;\ - __m64 _m2 = m2;\ - _acc = (__m64) __builtin_arm_wmiawbbn (_acc, (__v2si)_m1, (__v2si)_m2);\ - _acc;\ - }) - -#define _mm_wmiawbt_si64(acc, m1, m2) \ - ({\ - __m64 _acc = acc;\ - __m64 _m1 = m1;\ - __m64 _m2 = m2;\ - _acc = (__m64) __builtin_arm_wmiawbt (_acc, (__v2si)_m1, (__v2si)_m2);\ - _acc;\ - }) - -#define _mm_wmiawbtn_si64(acc, m1, m2) \ - ({\ - __m64 _acc = acc;\ - __m64 _m1 = m1;\ - __m64 _m2 = m2;\ - _acc = (__m64) __builtin_arm_wmiawbtn (_acc, (__v2si)_m1, (__v2si)_m2);\ - _acc;\ - }) - -#define _mm_wmiawtb_si64(acc, m1, m2) \ - ({\ - __m64 _acc = acc;\ - __m64 _m1 = m1;\ - __m64 _m2 = m2;\ - _acc = (__m64) __builtin_arm_wmiawtb (_acc, (__v2si)_m1, (__v2si)_m2);\ - _acc;\ - }) - -#define _mm_wmiawtbn_si64(acc, m1, m2) \ - ({\ - __m64 _acc = acc;\ - __m64 _m1 = m1;\ - __m64 _m2 = m2;\ - _acc = (__m64) __builtin_arm_wmiawtbn (_acc, (__v2si)_m1, (__v2si)_m2);\ - _acc;\ - }) - -#define _mm_wmiawtt_si64(acc, m1, m2) \ - ({\ - __m64 _acc = acc;\ - __m64 _m1 = m1;\ - __m64 _m2 = m2;\ - _acc = (__m64) __builtin_arm_wmiawtt (_acc, (__v2si)_m1, (__v2si)_m2);\ - _acc;\ - }) - -#define _mm_wmiawttn_si64(acc, m1, m2) \ - ({\ - __m64 _acc = acc;\ - __m64 _m1 = m1;\ - __m64 _m2 = m2;\ - _acc = (__m64) __builtin_arm_wmiawttn (_acc, (__v2si)_m1, (__v2si)_m2);\ - _acc;\ - }) - -/* The third arguments should be an immediate. */ -#define _mm_merge_si64(a, b, n) \ - ({\ - __m64 result;\ - result = (__m64) __builtin_arm_wmerge ((__m64) (a), (__m64) (b), (n));\ - result;\ - }) -#endif /* __IWMMXT2__ */ - -static __inline __m64 -_mm_alignr0_si64 (__m64 a, __m64 b) -{ - return (__m64) __builtin_arm_walignr0 ((__v8qi) a, (__v8qi) b); -} - -static __inline __m64 -_mm_alignr1_si64 (__m64 a, __m64 b) -{ - return (__m64) __builtin_arm_walignr1 ((__v8qi) a, (__v8qi) b); -} - -static __inline __m64 -_mm_alignr2_si64 (__m64 a, __m64 b) -{ - return (__m64) __builtin_arm_walignr2 ((__v8qi) a, (__v8qi) b); -} - -static __inline __m64 -_mm_alignr3_si64 (__m64 a, __m64 b) -{ - return (__m64) __builtin_arm_walignr3 ((__v8qi) a, (__v8qi) b); -} - -static __inline void -_mm_tandcb () -{ - __asm __volatile ("tandcb r15"); -} - -static __inline void -_mm_tandch () -{ - __asm __volatile ("tandch r15"); -} - -static __inline void -_mm_tandcw () -{ - __asm __volatile ("tandcw r15"); -} - -#define _mm_textrcb(n) \ - ({\ - __asm__ __volatile__ (\ - "textrcb r15, %0" : : "i" (n));\ - }) - -#define _mm_textrch(n) \ - ({\ - __asm__ __volatile__ (\ - "textrch r15, %0" : : "i" (n));\ - }) - -#define _mm_textrcw(n) \ - ({\ - __asm__ __volatile__ (\ - "textrcw r15, %0" : : "i" (n));\ - }) - -static __inline void -_mm_torcb () -{ - __asm __volatile ("torcb r15"); -} - -static __inline void -_mm_torch () -{ - __asm __volatile ("torch r15"); -} - -static __inline void -_mm_torcw () -{ - __asm __volatile ("torcw r15"); -} - -#ifdef __IWMMXT2__ -static __inline void -_mm_torvscb () -{ - __asm __volatile ("torvscb r15"); -} - -static __inline void -_mm_torvsch () -{ - __asm __volatile ("torvsch r15"); -} - -static __inline void -_mm_torvscw () -{ - __asm __volatile ("torvscw r15"); -} -#endif /* __IWMMXT2__ */ - -static __inline __m64 -_mm_tbcst_pi8 (int value) -{ - return (__m64) __builtin_arm_tbcstb ((signed char) value); -} - -static __inline __m64 -_mm_tbcst_pi16 (int value) -{ - return (__m64) __builtin_arm_tbcsth ((short) value); -} - -static __inline __m64 -_mm_tbcst_pi32 (int value) -{ - return (__m64) __builtin_arm_tbcstw (value); -} - -#define _m_empty _mm_empty -#define _m_packsswb _mm_packs_pi16 -#define _m_packssdw _mm_packs_pi32 -#define _m_packuswb _mm_packs_pu16 -#define _m_packusdw _mm_packs_pu32 -#define _m_packssqd _mm_packs_pi64 -#define _m_packusqd _mm_packs_pu64 -#define _mm_packs_si64 _mm_packs_pi64 -#define _mm_packs_su64 _mm_packs_pu64 -#define _m_punpckhbw _mm_unpackhi_pi8 -#define _m_punpckhwd _mm_unpackhi_pi16 -#define _m_punpckhdq _mm_unpackhi_pi32 -#define _m_punpcklbw _mm_unpacklo_pi8 -#define _m_punpcklwd _mm_unpacklo_pi16 -#define _m_punpckldq _mm_unpacklo_pi32 -#define _m_punpckehsbw _mm_unpackeh_pi8 -#define _m_punpckehswd _mm_unpackeh_pi16 -#define _m_punpckehsdq _mm_unpackeh_pi32 -#define _m_punpckehubw _mm_unpackeh_pu8 -#define _m_punpckehuwd _mm_unpackeh_pu16 -#define _m_punpckehudq _mm_unpackeh_pu32 -#define _m_punpckelsbw _mm_unpackel_pi8 -#define _m_punpckelswd _mm_unpackel_pi16 -#define _m_punpckelsdq _mm_unpackel_pi32 -#define _m_punpckelubw _mm_unpackel_pu8 -#define _m_punpckeluwd _mm_unpackel_pu16 -#define _m_punpckeludq _mm_unpackel_pu32 -#define _m_paddb _mm_add_pi8 -#define _m_paddw _mm_add_pi16 -#define _m_paddd _mm_add_pi32 -#define _m_paddsb _mm_adds_pi8 -#define _m_paddsw _mm_adds_pi16 -#define _m_paddsd _mm_adds_pi32 -#define _m_paddusb _mm_adds_pu8 -#define _m_paddusw _mm_adds_pu16 -#define _m_paddusd _mm_adds_pu32 -#define _m_psubb _mm_sub_pi8 -#define _m_psubw _mm_sub_pi16 -#define _m_psubd _mm_sub_pi32 -#define _m_psubsb _mm_subs_pi8 -#define _m_psubsw _mm_subs_pi16 -#define _m_psubuw _mm_subs_pi32 -#define _m_psubusb _mm_subs_pu8 -#define _m_psubusw _mm_subs_pu16 -#define _m_psubusd _mm_subs_pu32 -#define _m_pmaddwd _mm_madd_pi16 -#define _m_pmadduwd _mm_madd_pu16 -#define _m_pmulhw _mm_mulhi_pi16 -#define _m_pmulhuw _mm_mulhi_pu16 -#define _m_pmullw _mm_mullo_pi16 -#define _m_pmacsw _mm_mac_pi16 -#define _m_pmacuw _mm_mac_pu16 -#define _m_pmacszw _mm_macz_pi16 -#define _m_pmacuzw _mm_macz_pu16 -#define _m_paccb _mm_acc_pu8 -#define _m_paccw _mm_acc_pu16 -#define _m_paccd _mm_acc_pu32 -#define _m_pmia _mm_mia_si64 -#define _m_pmiaph _mm_miaph_si64 -#define _m_pmiabb _mm_miabb_si64 -#define _m_pmiabt _mm_miabt_si64 -#define _m_pmiatb _mm_miatb_si64 -#define _m_pmiatt _mm_miatt_si64 -#define _m_psllw _mm_sll_pi16 -#define _m_psllwi _mm_slli_pi16 -#define _m_pslld _mm_sll_pi32 -#define _m_pslldi _mm_slli_pi32 -#define _m_psllq _mm_sll_si64 -#define _m_psllqi _mm_slli_si64 -#define _m_psraw _mm_sra_pi16 -#define _m_psrawi _mm_srai_pi16 -#define _m_psrad _mm_sra_pi32 -#define _m_psradi _mm_srai_pi32 -#define _m_psraq _mm_sra_si64 -#define _m_psraqi _mm_srai_si64 -#define _m_psrlw _mm_srl_pi16 -#define _m_psrlwi _mm_srli_pi16 -#define _m_psrld _mm_srl_pi32 -#define _m_psrldi _mm_srli_pi32 -#define _m_psrlq _mm_srl_si64 -#define _m_psrlqi _mm_srli_si64 -#define _m_prorw _mm_ror_pi16 -#define _m_prorwi _mm_rori_pi16 -#define _m_prord _mm_ror_pi32 -#define _m_prordi _mm_rori_pi32 -#define _m_prorq _mm_ror_si64 -#define _m_prorqi _mm_rori_si64 -#define _m_pand _mm_and_si64 -#define _m_pandn _mm_andnot_si64 -#define _m_por _mm_or_si64 -#define _m_pxor _mm_xor_si64 -#define _m_pcmpeqb _mm_cmpeq_pi8 -#define _m_pcmpeqw _mm_cmpeq_pi16 -#define _m_pcmpeqd _mm_cmpeq_pi32 -#define _m_pcmpgtb _mm_cmpgt_pi8 -#define _m_pcmpgtub _mm_cmpgt_pu8 -#define _m_pcmpgtw _mm_cmpgt_pi16 -#define _m_pcmpgtuw _mm_cmpgt_pu16 -#define _m_pcmpgtd _mm_cmpgt_pi32 -#define _m_pcmpgtud _mm_cmpgt_pu32 -#define _m_pextrb _mm_extract_pi8 -#define _m_pextrw _mm_extract_pi16 -#define _m_pextrd _mm_extract_pi32 -#define _m_pextrub _mm_extract_pu8 -#define _m_pextruw _mm_extract_pu16 -#define _m_pextrud _mm_extract_pu32 -#define _m_pinsrb _mm_insert_pi8 -#define _m_pinsrw _mm_insert_pi16 -#define _m_pinsrd _mm_insert_pi32 -#define _m_pmaxsb _mm_max_pi8 -#define _m_pmaxsw _mm_max_pi16 -#define _m_pmaxsd _mm_max_pi32 -#define _m_pmaxub _mm_max_pu8 -#define _m_pmaxuw _mm_max_pu16 -#define _m_pmaxud _mm_max_pu32 -#define _m_pminsb _mm_min_pi8 -#define _m_pminsw _mm_min_pi16 -#define _m_pminsd _mm_min_pi32 -#define _m_pminub _mm_min_pu8 -#define _m_pminuw _mm_min_pu16 -#define _m_pminud _mm_min_pu32 -#define _m_pmovmskb _mm_movemask_pi8 -#define _m_pmovmskw _mm_movemask_pi16 -#define _m_pmovmskd _mm_movemask_pi32 -#define _m_pshufw _mm_shuffle_pi16 -#define _m_pavgb _mm_avg_pu8 -#define _m_pavgw _mm_avg_pu16 -#define _m_pavg2b _mm_avg2_pu8 -#define _m_pavg2w _mm_avg2_pu16 -#define _m_psadbw _mm_sad_pu8 -#define _m_psadwd _mm_sad_pu16 -#define _m_psadzbw _mm_sadz_pu8 -#define _m_psadzwd _mm_sadz_pu16 -#define _m_paligniq _mm_align_si64 -#define _m_cvt_si2pi _mm_cvtsi64_m64 -#define _m_cvt_pi2si _mm_cvtm64_si64 -#define _m_from_int _mm_cvtsi32_si64 -#define _m_to_int _mm_cvtsi64_si32 - -#if defined __cplusplus -}; /* End "C" */ -#endif /* __cplusplus */ - -#endif /* _MMINTRIN_H_INCLUDED */ diff --git a/lib/gcc/arm-linux-androideabi/4.8/include/omp.h b/lib/gcc/arm-linux-androideabi/4.8/include/omp.h deleted file mode 100644 index 11ab7b8..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/include/omp.h +++ /dev/null @@ -1,107 +0,0 @@ -/* Copyright (C) 2005-2013 Free Software Foundation, Inc. - Contributed by Richard Henderson <rth@redhat.com>. - - This file is part of the GNU OpenMP Library (libgomp). - - Libgomp is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3, or (at your option) - any later version. - - Libgomp 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. - - Under Section 7 of GPL version 3, you are granted additional - permissions described in the GCC Runtime Library Exception, version - 3.1, as published by the Free Software Foundation. - - You should have received a copy of the GNU General Public License and - a copy of the GCC Runtime Library Exception along with this program; - see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - <http://www.gnu.org/licenses/>. */ - -#ifndef OMP_H -#define OMP_H 1 - -#ifndef _LIBGOMP_OMP_LOCK_DEFINED -#define _LIBGOMP_OMP_LOCK_DEFINED 1 -/* These two structures get edited by the libgomp build process to - reflect the shape of the two types. Their internals are private - to the library. */ - -typedef struct -{ - unsigned char _x[4] - __attribute__((__aligned__(4))); -} omp_lock_t; - -typedef struct -{ - unsigned char _x[12] - __attribute__((__aligned__(4))); -} omp_nest_lock_t; -#endif - -typedef enum omp_sched_t -{ - omp_sched_static = 1, - omp_sched_dynamic = 2, - omp_sched_guided = 3, - omp_sched_auto = 4 -} omp_sched_t; - -#ifdef __cplusplus -extern "C" { -# define __GOMP_NOTHROW throw () -#else -# define __GOMP_NOTHROW __attribute__((__nothrow__)) -#endif - -extern void omp_set_num_threads (int) __GOMP_NOTHROW; -extern int omp_get_num_threads (void) __GOMP_NOTHROW; -extern int omp_get_max_threads (void) __GOMP_NOTHROW; -extern int omp_get_thread_num (void) __GOMP_NOTHROW; -extern int omp_get_num_procs (void) __GOMP_NOTHROW; - -extern int omp_in_parallel (void) __GOMP_NOTHROW; - -extern void omp_set_dynamic (int) __GOMP_NOTHROW; -extern int omp_get_dynamic (void) __GOMP_NOTHROW; - -extern void omp_set_nested (int) __GOMP_NOTHROW; -extern int omp_get_nested (void) __GOMP_NOTHROW; - -extern void omp_init_lock (omp_lock_t *) __GOMP_NOTHROW; -extern void omp_destroy_lock (omp_lock_t *) __GOMP_NOTHROW; -extern void omp_set_lock (omp_lock_t *) __GOMP_NOTHROW; -extern void omp_unset_lock (omp_lock_t *) __GOMP_NOTHROW; -extern int omp_test_lock (omp_lock_t *) __GOMP_NOTHROW; - -extern void omp_init_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; -extern void omp_destroy_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; -extern void omp_set_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; -extern void omp_unset_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; -extern int omp_test_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; - -extern double omp_get_wtime (void) __GOMP_NOTHROW; -extern double omp_get_wtick (void) __GOMP_NOTHROW; - -void omp_set_schedule (omp_sched_t, int) __GOMP_NOTHROW; -void omp_get_schedule (omp_sched_t *, int *) __GOMP_NOTHROW; -int omp_get_thread_limit (void) __GOMP_NOTHROW; -void omp_set_max_active_levels (int) __GOMP_NOTHROW; -int omp_get_max_active_levels (void) __GOMP_NOTHROW; -int omp_get_level (void) __GOMP_NOTHROW; -int omp_get_ancestor_thread_num (int) __GOMP_NOTHROW; -int omp_get_team_size (int) __GOMP_NOTHROW; -int omp_get_active_level (void) __GOMP_NOTHROW; - -int omp_in_final (void) __GOMP_NOTHROW; - -#ifdef __cplusplus -} -#endif - -#endif /* OMP_H */ diff --git a/lib/gcc/arm-linux-androideabi/4.8/include/stdalign.h b/lib/gcc/arm-linux-androideabi/4.8/include/stdalign.h deleted file mode 100644 index fe545dd..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/include/stdalign.h +++ /dev/null @@ -1,39 +0,0 @@ -/* Copyright (C) 2011-2013 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC 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. - -Under Section 7 of GPL version 3, you are granted additional -permissions described in the GCC Runtime Library Exception, version -3.1, as published by the Free Software Foundation. - -You should have received a copy of the GNU General Public License and -a copy of the GCC Runtime Library Exception along with this program; -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -<http://www.gnu.org/licenses/>. */ - -/* ISO C1X: 7.15 Alignment <stdalign.h>. */ - -#ifndef _STDALIGN_H -#define _STDALIGN_H - -#ifndef __cplusplus - -#define alignas _Alignas -#define alignof _Alignof - -#define __alignas_is_defined 1 -#define __alignof_is_defined 1 - -#endif - -#endif /* stdalign.h */ diff --git a/lib/gcc/arm-linux-androideabi/4.8/include/stdarg.h b/lib/gcc/arm-linux-androideabi/4.8/include/stdarg.h deleted file mode 100644 index fb4e0d6..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/include/stdarg.h +++ /dev/null @@ -1,126 +0,0 @@ -/* Copyright (C) 1989-2013 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC 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. - -Under Section 7 of GPL version 3, you are granted additional -permissions described in the GCC Runtime Library Exception, version -3.1, as published by the Free Software Foundation. - -You should have received a copy of the GNU General Public License and -a copy of the GCC Runtime Library Exception along with this program; -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -<http://www.gnu.org/licenses/>. */ - -/* - * ISO C Standard: 7.15 Variable arguments <stdarg.h> - */ - -#ifndef _STDARG_H -#ifndef _ANSI_STDARG_H_ -#ifndef __need___va_list -#define _STDARG_H -#define _ANSI_STDARG_H_ -#endif /* not __need___va_list */ -#undef __need___va_list - -/* Define __gnuc_va_list. */ - -#ifndef __GNUC_VA_LIST -#define __GNUC_VA_LIST -typedef __builtin_va_list __gnuc_va_list; -#endif - -/* Define the standard macros for the user, - if this invocation was from the user program. */ -#ifdef _STDARG_H - -#define va_start(v,l) __builtin_va_start(v,l) -#define va_end(v) __builtin_va_end(v) -#define va_arg(v,l) __builtin_va_arg(v,l) -#if !defined(__STRICT_ANSI__) || __STDC_VERSION__ + 0 >= 199900L || defined(__GXX_EXPERIMENTAL_CXX0X__) -#define va_copy(d,s) __builtin_va_copy(d,s) -#endif -#define __va_copy(d,s) __builtin_va_copy(d,s) - -/* Define va_list, if desired, from __gnuc_va_list. */ -/* We deliberately do not define va_list when called from - stdio.h, because ANSI C says that stdio.h is not supposed to define - va_list. stdio.h needs to have access to that data type, - but must not use that name. It should use the name __gnuc_va_list, - which is safe because it is reserved for the implementation. */ - -#ifdef _BSD_VA_LIST -#undef _BSD_VA_LIST -#endif - -#if defined(__svr4__) || (defined(_SCO_DS) && !defined(__VA_LIST)) -/* SVR4.2 uses _VA_LIST for an internal alias for va_list, - so we must avoid testing it and setting it here. - SVR4 uses _VA_LIST as a flag in stdarg.h, but we should - have no conflict with that. */ -#ifndef _VA_LIST_ -#define _VA_LIST_ -#ifdef __i860__ -#ifndef _VA_LIST -#define _VA_LIST va_list -#endif -#endif /* __i860__ */ -typedef __gnuc_va_list va_list; -#ifdef _SCO_DS -#define __VA_LIST -#endif -#endif /* _VA_LIST_ */ -#else /* not __svr4__ || _SCO_DS */ - -/* The macro _VA_LIST_ is the same thing used by this file in Ultrix. - But on BSD NET2 we must not test or define or undef it. - (Note that the comments in NET 2's ansi.h - are incorrect for _VA_LIST_--see stdio.h!) */ -#if !defined (_VA_LIST_) || defined (__BSD_NET2__) || defined (____386BSD____) || defined (__bsdi__) || defined (__sequent__) || defined (__FreeBSD__) || defined(WINNT) -/* The macro _VA_LIST_DEFINED is used in Windows NT 3.5 */ -#ifndef _VA_LIST_DEFINED -/* The macro _VA_LIST is used in SCO Unix 3.2. */ -#ifndef _VA_LIST -/* The macro _VA_LIST_T_H is used in the Bull dpx2 */ -#ifndef _VA_LIST_T_H -/* The macro __va_list__ is used by BeOS. */ -#ifndef __va_list__ -typedef __gnuc_va_list va_list; -#endif /* not __va_list__ */ -#endif /* not _VA_LIST_T_H */ -#endif /* not _VA_LIST */ -#endif /* not _VA_LIST_DEFINED */ -#if !(defined (__BSD_NET2__) || defined (____386BSD____) || defined (__bsdi__) || defined (__sequent__) || defined (__FreeBSD__)) -#define _VA_LIST_ -#endif -#ifndef _VA_LIST -#define _VA_LIST -#endif -#ifndef _VA_LIST_DEFINED -#define _VA_LIST_DEFINED -#endif -#ifndef _VA_LIST_T_H -#define _VA_LIST_T_H -#endif -#ifndef __va_list__ -#define __va_list__ -#endif - -#endif /* not _VA_LIST_, except on certain systems */ - -#endif /* not __svr4__ */ - -#endif /* _STDARG_H */ - -#endif /* not _ANSI_STDARG_H_ */ -#endif /* not _STDARG_H */ diff --git a/lib/gcc/arm-linux-androideabi/4.8/include/stdbool.h b/lib/gcc/arm-linux-androideabi/4.8/include/stdbool.h deleted file mode 100644 index 7146e63..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/include/stdbool.h +++ /dev/null @@ -1,50 +0,0 @@ -/* Copyright (C) 1998-2013 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC 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. - -Under Section 7 of GPL version 3, you are granted additional -permissions described in the GCC Runtime Library Exception, version -3.1, as published by the Free Software Foundation. - -You should have received a copy of the GNU General Public License and -a copy of the GCC Runtime Library Exception along with this program; -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -<http://www.gnu.org/licenses/>. */ - -/* - * ISO C Standard: 7.16 Boolean type and values <stdbool.h> - */ - -#ifndef _STDBOOL_H -#define _STDBOOL_H - -#ifndef __cplusplus - -#define bool _Bool -#define true 1 -#define false 0 - -#else /* __cplusplus */ - -/* Supporting <stdbool.h> in C++ is a GCC extension. */ -#define _Bool bool -#define bool bool -#define false false -#define true true - -#endif /* __cplusplus */ - -/* Signal that all the definitions are present. */ -#define __bool_true_false_are_defined 1 - -#endif /* stdbool.h */ diff --git a/lib/gcc/arm-linux-androideabi/4.8/include/stddef.h b/lib/gcc/arm-linux-androideabi/4.8/include/stddef.h deleted file mode 100644 index b04dd65..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/include/stddef.h +++ /dev/null @@ -1,439 +0,0 @@ -/* Copyright (C) 1989-2013 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC 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. - -Under Section 7 of GPL version 3, you are granted additional -permissions described in the GCC Runtime Library Exception, version -3.1, as published by the Free Software Foundation. - -You should have received a copy of the GNU General Public License and -a copy of the GCC Runtime Library Exception along with this program; -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -<http://www.gnu.org/licenses/>. */ - -/* - * ISO C Standard: 7.17 Common definitions <stddef.h> - */ -#if (!defined(_STDDEF_H) && !defined(_STDDEF_H_) && !defined(_ANSI_STDDEF_H) \ - && !defined(__STDDEF_H__)) \ - || defined(__need_wchar_t) || defined(__need_size_t) \ - || defined(__need_ptrdiff_t) || defined(__need_NULL) \ - || defined(__need_wint_t) - -/* Any one of these symbols __need_* means that GNU libc - wants us just to define one data type. So don't define - the symbols that indicate this file's entire job has been done. */ -#if (!defined(__need_wchar_t) && !defined(__need_size_t) \ - && !defined(__need_ptrdiff_t) && !defined(__need_NULL) \ - && !defined(__need_wint_t)) -#define _STDDEF_H -#define _STDDEF_H_ -/* snaroff@next.com says the NeXT needs this. */ -#define _ANSI_STDDEF_H -#endif - -#ifndef __sys_stdtypes_h -/* This avoids lossage on SunOS but only if stdtypes.h comes first. - There's no way to win with the other order! Sun lossage. */ - -/* On 4.3bsd-net2, make sure ansi.h is included, so we have - one less case to deal with in the following. */ -#if defined (__BSD_NET2__) || defined (____386BSD____) || (defined (__FreeBSD__) && (__FreeBSD__ < 5)) || defined(__NetBSD__) -#include <machine/ansi.h> -#endif -/* On FreeBSD 5, machine/ansi.h does not exist anymore... */ -#if defined (__FreeBSD__) && (__FreeBSD__ >= 5) -#include <sys/_types.h> -#endif - -/* In 4.3bsd-net2, machine/ansi.h defines these symbols, which are - defined if the corresponding type is *not* defined. - FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_. - NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_ */ -#if defined(_ANSI_H_) || defined(_MACHINE_ANSI_H_) || defined(_X86_64_ANSI_H_) || defined(_I386_ANSI_H_) -#if !defined(_SIZE_T_) && !defined(_BSD_SIZE_T_) -#define _SIZE_T -#endif -#if !defined(_PTRDIFF_T_) && !defined(_BSD_PTRDIFF_T_) -#define _PTRDIFF_T -#endif -/* On BSD/386 1.1, at least, machine/ansi.h defines _BSD_WCHAR_T_ - instead of _WCHAR_T_. */ -#if !defined(_WCHAR_T_) && !defined(_BSD_WCHAR_T_) -#ifndef _BSD_WCHAR_T_ -#define _WCHAR_T -#endif -#endif -/* Undef _FOO_T_ if we are supposed to define foo_t. */ -#if defined (__need_ptrdiff_t) || defined (_STDDEF_H_) -#undef _PTRDIFF_T_ -#undef _BSD_PTRDIFF_T_ -#endif -#if defined (__need_size_t) || defined (_STDDEF_H_) -#undef _SIZE_T_ -#undef _BSD_SIZE_T_ -#endif -#if defined (__need_wchar_t) || defined (_STDDEF_H_) -#undef _WCHAR_T_ -#undef _BSD_WCHAR_T_ -#endif -#endif /* defined(_ANSI_H_) || defined(_MACHINE_ANSI_H_) || defined(_X86_64_ANSI_H_) || defined(_I386_ANSI_H_) */ - -/* Sequent's header files use _PTRDIFF_T_ in some conflicting way. - Just ignore it. */ -#if defined (__sequent__) && defined (_PTRDIFF_T_) -#undef _PTRDIFF_T_ -#endif - -/* On VxWorks, <type/vxTypesBase.h> may have defined macros like - _TYPE_size_t which will typedef size_t. fixincludes patched the - vxTypesBase.h so that this macro is only defined if _GCC_SIZE_T is - not defined, and so that defining this macro defines _GCC_SIZE_T. - If we find that the macros are still defined at this point, we must - invoke them so that the type is defined as expected. */ -#if defined (_TYPE_ptrdiff_t) && (defined (__need_ptrdiff_t) || defined (_STDDEF_H_)) -_TYPE_ptrdiff_t; -#undef _TYPE_ptrdiff_t -#endif -#if defined (_TYPE_size_t) && (defined (__need_size_t) || defined (_STDDEF_H_)) -_TYPE_size_t; -#undef _TYPE_size_t -#endif -#if defined (_TYPE_wchar_t) && (defined (__need_wchar_t) || defined (_STDDEF_H_)) -_TYPE_wchar_t; -#undef _TYPE_wchar_t -#endif - -/* In case nobody has defined these types, but we aren't running under - GCC 2.00, make sure that __PTRDIFF_TYPE__, __SIZE_TYPE__, and - __WCHAR_TYPE__ have reasonable values. This can happen if the - parts of GCC is compiled by an older compiler, that actually - include gstddef.h, such as collect2. */ - -/* Signed type of difference of two pointers. */ - -/* Define this type if we are doing the whole job, - or if we want this type in particular. */ -#if defined (_STDDEF_H) || defined (__need_ptrdiff_t) -#ifndef _PTRDIFF_T /* in case <sys/types.h> has defined it. */ -#ifndef _T_PTRDIFF_ -#ifndef _T_PTRDIFF -#ifndef __PTRDIFF_T -#ifndef _PTRDIFF_T_ -#ifndef _BSD_PTRDIFF_T_ -#ifndef ___int_ptrdiff_t_h -#ifndef _GCC_PTRDIFF_T -#define _PTRDIFF_T -#define _T_PTRDIFF_ -#define _T_PTRDIFF -#define __PTRDIFF_T -#define _PTRDIFF_T_ -#define _BSD_PTRDIFF_T_ -#define ___int_ptrdiff_t_h -#define _GCC_PTRDIFF_T -#ifndef __PTRDIFF_TYPE__ -#define __PTRDIFF_TYPE__ long int -#endif -typedef __PTRDIFF_TYPE__ ptrdiff_t; -#endif /* _GCC_PTRDIFF_T */ -#endif /* ___int_ptrdiff_t_h */ -#endif /* _BSD_PTRDIFF_T_ */ -#endif /* _PTRDIFF_T_ */ -#endif /* __PTRDIFF_T */ -#endif /* _T_PTRDIFF */ -#endif /* _T_PTRDIFF_ */ -#endif /* _PTRDIFF_T */ - -/* If this symbol has done its job, get rid of it. */ -#undef __need_ptrdiff_t - -#endif /* _STDDEF_H or __need_ptrdiff_t. */ - -/* Unsigned type of `sizeof' something. */ - -/* Define this type if we are doing the whole job, - or if we want this type in particular. */ -#if defined (_STDDEF_H) || defined (__need_size_t) -#ifndef __size_t__ /* BeOS */ -#ifndef __SIZE_T__ /* Cray Unicos/Mk */ -#ifndef _SIZE_T /* in case <sys/types.h> has defined it. */ -#ifndef _SYS_SIZE_T_H -#ifndef _T_SIZE_ -#ifndef _T_SIZE -#ifndef __SIZE_T -#ifndef _SIZE_T_ -#ifndef _BSD_SIZE_T_ -#ifndef _SIZE_T_DEFINED_ -#ifndef _SIZE_T_DEFINED -#ifndef _BSD_SIZE_T_DEFINED_ /* Darwin */ -#ifndef _SIZE_T_DECLARED /* FreeBSD 5 */ -#ifndef ___int_size_t_h -#ifndef _GCC_SIZE_T -#ifndef _SIZET_ -#ifndef __size_t -#define __size_t__ /* BeOS */ -#define __SIZE_T__ /* Cray Unicos/Mk */ -#define _SIZE_T -#define _SYS_SIZE_T_H -#define _T_SIZE_ -#define _T_SIZE -#define __SIZE_T -#define _SIZE_T_ -#define _BSD_SIZE_T_ -#define _SIZE_T_DEFINED_ -#define _SIZE_T_DEFINED -#define _BSD_SIZE_T_DEFINED_ /* Darwin */ -#define _SIZE_T_DECLARED /* FreeBSD 5 */ -#define ___int_size_t_h -#define _GCC_SIZE_T -#define _SIZET_ -#if (defined (__FreeBSD__) && (__FreeBSD__ >= 5)) \ - || defined(__FreeBSD_kernel__) -/* __size_t is a typedef on FreeBSD 5, must not trash it. */ -#elif defined (__VMS__) -/* __size_t is also a typedef on VMS. */ -#else -#define __size_t -#endif -#ifndef __SIZE_TYPE__ -#define __SIZE_TYPE__ long unsigned int -#endif -#if !(defined (__GNUG__) && defined (size_t)) -typedef __SIZE_TYPE__ size_t; -#ifdef __BEOS__ -typedef long ssize_t; -#endif /* __BEOS__ */ -#endif /* !(defined (__GNUG__) && defined (size_t)) */ -#endif /* __size_t */ -#endif /* _SIZET_ */ -#endif /* _GCC_SIZE_T */ -#endif /* ___int_size_t_h */ -#endif /* _SIZE_T_DECLARED */ -#endif /* _BSD_SIZE_T_DEFINED_ */ -#endif /* _SIZE_T_DEFINED */ -#endif /* _SIZE_T_DEFINED_ */ -#endif /* _BSD_SIZE_T_ */ -#endif /* _SIZE_T_ */ -#endif /* __SIZE_T */ -#endif /* _T_SIZE */ -#endif /* _T_SIZE_ */ -#endif /* _SYS_SIZE_T_H */ -#endif /* _SIZE_T */ -#endif /* __SIZE_T__ */ -#endif /* __size_t__ */ -#undef __need_size_t -#endif /* _STDDEF_H or __need_size_t. */ - - -/* Wide character type. - Locale-writers should change this as necessary to - be big enough to hold unique values not between 0 and 127, - and not (wchar_t) -1, for each defined multibyte character. */ - -/* Define this type if we are doing the whole job, - or if we want this type in particular. */ -#if defined (_STDDEF_H) || defined (__need_wchar_t) -#ifndef __wchar_t__ /* BeOS */ -#ifndef __WCHAR_T__ /* Cray Unicos/Mk */ -#ifndef _WCHAR_T -#ifndef _T_WCHAR_ -#ifndef _T_WCHAR -#ifndef __WCHAR_T -#ifndef _WCHAR_T_ -#ifndef _BSD_WCHAR_T_ -#ifndef _BSD_WCHAR_T_DEFINED_ /* Darwin */ -#ifndef _BSD_RUNE_T_DEFINED_ /* Darwin */ -#ifndef _WCHAR_T_DECLARED /* FreeBSD 5 */ -#ifndef _WCHAR_T_DEFINED_ -#ifndef _WCHAR_T_DEFINED -#ifndef _WCHAR_T_H -#ifndef ___int_wchar_t_h -#ifndef __INT_WCHAR_T_H -#ifndef _GCC_WCHAR_T -#define __wchar_t__ /* BeOS */ -#define __WCHAR_T__ /* Cray Unicos/Mk */ -#define _WCHAR_T -#define _T_WCHAR_ -#define _T_WCHAR -#define __WCHAR_T -#define _WCHAR_T_ -#define _BSD_WCHAR_T_ -#define _WCHAR_T_DEFINED_ -#define _WCHAR_T_DEFINED -#define _WCHAR_T_H -#define ___int_wchar_t_h -#define __INT_WCHAR_T_H -#define _GCC_WCHAR_T -#define _WCHAR_T_DECLARED - -/* On BSD/386 1.1, at least, machine/ansi.h defines _BSD_WCHAR_T_ - instead of _WCHAR_T_, and _BSD_RUNE_T_ (which, unlike the other - symbols in the _FOO_T_ family, stays defined even after its - corresponding type is defined). If we define wchar_t, then we - must undef _WCHAR_T_; for BSD/386 1.1 (and perhaps others), if - we undef _WCHAR_T_, then we must also define rune_t, since - headers like runetype.h assume that if machine/ansi.h is included, - and _BSD_WCHAR_T_ is not defined, then rune_t is available. - machine/ansi.h says, "Note that _WCHAR_T_ and _RUNE_T_ must be of - the same type." */ -#ifdef _BSD_WCHAR_T_ -#undef _BSD_WCHAR_T_ -#ifdef _BSD_RUNE_T_ -#if !defined (_ANSI_SOURCE) && !defined (_POSIX_SOURCE) -typedef _BSD_RUNE_T_ rune_t; -#define _BSD_WCHAR_T_DEFINED_ -#define _BSD_RUNE_T_DEFINED_ /* Darwin */ -#if defined (__FreeBSD__) && (__FreeBSD__ < 5) -/* Why is this file so hard to maintain properly? In contrast to - the comment above regarding BSD/386 1.1, on FreeBSD for as long - as the symbol has existed, _BSD_RUNE_T_ must not stay defined or - redundant typedefs will occur when stdlib.h is included after this file. */ -#undef _BSD_RUNE_T_ -#endif -#endif -#endif -#endif -/* FreeBSD 5 can't be handled well using "traditional" logic above - since it no longer defines _BSD_RUNE_T_ yet still desires to export - rune_t in some cases... */ -#if defined (__FreeBSD__) && (__FreeBSD__ >= 5) -#if !defined (_ANSI_SOURCE) && !defined (_POSIX_SOURCE) -#if __BSD_VISIBLE -#ifndef _RUNE_T_DECLARED -typedef __rune_t rune_t; -#define _RUNE_T_DECLARED -#endif -#endif -#endif -#endif - -#ifndef __WCHAR_TYPE__ -#define __WCHAR_TYPE__ int -#endif -#ifndef __cplusplus -typedef __WCHAR_TYPE__ wchar_t; -#endif -#endif -#endif -#endif -#endif -#endif -#endif -#endif /* _WCHAR_T_DECLARED */ -#endif /* _BSD_RUNE_T_DEFINED_ */ -#endif -#endif -#endif -#endif -#endif -#endif -#endif -#endif /* __WCHAR_T__ */ -#endif /* __wchar_t__ */ -#undef __need_wchar_t -#endif /* _STDDEF_H or __need_wchar_t. */ - -#if defined (__need_wint_t) -#ifndef _WINT_T -#define _WINT_T - -#ifndef __WINT_TYPE__ -#define __WINT_TYPE__ unsigned int -#endif -typedef __WINT_TYPE__ wint_t; -#endif -#undef __need_wint_t -#endif - -/* In 4.3bsd-net2, leave these undefined to indicate that size_t, etc. - are already defined. */ -/* BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here. */ -/* NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here. */ -#if defined(_ANSI_H_) || defined(_MACHINE_ANSI_H_) || defined(_X86_64_ANSI_H_) || defined(_I386_ANSI_H_) -/* The references to _GCC_PTRDIFF_T_, _GCC_SIZE_T_, and _GCC_WCHAR_T_ - are probably typos and should be removed before 2.8 is released. */ -#ifdef _GCC_PTRDIFF_T_ -#undef _PTRDIFF_T_ -#undef _BSD_PTRDIFF_T_ -#endif -#ifdef _GCC_SIZE_T_ -#undef _SIZE_T_ -#undef _BSD_SIZE_T_ -#endif -#ifdef _GCC_WCHAR_T_ -#undef _WCHAR_T_ -#undef _BSD_WCHAR_T_ -#endif -/* The following ones are the real ones. */ -#ifdef _GCC_PTRDIFF_T -#undef _PTRDIFF_T_ -#undef _BSD_PTRDIFF_T_ -#endif -#ifdef _GCC_SIZE_T -#undef _SIZE_T_ -#undef _BSD_SIZE_T_ -#endif -#ifdef _GCC_WCHAR_T -#undef _WCHAR_T_ -#undef _BSD_WCHAR_T_ -#endif -#endif /* _ANSI_H_ || _MACHINE_ANSI_H_ || _X86_64_ANSI_H_ || _I386_ANSI_H_ */ - -#endif /* __sys_stdtypes_h */ - -/* A null pointer constant. */ - -#if defined (_STDDEF_H) || defined (__need_NULL) -#undef NULL /* in case <stdio.h> has defined it. */ -#ifdef __GNUG__ -#define NULL __null -#else /* G++ */ -#ifndef __cplusplus -#define NULL ((void *)0) -#else /* C++ */ -#define NULL 0 -#endif /* C++ */ -#endif /* G++ */ -#endif /* NULL not defined and <stddef.h> or need NULL. */ -#undef __need_NULL - -#ifdef _STDDEF_H - -/* Offset of member MEMBER in a struct of type TYPE. */ -#define offsetof(TYPE, MEMBER) __builtin_offsetof (TYPE, MEMBER) - -#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) \ - || (defined(__cplusplus) && __cplusplus >= 201103L) -#ifndef _GCC_MAX_ALIGN_T -#define _GCC_MAX_ALIGN_T -/* Type whose alignment is supported in every context and is at least - as great as that of any standard type not using alignment - specifiers. */ -typedef struct { - long long __max_align_ll __attribute__((__aligned__(__alignof__(long long)))); - long double __max_align_ld __attribute__((__aligned__(__alignof__(long double)))); -} max_align_t; -#endif -#endif /* C11 or C++11. */ - -#if defined(__cplusplus) && __cplusplus >= 201103L -#ifndef _GXX_NULLPTR_T -#define _GXX_NULLPTR_T - typedef decltype(nullptr) nullptr_t; -#endif -#endif /* C++11. */ - -#endif /* _STDDEF_H was defined this time */ - -#endif /* !_STDDEF_H && !_STDDEF_H_ && !_ANSI_STDDEF_H && !__STDDEF_H__ - || __need_XXX was not defined before */ diff --git a/lib/gcc/arm-linux-androideabi/4.8/include/stdfix.h b/lib/gcc/arm-linux-androideabi/4.8/include/stdfix.h deleted file mode 100644 index fdcef1e..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/include/stdfix.h +++ /dev/null @@ -1,204 +0,0 @@ -/* Copyright (C) 2007-2013 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC 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. - -Under Section 7 of GPL version 3, you are granted additional -permissions described in the GCC Runtime Library Exception, version -3.1, as published by the Free Software Foundation. - -You should have received a copy of the GNU General Public License and -a copy of the GCC Runtime Library Exception along with this program; -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -<http://www.gnu.org/licenses/>. */ - -/* ISO/IEC JTC1 SC22 WG14 N1169 - * Date: 2006-04-04 - * ISO/IEC TR 18037 - * Programming languages - C - Extensions to support embedded processors - */ - -#ifndef _STDFIX_H -#define _STDFIX_H - -/* 7.18a.1 Introduction. */ - -#undef fract -#undef accum -#undef sat -#define fract _Fract -#define accum _Accum -#define sat _Sat - -/* 7.18a.3 Precision macros. */ - -#undef SFRACT_FBIT -#undef SFRACT_MIN -#undef SFRACT_MAX -#undef SFRACT_EPSILON -#define SFRACT_FBIT __SFRACT_FBIT__ -#define SFRACT_MIN __SFRACT_MIN__ -#define SFRACT_MAX __SFRACT_MAX__ -#define SFRACT_EPSILON __SFRACT_EPSILON__ - -#undef USFRACT_FBIT -#undef USFRACT_MIN -#undef USFRACT_MAX -#undef USFRACT_EPSILON -#define USFRACT_FBIT __USFRACT_FBIT__ -#define USFRACT_MIN __USFRACT_MIN__ /* GCC extension. */ -#define USFRACT_MAX __USFRACT_MAX__ -#define USFRACT_EPSILON __USFRACT_EPSILON__ - -#undef FRACT_FBIT -#undef FRACT_MIN -#undef FRACT_MAX -#undef FRACT_EPSILON -#define FRACT_FBIT __FRACT_FBIT__ -#define FRACT_MIN __FRACT_MIN__ -#define FRACT_MAX __FRACT_MAX__ -#define FRACT_EPSILON __FRACT_EPSILON__ - -#undef UFRACT_FBIT -#undef UFRACT_MIN -#undef UFRACT_MAX -#undef UFRACT_EPSILON -#define UFRACT_FBIT __UFRACT_FBIT__ -#define UFRACT_MIN __UFRACT_MIN__ /* GCC extension. */ -#define UFRACT_MAX __UFRACT_MAX__ -#define UFRACT_EPSILON __UFRACT_EPSILON__ - -#undef LFRACT_FBIT -#undef LFRACT_MIN -#undef LFRACT_MAX -#undef LFRACT_EPSILON -#define LFRACT_FBIT __LFRACT_FBIT__ -#define LFRACT_MIN __LFRACT_MIN__ -#define LFRACT_MAX __LFRACT_MAX__ -#define LFRACT_EPSILON __LFRACT_EPSILON__ - -#undef ULFRACT_FBIT -#undef ULFRACT_MIN -#undef ULFRACT_MAX -#undef ULFRACT_EPSILON -#define ULFRACT_FBIT __ULFRACT_FBIT__ -#define ULFRACT_MIN __ULFRACT_MIN__ /* GCC extension. */ -#define ULFRACT_MAX __ULFRACT_MAX__ -#define ULFRACT_EPSILON __ULFRACT_EPSILON__ - -#undef LLFRACT_FBIT -#undef LLFRACT_MIN -#undef LLFRACT_MAX -#undef LLFRACT_EPSILON -#define LLFRACT_FBIT __LLFRACT_FBIT__ /* GCC extension. */ -#define LLFRACT_MIN __LLFRACT_MIN__ /* GCC extension. */ -#define LLFRACT_MAX __LLFRACT_MAX__ /* GCC extension. */ -#define LLFRACT_EPSILON __LLFRACT_EPSILON__ /* GCC extension. */ - -#undef ULLFRACT_FBIT -#undef ULLFRACT_MIN -#undef ULLFRACT_MAX -#undef ULLFRACT_EPSILON -#define ULLFRACT_FBIT __ULLFRACT_FBIT__ /* GCC extension. */ -#define ULLFRACT_MIN __ULLFRACT_MIN__ /* GCC extension. */ -#define ULLFRACT_MAX __ULLFRACT_MAX__ /* GCC extension. */ -#define ULLFRACT_EPSILON __ULLFRACT_EPSILON__ /* GCC extension. */ - -#undef SACCUM_FBIT -#undef SACCUM_IBIT -#undef SACCUM_MIN -#undef SACCUM_MAX -#undef SACCUM_EPSILON -#define SACCUM_FBIT __SACCUM_FBIT__ -#define SACCUM_IBIT __SACCUM_IBIT__ -#define SACCUM_MIN __SACCUM_MIN__ -#define SACCUM_MAX __SACCUM_MAX__ -#define SACCUM_EPSILON __SACCUM_EPSILON__ - -#undef USACCUM_FBIT -#undef USACCUM_IBIT -#undef USACCUM_MIN -#undef USACCUM_MAX -#undef USACCUM_EPSILON -#define USACCUM_FBIT __USACCUM_FBIT__ -#define USACCUM_IBIT __USACCUM_IBIT__ -#define USACCUM_MIN __USACCUM_MIN__ /* GCC extension. */ -#define USACCUM_MAX __USACCUM_MAX__ -#define USACCUM_EPSILON __USACCUM_EPSILON__ - -#undef ACCUM_FBIT -#undef ACCUM_IBIT -#undef ACCUM_MIN -#undef ACCUM_MAX -#undef ACCUM_EPSILON -#define ACCUM_FBIT __ACCUM_FBIT__ -#define ACCUM_IBIT __ACCUM_IBIT__ -#define ACCUM_MIN __ACCUM_MIN__ -#define ACCUM_MAX __ACCUM_MAX__ -#define ACCUM_EPSILON __ACCUM_EPSILON__ - -#undef UACCUM_FBIT -#undef UACCUM_IBIT -#undef UACCUM_MIN -#undef UACCUM_MAX -#undef UACCUM_EPSILON -#define UACCUM_FBIT __UACCUM_FBIT__ -#define UACCUM_IBIT __UACCUM_IBIT__ -#define UACCUM_MIN __UACCUM_MIN__ /* GCC extension. */ -#define UACCUM_MAX __UACCUM_MAX__ -#define UACCUM_EPSILON __UACCUM_EPSILON__ - -#undef LACCUM_FBIT -#undef LACCUM_IBIT -#undef LACCUM_MIN -#undef LACCUM_MAX -#undef LACCUM_EPSILON -#define LACCUM_FBIT __LACCUM_FBIT__ -#define LACCUM_IBIT __LACCUM_IBIT__ -#define LACCUM_MIN __LACCUM_MIN__ -#define LACCUM_MAX __LACCUM_MAX__ -#define LACCUM_EPSILON __LACCUM_EPSILON__ - -#undef ULACCUM_FBIT -#undef ULACCUM_IBIT -#undef ULACCUM_MIN -#undef ULACCUM_MAX -#undef ULACCUM_EPSILON -#define ULACCUM_FBIT __ULACCUM_FBIT__ -#define ULACCUM_IBIT __ULACCUM_IBIT__ -#define ULACCUM_MIN __ULACCUM_MIN__ /* GCC extension. */ -#define ULACCUM_MAX __ULACCUM_MAX__ -#define ULACCUM_EPSILON __ULACCUM_EPSILON__ - -#undef LLACCUM_FBIT -#undef LLACCUM_IBIT -#undef LLACCUM_MIN -#undef LLACCUM_MAX -#undef LLACCUM_EPSILON -#define LLACCUM_FBIT __LLACCUM_FBIT__ /* GCC extension. */ -#define LLACCUM_IBIT __LLACCUM_IBIT__ /* GCC extension. */ -#define LLACCUM_MIN __LLACCUM_MIN__ /* GCC extension. */ -#define LLACCUM_MAX __LLACCUM_MAX__ /* GCC extension. */ -#define LLACCUM_EPSILON __LLACCUM_EPSILON__ /* GCC extension. */ - -#undef ULLACCUM_FBIT -#undef ULLACCUM_IBIT -#undef ULLACCUM_MIN -#undef ULLACCUM_MAX -#undef ULLACCUM_EPSILON -#define ULLACCUM_FBIT __ULLACCUM_FBIT__ /* GCC extension. */ -#define ULLACCUM_IBIT __ULLACCUM_IBIT__ /* GCC extension. */ -#define ULLACCUM_MIN __ULLACCUM_MIN__ /* GCC extension. */ -#define ULLACCUM_MAX __ULLACCUM_MAX__ /* GCC extension. */ -#define ULLACCUM_EPSILON __ULLACCUM_EPSILON__ /* GCC extension. */ - -#endif /* _STDFIX_H */ diff --git a/lib/gcc/arm-linux-androideabi/4.8/include/stdint-gcc.h b/lib/gcc/arm-linux-androideabi/4.8/include/stdint-gcc.h deleted file mode 100644 index 97339e2..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/include/stdint-gcc.h +++ /dev/null @@ -1,263 +0,0 @@ -/* Copyright (C) 2008-2013 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC 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. - -Under Section 7 of GPL version 3, you are granted additional -permissions described in the GCC Runtime Library Exception, version -3.1, as published by the Free Software Foundation. - -You should have received a copy of the GNU General Public License and -a copy of the GCC Runtime Library Exception along with this program; -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -<http://www.gnu.org/licenses/>. */ - -/* - * ISO C Standard: 7.18 Integer types <stdint.h> - */ - -#ifndef _GCC_STDINT_H -#define _GCC_STDINT_H - -/* 7.8.1.1 Exact-width integer types */ - -#ifdef __INT8_TYPE__ -typedef __INT8_TYPE__ int8_t; -#endif -#ifdef __INT16_TYPE__ -typedef __INT16_TYPE__ int16_t; -#endif -#ifdef __INT32_TYPE__ -typedef __INT32_TYPE__ int32_t; -#endif -#ifdef __INT64_TYPE__ -typedef __INT64_TYPE__ int64_t; -#endif -#ifdef __UINT8_TYPE__ -typedef __UINT8_TYPE__ uint8_t; -#endif -#ifdef __UINT16_TYPE__ -typedef __UINT16_TYPE__ uint16_t; -#endif -#ifdef __UINT32_TYPE__ -typedef __UINT32_TYPE__ uint32_t; -#endif -#ifdef __UINT64_TYPE__ -typedef __UINT64_TYPE__ uint64_t; -#endif - -/* 7.8.1.2 Minimum-width integer types */ - -typedef __INT_LEAST8_TYPE__ int_least8_t; -typedef __INT_LEAST16_TYPE__ int_least16_t; -typedef __INT_LEAST32_TYPE__ int_least32_t; -typedef __INT_LEAST64_TYPE__ int_least64_t; -typedef __UINT_LEAST8_TYPE__ uint_least8_t; -typedef __UINT_LEAST16_TYPE__ uint_least16_t; -typedef __UINT_LEAST32_TYPE__ uint_least32_t; -typedef __UINT_LEAST64_TYPE__ uint_least64_t; - -/* 7.8.1.3 Fastest minimum-width integer types */ - -typedef __INT_FAST8_TYPE__ int_fast8_t; -typedef __INT_FAST16_TYPE__ int_fast16_t; -typedef __INT_FAST32_TYPE__ int_fast32_t; -typedef __INT_FAST64_TYPE__ int_fast64_t; -typedef __UINT_FAST8_TYPE__ uint_fast8_t; -typedef __UINT_FAST16_TYPE__ uint_fast16_t; -typedef __UINT_FAST32_TYPE__ uint_fast32_t; -typedef __UINT_FAST64_TYPE__ uint_fast64_t; - -/* 7.8.1.4 Integer types capable of holding object pointers */ - -#ifdef __INTPTR_TYPE__ -typedef __INTPTR_TYPE__ intptr_t; -#endif -#ifdef __UINTPTR_TYPE__ -typedef __UINTPTR_TYPE__ uintptr_t; -#endif - -/* 7.8.1.5 Greatest-width integer types */ - -typedef __INTMAX_TYPE__ intmax_t; -typedef __UINTMAX_TYPE__ uintmax_t; - -#if (!defined __cplusplus || __cplusplus >= 201103L \ - || defined __STDC_LIMIT_MACROS) - -/* 7.18.2 Limits of specified-width integer types */ - -#ifdef __INT8_MAX__ -# undef INT8_MAX -# define INT8_MAX __INT8_MAX__ -# undef INT8_MIN -# define INT8_MIN (-INT8_MAX - 1) -#endif -#ifdef __UINT8_MAX__ -# undef UINT8_MAX -# define UINT8_MAX __UINT8_MAX__ -#endif -#ifdef __INT16_MAX__ -# undef INT16_MAX -# define INT16_MAX __INT16_MAX__ -# undef INT16_MIN -# define INT16_MIN (-INT16_MAX - 1) -#endif -#ifdef __UINT16_MAX__ -# undef UINT16_MAX -# define UINT16_MAX __UINT16_MAX__ -#endif -#ifdef __INT32_MAX__ -# undef INT32_MAX -# define INT32_MAX __INT32_MAX__ -# undef INT32_MIN -# define INT32_MIN (-INT32_MAX - 1) -#endif -#ifdef __UINT32_MAX__ -# undef UINT32_MAX -# define UINT32_MAX __UINT32_MAX__ -#endif -#ifdef __INT64_MAX__ -# undef INT64_MAX -# define INT64_MAX __INT64_MAX__ -# undef INT64_MIN -# define INT64_MIN (-INT64_MAX - 1) -#endif -#ifdef __UINT64_MAX__ -# undef UINT64_MAX -# define UINT64_MAX __UINT64_MAX__ -#endif - -#undef INT_LEAST8_MAX -#define INT_LEAST8_MAX __INT_LEAST8_MAX__ -#undef INT_LEAST8_MIN -#define INT_LEAST8_MIN (-INT_LEAST8_MAX - 1) -#undef UINT_LEAST8_MAX -#define UINT_LEAST8_MAX __UINT_LEAST8_MAX__ -#undef INT_LEAST16_MAX -#define INT_LEAST16_MAX __INT_LEAST16_MAX__ -#undef INT_LEAST16_MIN -#define INT_LEAST16_MIN (-INT_LEAST16_MAX - 1) -#undef UINT_LEAST16_MAX -#define UINT_LEAST16_MAX __UINT_LEAST16_MAX__ -#undef INT_LEAST32_MAX -#define INT_LEAST32_MAX __INT_LEAST32_MAX__ -#undef INT_LEAST32_MIN -#define INT_LEAST32_MIN (-INT_LEAST32_MAX - 1) -#undef UINT_LEAST32_MAX -#define UINT_LEAST32_MAX __UINT_LEAST32_MAX__ -#undef INT_LEAST64_MAX -#define INT_LEAST64_MAX __INT_LEAST64_MAX__ -#undef INT_LEAST64_MIN -#define INT_LEAST64_MIN (-INT_LEAST64_MAX - 1) -#undef UINT_LEAST64_MAX -#define UINT_LEAST64_MAX __UINT_LEAST64_MAX__ - -#undef INT_FAST8_MAX -#define INT_FAST8_MAX __INT_FAST8_MAX__ -#undef INT_FAST8_MIN -#define INT_FAST8_MIN (-INT_FAST8_MAX - 1) -#undef UINT_FAST8_MAX -#define UINT_FAST8_MAX __UINT_FAST8_MAX__ -#undef INT_FAST16_MAX -#define INT_FAST16_MAX __INT_FAST16_MAX__ -#undef INT_FAST16_MIN -#define INT_FAST16_MIN (-INT_FAST16_MAX - 1) -#undef UINT_FAST16_MAX -#define UINT_FAST16_MAX __UINT_FAST16_MAX__ -#undef INT_FAST32_MAX -#define INT_FAST32_MAX __INT_FAST32_MAX__ -#undef INT_FAST32_MIN -#define INT_FAST32_MIN (-INT_FAST32_MAX - 1) -#undef UINT_FAST32_MAX -#define UINT_FAST32_MAX __UINT_FAST32_MAX__ -#undef INT_FAST64_MAX -#define INT_FAST64_MAX __INT_FAST64_MAX__ -#undef INT_FAST64_MIN -#define INT_FAST64_MIN (-INT_FAST64_MAX - 1) -#undef UINT_FAST64_MAX -#define UINT_FAST64_MAX __UINT_FAST64_MAX__ - -#ifdef __INTPTR_MAX__ -# undef INTPTR_MAX -# define INTPTR_MAX __INTPTR_MAX__ -# undef INTPTR_MIN -# define INTPTR_MIN (-INTPTR_MAX - 1) -#endif -#ifdef __UINTPTR_MAX__ -# undef UINTPTR_MAX -# define UINTPTR_MAX __UINTPTR_MAX__ -#endif - -#undef INTMAX_MAX -#define INTMAX_MAX __INTMAX_MAX__ -#undef INTMAX_MIN -#define INTMAX_MIN (-INTMAX_MAX - 1) -#undef UINTMAX_MAX -#define UINTMAX_MAX __UINTMAX_MAX__ - -/* 7.18.3 Limits of other integer types */ - -#undef PTRDIFF_MAX -#define PTRDIFF_MAX __PTRDIFF_MAX__ -#undef PTRDIFF_MIN -#define PTRDIFF_MIN (-PTRDIFF_MAX - 1) - -#undef SIG_ATOMIC_MAX -#define SIG_ATOMIC_MAX __SIG_ATOMIC_MAX__ -#undef SIG_ATOMIC_MIN -#define SIG_ATOMIC_MIN __SIG_ATOMIC_MIN__ - -#undef SIZE_MAX -#define SIZE_MAX __SIZE_MAX__ - -#undef WCHAR_MAX -#define WCHAR_MAX __WCHAR_MAX__ -#undef WCHAR_MIN -#define WCHAR_MIN __WCHAR_MIN__ - -#undef WINT_MAX -#define WINT_MAX __WINT_MAX__ -#undef WINT_MIN -#define WINT_MIN __WINT_MIN__ - -#endif /* (!defined __cplusplus || __cplusplus >= 201103L - || defined __STDC_LIMIT_MACROS) */ - -#if (!defined __cplusplus || __cplusplus >= 201103L \ - || defined __STDC_CONSTANT_MACROS) - -#undef INT8_C -#define INT8_C(c) __INT8_C(c) -#undef INT16_C -#define INT16_C(c) __INT16_C(c) -#undef INT32_C -#define INT32_C(c) __INT32_C(c) -#undef INT64_C -#define INT64_C(c) __INT64_C(c) -#undef UINT8_C -#define UINT8_C(c) __UINT8_C(c) -#undef UINT16_C -#define UINT16_C(c) __UINT16_C(c) -#undef UINT32_C -#define UINT32_C(c) __UINT32_C(c) -#undef UINT64_C -#define UINT64_C(c) __UINT64_C(c) -#undef INTMAX_C -#define INTMAX_C(c) __INTMAX_C(c) -#undef UINTMAX_C -#define UINTMAX_C(c) __UINTMAX_C(c) - -#endif /* (!defined __cplusplus || __cplusplus >= 201103L - || defined __STDC_CONSTANT_MACROS) */ - -#endif /* _GCC_STDINT_H */ diff --git a/lib/gcc/arm-linux-androideabi/4.8/include/stdint.h b/lib/gcc/arm-linux-androideabi/4.8/include/stdint.h deleted file mode 100644 index 83b6f70..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/include/stdint.h +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef _GCC_WRAP_STDINT_H -#if __STDC_HOSTED__ -# if defined __cplusplus && __cplusplus >= 201103L -# undef __STDC_LIMIT_MACROS -# define __STDC_LIMIT_MACROS -# undef __STDC_CONSTANT_MACROS -# define __STDC_CONSTANT_MACROS -# endif -# include_next <stdint.h> -#else -# include "stdint-gcc.h" -#endif -#define _GCC_WRAP_STDINT_H -#endif diff --git a/lib/gcc/arm-linux-androideabi/4.8/include/stdnoreturn.h b/lib/gcc/arm-linux-androideabi/4.8/include/stdnoreturn.h deleted file mode 100644 index ce4bec9..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/include/stdnoreturn.h +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright (C) 2011-2013 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC 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. - -Under Section 7 of GPL version 3, you are granted additional -permissions described in the GCC Runtime Library Exception, version -3.1, as published by the Free Software Foundation. - -You should have received a copy of the GNU General Public License and -a copy of the GCC Runtime Library Exception along with this program; -see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -<http://www.gnu.org/licenses/>. */ - -/* ISO C1X: 7.23 _Noreturn <stdnoreturn.h>. */ - -#ifndef _STDNORETURN_H -#define _STDNORETURN_H - -#ifndef __cplusplus - -#define noreturn _Noreturn - -#endif - -#endif /* stdnoreturn.h */ diff --git a/lib/gcc/arm-linux-androideabi/4.8/include/unwind-arm-common.h b/lib/gcc/arm-linux-androideabi/4.8/include/unwind-arm-common.h deleted file mode 100644 index 9db8af4..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/include/unwind-arm-common.h +++ /dev/null @@ -1,250 +0,0 @@ -/* Header file for the ARM EABI and C6X unwinders - Copyright (C) 2003-2013 Free Software Foundation, Inc. - Contributed by Paul Brook - - This file is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the - Free Software Foundation; either version 3, or (at your option) any - later version. - - This file 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. - - Under Section 7 of GPL version 3, you are granted additional - permissions described in the GCC Runtime Library Exception, version - 3.1, as published by the Free Software Foundation. - - You should have received a copy of the GNU General Public License and - a copy of the GCC Runtime Library Exception along with this program; - see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - <http://www.gnu.org/licenses/>. */ - -/* Language-independent unwinder header public defines. This contains both - ABI defined objects, and GNU support routines. */ - -#ifndef UNWIND_ARM_COMMON_H -#define UNWIND_ARM_COMMON_H - -#define __ARM_EABI_UNWINDER__ 1 - -#ifdef __cplusplus -extern "C" { -#endif - typedef unsigned _Unwind_Word __attribute__((__mode__(__word__))); - typedef signed _Unwind_Sword __attribute__((__mode__(__word__))); - typedef unsigned _Unwind_Ptr __attribute__((__mode__(__pointer__))); - typedef unsigned _Unwind_Internal_Ptr __attribute__((__mode__(__pointer__))); - typedef _Unwind_Word _uw; - typedef unsigned _uw64 __attribute__((mode(__DI__))); - typedef unsigned _uw16 __attribute__((mode(__HI__))); - typedef unsigned _uw8 __attribute__((mode(__QI__))); - - typedef enum - { - _URC_OK = 0, /* operation completed successfully */ - _URC_FOREIGN_EXCEPTION_CAUGHT = 1, - _URC_END_OF_STACK = 5, - _URC_HANDLER_FOUND = 6, - _URC_INSTALL_CONTEXT = 7, - _URC_CONTINUE_UNWIND = 8, - _URC_FAILURE = 9 /* unspecified failure of some kind */ - } - _Unwind_Reason_Code; - - typedef enum - { - _US_VIRTUAL_UNWIND_FRAME = 0, - _US_UNWIND_FRAME_STARTING = 1, - _US_UNWIND_FRAME_RESUME = 2, - _US_ACTION_MASK = 3, - _US_FORCE_UNWIND = 8, - _US_END_OF_STACK = 16 - } - _Unwind_State; - - /* Provided only for compatibility with existing code. */ - typedef int _Unwind_Action; -#define _UA_SEARCH_PHASE 1 -#define _UA_CLEANUP_PHASE 2 -#define _UA_HANDLER_FRAME 4 -#define _UA_FORCE_UNWIND 8 -#define _UA_END_OF_STACK 16 -#define _URC_NO_REASON _URC_OK - - typedef struct _Unwind_Control_Block _Unwind_Control_Block; - typedef struct _Unwind_Context _Unwind_Context; - typedef _uw _Unwind_EHT_Header; - - - /* UCB: */ - - struct _Unwind_Control_Block - { - char exception_class[8]; - void (*exception_cleanup)(_Unwind_Reason_Code, _Unwind_Control_Block *); - /* Unwinder cache, private fields for the unwinder's use */ - struct - { - _uw reserved1; /* Forced unwind stop fn, 0 if not forced */ - _uw reserved2; /* Personality routine address */ - _uw reserved3; /* Saved callsite address */ - _uw reserved4; /* Forced unwind stop arg */ - _uw reserved5; - } - unwinder_cache; - /* Propagation barrier cache (valid after phase 1): */ - struct - { - _uw sp; - _uw bitpattern[5]; - } - barrier_cache; - /* Cleanup cache (preserved over cleanup): */ - struct - { - _uw bitpattern[4]; - } - cleanup_cache; - /* Pr cache (for pr's benefit): */ - struct - { - _uw fnstart; /* function start address */ - _Unwind_EHT_Header *ehtp; /* pointer to EHT entry header word */ - _uw additional; /* additional data */ - _uw reserved1; - } - pr_cache; - long long int :0; /* Force alignment to 8-byte boundary */ - }; - - /* Virtual Register Set*/ - - typedef enum - { - _UVRSC_CORE = 0, /* integer register */ - _UVRSC_VFP = 1, /* vfp */ - _UVRSC_FPA = 2, /* fpa */ - _UVRSC_WMMXD = 3, /* Intel WMMX data register */ - _UVRSC_WMMXC = 4 /* Intel WMMX control register */ - } - _Unwind_VRS_RegClass; - - typedef enum - { - _UVRSD_UINT32 = 0, - _UVRSD_VFPX = 1, - _UVRSD_FPAX = 2, - _UVRSD_UINT64 = 3, - _UVRSD_FLOAT = 4, - _UVRSD_DOUBLE = 5 - } - _Unwind_VRS_DataRepresentation; - - typedef enum - { - _UVRSR_OK = 0, - _UVRSR_NOT_IMPLEMENTED = 1, - _UVRSR_FAILED = 2 - } - _Unwind_VRS_Result; - - /* Frame unwinding state. */ - typedef struct - { - /* The current word (bytes packed msb first). */ - _uw data; - /* Pointer to the next word of data. */ - _uw *next; - /* The number of bytes left in this word. */ - _uw8 bytes_left; - /* The number of words pointed to by ptr. */ - _uw8 words_left; - } - __gnu_unwind_state; - - typedef _Unwind_Reason_Code (*personality_routine) (_Unwind_State, - _Unwind_Control_Block *, _Unwind_Context *); - - _Unwind_VRS_Result _Unwind_VRS_Set(_Unwind_Context *, _Unwind_VRS_RegClass, - _uw, _Unwind_VRS_DataRepresentation, - void *); - - _Unwind_VRS_Result _Unwind_VRS_Get(_Unwind_Context *, _Unwind_VRS_RegClass, - _uw, _Unwind_VRS_DataRepresentation, - void *); - - _Unwind_VRS_Result _Unwind_VRS_Pop(_Unwind_Context *, _Unwind_VRS_RegClass, - _uw, _Unwind_VRS_DataRepresentation); - - - /* Support functions for the PR. */ -#define _Unwind_Exception _Unwind_Control_Block - typedef char _Unwind_Exception_Class[8]; - - void * _Unwind_GetLanguageSpecificData (_Unwind_Context *); - _Unwind_Ptr _Unwind_GetRegionStart (_Unwind_Context *); - - _Unwind_Ptr _Unwind_GetDataRelBase (_Unwind_Context *); - /* This should never be used. */ - _Unwind_Ptr _Unwind_GetTextRelBase (_Unwind_Context *); - - /* Interface functions: */ - _Unwind_Reason_Code _Unwind_RaiseException(_Unwind_Control_Block *ucbp); - void __attribute__((noreturn)) _Unwind_Resume(_Unwind_Control_Block *ucbp); - _Unwind_Reason_Code _Unwind_Resume_or_Rethrow (_Unwind_Control_Block *ucbp); - - typedef _Unwind_Reason_Code (*_Unwind_Stop_Fn) - (int, _Unwind_Action, _Unwind_Exception_Class, - _Unwind_Control_Block *, struct _Unwind_Context *, void *); - _Unwind_Reason_Code _Unwind_ForcedUnwind (_Unwind_Control_Block *, - _Unwind_Stop_Fn, void *); - /* @@@ Use unwind data to perform a stack backtrace. The trace callback - is called for every stack frame in the call chain, but no cleanup - actions are performed. */ - typedef _Unwind_Reason_Code (*_Unwind_Trace_Fn) (_Unwind_Context *, void *); - _Unwind_Reason_Code _Unwind_Backtrace(_Unwind_Trace_Fn, - void*); - - _Unwind_Word _Unwind_GetCFA (struct _Unwind_Context *); - void _Unwind_Complete(_Unwind_Control_Block *ucbp); - void _Unwind_DeleteException (_Unwind_Exception *); - - _Unwind_Reason_Code __gnu_unwind_frame (_Unwind_Control_Block *, - _Unwind_Context *); - _Unwind_Reason_Code __gnu_unwind_execute (_Unwind_Context *, - __gnu_unwind_state *); - - static inline _Unwind_Word - _Unwind_GetGR (_Unwind_Context *context, int regno) - { - _uw val; - _Unwind_VRS_Get (context, _UVRSC_CORE, regno, _UVRSD_UINT32, &val); - return val; - } - -#define _Unwind_GetIPInfo(context, ip_before_insn) \ - (*ip_before_insn = 0, _Unwind_GetIP (context)) - - static inline void - _Unwind_SetGR (_Unwind_Context *context, int regno, _Unwind_Word val) - { - _Unwind_VRS_Set (context, _UVRSC_CORE, regno, _UVRSD_UINT32, &val); - } - - _Unwind_Ptr _Unwind_GetRegionStart (_Unwind_Context *); - void * _Unwind_GetLanguageSpecificData (_Unwind_Context *); - -/* leb128 type numbers have a potentially unlimited size. - The target of the following definitions of _sleb128_t and _uleb128_t - is to have efficient data types large enough to hold the leb128 type - numbers used in the unwind code. */ -typedef long _sleb128_t; -typedef unsigned long _uleb128_t; - -#ifdef __cplusplus -} /* extern "C" */ -#endif - -#endif /* defined UNWIND_ARM_COMMON_H */ diff --git a/lib/gcc/arm-linux-androideabi/4.8/include/unwind.h b/lib/gcc/arm-linux-androideabi/4.8/include/unwind.h deleted file mode 100644 index 8668eda..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/include/unwind.h +++ /dev/null @@ -1,85 +0,0 @@ -/* Header file for the ARM EABI unwinder - Copyright (C) 2003-2013 Free Software Foundation, Inc. - Contributed by Paul Brook - - This file is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the - Free Software Foundation; either version 3, or (at your option) any - later version. - - This file 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. - - Under Section 7 of GPL version 3, you are granted additional - permissions described in the GCC Runtime Library Exception, version - 3.1, as published by the Free Software Foundation. - - You should have received a copy of the GNU General Public License and - a copy of the GCC Runtime Library Exception along with this program; - see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - <http://www.gnu.org/licenses/>. */ - -/* Language-independent unwinder header public defines. This contains both - ABI defined objects, and GNU support routines. */ - -#ifndef UNWIND_ARM_H -#define UNWIND_ARM_H - -#include "unwind-arm-common.h" - -#define UNWIND_STACK_REG 13 -/* Use IP as a scratch register within the personality routine. */ -#define UNWIND_POINTER_REG 12 - -#ifdef __cplusplus -extern "C" { -#endif - /* Decode an R_ARM_TARGET2 relocation. */ - static inline _Unwind_Word - _Unwind_decode_typeinfo_ptr (_Unwind_Word base __attribute__ ((unused)), - _Unwind_Word ptr) - { - _Unwind_Word tmp; - - tmp = *(_Unwind_Word *) ptr; - /* Zero values are always NULL. */ - if (!tmp) - return 0; - -#if (defined(linux) && !defined(__uClinux__)) || defined(__NetBSD__) - /* Pc-relative indirect. */ -#define _GLIBCXX_OVERRIDE_TTYPE_ENCODING (DW_EH_PE_pcrel | DW_EH_PE_indirect) - tmp += ptr; - tmp = *(_Unwind_Word *) tmp; -#elif defined(__symbian__) || defined(__uClinux__) -#define _GLIBCXX_OVERRIDE_TTYPE_ENCODING (DW_EH_PE_absptr) - /* Absolute pointer. Nothing more to do. */ -#else -#define _GLIBCXX_OVERRIDE_TTYPE_ENCODING (DW_EH_PE_pcrel) - /* Pc-relative pointer. */ - tmp += ptr; -#endif - return tmp; - } - - static inline _Unwind_Reason_Code - __gnu_unwind_24bit (_Unwind_Context * context __attribute__ ((unused)), - _uw data __attribute__ ((unused)), - int compact __attribute__ ((unused))) - { - return _URC_FAILURE; - } - /* Return the address of the instruction, not the actual IP value. */ -#define _Unwind_GetIP(context) \ - (_Unwind_GetGR (context, 15) & ~(_Unwind_Word)1) - -#define _Unwind_SetIP(context, val) \ - _Unwind_SetGR (context, 15, val | (_Unwind_GetGR (context, 15) & 1)) - -#ifdef __cplusplus -} /* extern "C" */ -#endif - -#endif /* defined UNWIND_ARM_H */ diff --git a/lib/gcc/arm-linux-androideabi/4.8/include/varargs.h b/lib/gcc/arm-linux-androideabi/4.8/include/varargs.h deleted file mode 100644 index 4b9803e..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/include/varargs.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef _VARARGS_H -#define _VARARGS_H - -#error "GCC no longer implements <varargs.h>." -#error "Revise your code to use <stdarg.h>." - -#endif diff --git a/lib/gcc/arm-linux-androideabi/4.8/libgcc.a b/lib/gcc/arm-linux-androideabi/4.8/libgcc.a Binary files differdeleted file mode 100644 index 17abc2a..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/libgcc.a +++ /dev/null diff --git a/lib/gcc/arm-linux-androideabi/4.8/libgcov.a b/lib/gcc/arm-linux-androideabi/4.8/libgcov.a Binary files differdeleted file mode 100644 index 15c91b2..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/libgcov.a +++ /dev/null diff --git a/lib/gcc/arm-linux-androideabi/4.8/thumb/crtbegin.o b/lib/gcc/arm-linux-androideabi/4.8/thumb/crtbegin.o Binary files differdeleted file mode 100644 index 509aa2f..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/thumb/crtbegin.o +++ /dev/null diff --git a/lib/gcc/arm-linux-androideabi/4.8/thumb/crtbeginS.o b/lib/gcc/arm-linux-androideabi/4.8/thumb/crtbeginS.o Binary files differdeleted file mode 100644 index d7c40d6..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/thumb/crtbeginS.o +++ /dev/null diff --git a/lib/gcc/arm-linux-androideabi/4.8/thumb/crtbeginT.o b/lib/gcc/arm-linux-androideabi/4.8/thumb/crtbeginT.o Binary files differdeleted file mode 100644 index 509aa2f..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/thumb/crtbeginT.o +++ /dev/null diff --git a/lib/gcc/arm-linux-androideabi/4.8/thumb/crtend.o b/lib/gcc/arm-linux-androideabi/4.8/thumb/crtend.o Binary files differdeleted file mode 100644 index 7171c79..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/thumb/crtend.o +++ /dev/null diff --git a/lib/gcc/arm-linux-androideabi/4.8/thumb/crtendS.o b/lib/gcc/arm-linux-androideabi/4.8/thumb/crtendS.o Binary files differdeleted file mode 100644 index 7171c79..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/thumb/crtendS.o +++ /dev/null diff --git a/lib/gcc/arm-linux-androideabi/4.8/thumb/libgcc.a b/lib/gcc/arm-linux-androideabi/4.8/thumb/libgcc.a Binary files differdeleted file mode 100644 index 3012d8c..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/thumb/libgcc.a +++ /dev/null diff --git a/lib/gcc/arm-linux-androideabi/4.8/thumb/libgcov.a b/lib/gcc/arm-linux-androideabi/4.8/thumb/libgcov.a Binary files differdeleted file mode 100644 index 68c0e58..0000000 --- a/lib/gcc/arm-linux-androideabi/4.8/thumb/libgcov.a +++ /dev/null |