.5/libgcc/../gcc/usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/host/usr/lib/gcc/i486-unknown-linux-uclibc/4.3.5/include/usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/host/usr/i486-unknown-linux-uclibc/sysroot/usr/include/bits/usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/host/usr/i486-unknown-linux-uclibc/sysroot/usr/includelibgcov.cstddef.htypes.hpthreadtypes.hstdio.huClibc_stdio.hgcov-io.h׃Y/| WAB BttWuSSWu  Wu  PR*uR*5PR5@P@GPRGJuRJSuSWuRWQ TVW+___gcov_interval_profilerWclosewritesteps__nextopenshort intsize_t__ungot__io_close_fndelta__io_write_fnmodeGNU C 4.3.5file__gcov_interval_profilervalue__modeflagslength__bufstartreadlong long int_pthread_descr_struct__gcov_var__ssize_t__STDIO_FILE_STRUCTlong int/usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/build/gcc-4.3.5-target/i486-unknown-linux-uclibc/libgccoffset__offmax_t__io_read_fn__cookie__m_lockgcov_position_t__bufreadunsigned charsigned charlong long unsigned intunsigned intoverread_IO_cookie_io_functions_tstartshort unsigned intcharseek__io_seek_fn__user_lockingbuffer_pthread_descr__bufendlong unsigned int__m_kind__off_t__bufposgcov_unsigned_t__m_owner__filedes/usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/toolchain/gcc-4.3.5/libgcc/../gcc/libgcov.cerror__status__m_reservedFILEgcov_type__m_count__gcs__spinlockcounterspthread_mutex_t_pthread_fastlock__lockGCC: (Buildroot 2011.02) 4.3.5.symtab.strtab.shstrtab.text.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.rel.debug_frame.debug_loc.rel.debug_pubnames.rel.debug_aranges.debug_str.comment.note.GNU-stack4W!',>_: XNgJ ^p4Z  k1z /v    0$ 0 4 4$    Wlibgcov.c__gcov_interval_profiler    !- : A H O V ] d k r y ~            . 9 D P ^ l z           6 [       ! , 7 H V e t             + 0 ; @ K Q R/89 1326314881 500 100 100644 5324 ` ELF 4(UWVME UƉ׃u}!ƋE! t QAQ ^_]% $ > : ; I$ > $ >   I : ;  : ; I8 <  : ;  : ;I8 &I' III!I/  : ;!I/.? : ;' @: ;I4: ;I? < +QDint!7 d>%E <># q%#L#  M- EN%# aO%# P# Q%# R#SR.CL. hS# (# %# {# [# # # # y# k# 6 %#0  -#4 Ea}l5,>@Z,)e%%0Ɛ%  # # $# # 5Z͠LLC77Wo6  ]# +# Z7# t7# 7# 6%# L%# E#8 vD |A,b6K GaE /usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/toolchain/gcc-4.3.5/libgcc/../gcc/usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/host/usr/lib/gcc/i486-unknown-linux-uclibc/4.3.5/include/usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/host/usr/i486-unknown-linux-uclibc/sysroot/usr/include/bits/usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/host/usr/i486-unknown-linux-uclibc/sysroot/usr/includelibgcov.cstddef.htypes.hpthreadtypes.hstdio.huClibc_stdio.hgcov-io.h| DAB EttDu,,DQ,Pu,Du R'/__gcov_pow2_profilerDclosewrite__nextopenshort intsize_t__ungot__io_close_fn__io_write_fnmodeGNU C 4.3.5filevalue__modeflagslength__bufstartreadlong long int_pthread_descr_struct__gcov_var__ssize_t__STDIO_FILE_STRUCTlong int/usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/build/gcc-4.3.5-target/i486-unknown-linux-uclibc/libgccoffset__offmax_t__io_read_fn__cookie__m_lockgcov_position_t__bufreadunsigned charsigned charlong long unsigned intunsigned intoverread_IO_cookie_io_functions_tstartshort unsigned intcharseek__io_seek_fn__user_lockingbuffer_pthread_descr__bufendlong unsigned int__gcov_pow2_profiler__m_kind__off_t__bufposgcov_unsigned_t__m_owner__filedes/usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/toolchain/gcc-4.3.5/libgcc/../gcc/libgcov.cerror__status__m_reservedFILEgcov_type__m_count__gcs__spinlockcounterspthread_mutex_t_pthread_fastlock__lockGCC: (Buildroot 2011.02) 4.3.5.symtab.strtab.shstrtab.text.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.rel.debug_frame.debug_loc.rel.debug_pubnames.rel.debug_aranges.debug_str.comment.note.GNU-stack4D!x'x,x >/: <`NeJ ^4Z  kPz+v    0 0         Dlibgcov.c__gcov_pow2_profiler    !- : A H O V ] d k r y ~            . 9 D P ^ l z           6 [       ! , 7 H V e t            ! R/112 1326314881 500 100 100644 5572 ` ELFt4(UWVME E};yu;u AQ 0AQ uAA Ey AQ AQX^_]% $ > : ; I$ > $ >   I : ;  : ; I8 <  : ;  : ;I8 &I' III!I/  : ;!I/.: ;' : ;I.? : ;' @: ;I1X Y14: ;I? < mdint@7XE6>%E `># %##  M- iN%# O%# P# Q%# R#Sv.CL. S# G# %# # # # # +# # # o %#0  -#4 E}5,w@Z,be%%OƐ%  # %# ]# # 5Z%͠LLC77{o6  # ?+# 7# 7# 7# Z%# %# ~#8  A6]dbA,6K_ GfE /usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/toolchain/gcc-4.3.5/libgcc/../gcc/usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/host/usr/lib/gcc/i486-unknown-linux-uclibc/4.3.5/include/usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/host/usr/i486-unknown-linux-uclibc/sysroot/usr/include/bits/usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/host/usr/i486-unknown-linux-uclibc/sysroot/usr/includelibgcov.cstddef.htypes.hpthreadtypes.hstdio.huClibc_stdio.hgcov-io.hq<ס| dAB EttdudQu bu Wbdu ,q __gcov_one_value_profilerdclose__gcov_one_value_profiler_bodywrite__nextopenshort intsize_t__ungot__io_close_fn__gcov_one_value_profiler__io_write_fnmodeGNU C 4.3.5filevalue__modeflagslength__bufstartreadlong long int_pthread_descr_struct__gcov_var__ssize_t__STDIO_FILE_STRUCTlong int/usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/build/gcc-4.3.5-target/i486-unknown-linux-uclibc/libgccoffset__offmax_t__io_read_fn__cookie__m_lockgcov_position_t__bufreadunsigned charsigned charlong long unsigned intunsigned intoverread_IO_cookie_io_functions_tstartshort unsigned intcharseek__io_seek_fn__user_lockingbuffer_pthread_descr__bufendlong unsigned int__m_kind__off_t__bufposgcov_unsigned_t__m_owner__filedes/usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/toolchain/gcc-4.3.5/libgcc/../gcc/libgcov.cerror__status__m_reservedFILEgcov_type__m_count__gcs__spinlockcounterspthread_mutex_t_pthread_fastlock__lockGCC: (Buildroot 2011.02) 4.3.5.symtab.strtab.shstrtab.text.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.rel.debug_frame.debug_loc.rel.debug_pubnames.rel.debug_aranges.debug_str.comment.note.GNU-stack4d!',A>q: NJjJ ^4Z  kzp 0v    0 0    %    dlibgcov.c__gcov_one_value_profiler    !- : A H O V ] d k r y ~            . 9 D P ^ l z           6 [       ! , 7 H V e t           ' 2 7 B KOc R/140 1326314881 500 100 100644 5768 ` ELF4(UWVME E}E9EuN;yuu;1u AQ 0AQ uAA Ey AQ AQX^_]% $ > : ; I$ > $ >   I : ;  : ; I8 <  : ;  : ;I8 &I' III!I/  : ;!I/.: ;' : ;I.? : ;' @: ;I1X Y14: ;I? < point@7[<6>%E `># %##  M- N%# O%# P# Q%# R#S.CL. S# G# %# # # # # +# # # { %#0  -#4 Eu}5,]@Z,ne%%OƐ%  # %# i# # 5Z͠LLC77o6  |# 6+# n7# 7# 7# f%# k%# #8  A6l o A, 6K O j  GiE /usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/toolchain/gcc-4.3.5/libgcc/../gcc/usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/host/usr/lib/gcc/i486-unknown-linux-uclibc/4.3.5/include/usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/host/usr/i486-unknown-linux-uclibc/sysroot/usr/include/bits/usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/host/usr/i486-unknown-linux-uclibc/sysroot/usr/includelibgcov.cstddef.htypes.hpthreadtypes.hstdio.huClibc_stdio.hgcov-io.h=fס| oAB EttouoQu mu Wmou  ou5P5ou0 __gcov_indirect_call_profileroclose__gcov_one_value_profiler_bodywrite__nextopenshort intsize_t__ungot__io_close_fn__io_write_fnmodeGNU C 4.3.5filevalue__modeflagslength__bufstartreadlong long int_pthread_descr_struct__gcov_var__ssize_tcur_funclong int/usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/build/gcc-4.3.5-target/i486-unknown-linux-uclibc/libgccoffset__offmax_t__io_read_fn__cookie__m_lockgcov_position_t__bufreadunsigned charcountersigned charlong long unsigned int__STDIO_FILE_STRUCTunsigned intoverread_IO_cookie_io_functions_tstartshort unsigned intcallee_funcchar__statusseek__io_seek_fn__user_lockingbuffer_pthread_descr__bufendlong unsigned int__m_kind__off_t__bufposgcov_unsigned_t__m_owner__filedes/usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/toolchain/gcc-4.3.5/libgcc/../gcc/libgcov.cerror__gcov_indirect_call_profiler__m_reservedFILEgcov_type__m_count__gcs__spinlockcounterspthread_mutex_t_pthread_fastlock__lockGCC: (Buildroot 2011.02) 4.3.5.symtab.strtab.shstrtab.text.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.rel.debug_frame.debug_loc.rel.debug_pubnames.rel.debug_aranges.debug_str.comment.note.GNU-stack4o!',A>: NvmJ X^4Z ` k z 4v p   x0? 02 RR )    olibgcov.c__gcov_indirect_call_profiler    !- : A H O V ] d k r y ~            . 9 D P ^ l z           6 [       ! , 7 H V e t           ' 2 7 B G R W b ko R/172 1326314881 500 100 100644 5240 ` ELF\ 4(UME UQAQ ]% $ > : ; I$ > $ >   I : ;  : ; I8 <  : ;  : ;I8 &I' III!I/  : ;!I/.? : ;' @: ;I : ;I4: ;I? < *Qint!77$|>%E ?># t%#d#  M- HN%# dO%# P# Q%# R#SU.CL. hS# (# %# {# s# # # # # n# N %#0  -#4 Ey}5,>@Z,Ae%%0Ɛ%  # # <# # 5Z͠LLC77Zo6  ]# +# r7# t7# 7# 9%# L%# ]#8 Ab6, G^E /usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/toolchain/gcc-4.3.5/libgcc/../gcc/usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/host/usr/lib/gcc/i486-unknown-linux-uclibc/4.3.5/include/usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/host/usr/i486-unknown-linux-uclibc/sysroot/usr/include/bits/usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/host/usr/i486-unknown-linux-uclibc/sysroot/usr/includelibgcov.cstddef.htypes.hpthreadtypes.hstdio.huClibc_stdio.hgcov-io.hg| AB ttu  Pu*.__gcov_average_profilerclosewrite__nextopenshort intsize_t__ungot__io_close_fn__io_write_fnmodeGNU C 4.3.5filevalue__modeflagslength__bufstartreadlong long int_pthread_descr_struct__gcov_average_profiler__gcov_var__ssize_t__STDIO_FILE_STRUCTlong int/usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/build/gcc-4.3.5-target/i486-unknown-linux-uclibc/libgccoffset__offmax_t__io_read_fn__cookie__m_lockgcov_position_t__bufreadunsigned charsigned charlong long unsigned intunsigned intoverread_IO_cookie_io_functions_tstartshort unsigned intcharseek__io_seek_fn__user_lockingbuffer_pthread_descr__bufendlong unsigned int__m_kind__off_t__bufposgcov_unsigned_t__m_owner__filedes/usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/toolchain/gcc-4.3.5/libgcc/../gcc/libgcov.cerror__status__m_reservedFILEgcov_type__m_count__gcs__spinlockcounterspthread_mutex_t_pthread_fastlock__lockGCC: (Buildroot 2011.02) 4.3.5.symtab.strtab.shstrtab.text.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.rel.debug_frame.debug_loc.rel.debug_pubnames.rel.debug_aranges.debug_str.comment.note.GNU-stack4!P'P,P>l.: XNbJ H^,Z P k(Qzy.v `   h00x    #    libgcov.c__gcov_average_profiler    !- : A H O V ] d k r y ~            . 9 D P ^ l z           6 [       ! , 7 H V e t            R/198 1326314881 500 100 100644 5220 ` ELFL 4(UEU U P]% $ > : ; I$ > $ >   I : ;  : ; I8 <  : ;  : ;I8 &I' III!I/  : ;!I/.? : ;' @: ;I : ;I4: ;I? < *eint573 x+>%E ;># p%#`#  M- DN%# `O%# P# Q%# R#SQ.CL. |S# <# %# # o# # # # # j# J %#0  -#4 Eu}5,R@Z,=e%%DƐ%  # # 8# # 5Z͠LLC77Vo6  q# +# n7# 7# 7# 5%# `%# Y#8 ${#Av#6, G]E /usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/toolchain/gcc-4.3.5/libgcc/../gcc/usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/host/usr/lib/gcc/i486-unknown-linux-uclibc/4.3.5/include/usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/host/usr/i486-unknown-linux-uclibc/sysroot/usr/include/bits/usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/host/usr/i486-unknown-linux-uclibc/sysroot/usr/includelibgcov.cstddef.htypes.hpthreadtypes.hstdio.huClibc_stdio.hgcov-io.hg| AB ttuRu&.__gcov_ior_profilerclose__gcov_ior_profilerwrite__nextopenshort intsize_t__ungot__io_close_fn__io_write_fnmodeGNU C 4.3.5filevalue__modeflagslength__bufstartreadlong long int_pthread_descr_struct__gcov_var__ssize_t__STDIO_FILE_STRUCTlong int/usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/build/gcc-4.3.5-target/i486-unknown-linux-uclibc/libgccoffset__offmax_t__io_read_fn__cookie__m_lockgcov_position_t__bufreadunsigned charsigned charlong long unsigned intunsigned intoverread_IO_cookie_io_functions_tstartshort unsigned intcharseek__io_seek_fn__user_lockingbuffer_pthread_descr__bufendlong unsigned int__m_kind__off_t__bufposgcov_unsigned_t__m_owner__filedes/usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/toolchain/gcc-4.3.5/libgcc/../gcc/libgcov.cerror__status__m_reservedFILEgcov_type__m_count__gcs__spinlockcounterspthread_mutex_t_pthread_fastlock__lockGCC: (Buildroot 2011.02) 4.3.5.symtab.strtab.shstrtab.text.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.rel.debug_frame.debug_loc.rel.debug_pubnames.rel.debug_aranges.debug_str.comment.note.GNU-stack4!H'H,H>d.: XNaJ 4^,Z < k Qzq*v L   T00h        libgcov.c__gcov_ior_profiler    !- : A H O V ] d k r y ~            . 9 D P ^ l z           6 [       ! , 7 H V e t            R/220 1326314881 500 100 100644 5384 ` ELF 4(UWV} 7GE Ɖ7 UEGM } uڃ^_]% $ > : ; I$ > $ >   I : ;  : ; I8 <  : ;  : ;I8 &I' III!I/  : ;!I/.? : ;' @: ;I4: ;I? < +\:int!75"z>%E =># r%#b#  M- FN%# bO%# P# Q%# R#SS.CL. mS# 3# %# # q# # # # ~# l# L %#0  -#4 Ef}q5,I@Z,?e%%;Ɛ%  # # :# # 5Z͠LLC77Xo6  h# +# _7# y7# 7# 7%# W%# [#8  o: }nA,(n7W G_E /usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/toolchain/gcc-4.3.5/libgcc/../gcc/usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/host/usr/lib/gcc/i486-unknown-linux-uclibc/4.3.5/include/usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/host/usr/i486-unknown-linux-uclibc/sysroot/usr/include/bits/usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/host/usr/i486-unknown-linux-uclibc/sysroot/usr/includelibgcov.cstddef.htypes.hpthreadtypes.hstdio.huClibc_stdio.hgcov-io.h| :AB Ett:u  8W8:u  :u #/__gcov_merge_ior:closewrite__nextopenshort intsize_tn_counters__ungot__io_close_fn__io_write_fnmodeGNU C 4.3.5file__modeflagslength__bufstartreadlong long int_pthread_descr_struct__gcov_var__ssize_t__STDIO_FILE_STRUCTlong int/usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/build/gcc-4.3.5-target/i486-unknown-linux-uclibc/libgccoffset__offmax_t__io_read_fn__cookie__m_lockgcov_position_t__bufreadunsigned charsigned charlong long unsigned intunsigned intoverread_IO_cookie_io_functions_t__gcov_merge_iorstartshort unsigned intcharseek__io_seek_fn__user_lockingbuffer_pthread_descr__bufendlong unsigned int__m_kind__off_t__bufposgcov_unsigned_t__m_owner__filedes/usr/local/home/bellard/cpux86/rootdisk/buildroot-2011.02/output/toolchain/gcc-4.3.5/libgcc/../gcc/libgcov.cerror__status__m_reservedFILEgcov_type__m_count__gcs__spinlockcounterspthread_mutex_t_pthread_fastlock__lockGCC: (Buildroot 2011.02) 4.3.5.symtab.strtab.shstrtab.rel.text.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.rel.debug_frame.debug_loc.rel.debug_pubnames.rel.debug_aranges.debug_str.comment.note.GNU-stack4: p%p+p0p B}/> x`RcN b4^  oDw~'z    0 0   0 @0    :libgcov.c__gcov_merge_ior__gcov_read_counter    !- : A H O V ] d k r y ~            . 9 D P ^ l z           6 [       ! , 7 H V e t            ! R$% .% ..%%omp.h&% smmintrin.h'%stdfix.h(% xmmintrin.h)% bmmintrin.h*% stdbool.h+% pmmintrin.h,% mmintrin.h-% mm_malloc.h.%cpuid.h/% tmmintrin.h0%unwind.h1%float.h2%mmintrin-common.h3% varargs.h4%stdarg.h5% mm3dnow.h6% emmintrin.h7% mf-runtime.h8% nmmintrin.h9%stddef.h:%iso646.h;%H ammintrin.h/* Copyright (C) 2005, 2007 Free Software Foundation, Inc. Contributed by Richard Henderson . 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 Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with libgomp; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* As a special exception, if you link this library with other files, some of which are compiled with GCC, to produce an executable, this library does not by itself cause the resulting executable to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the executable file might be covered by the GNU General Public License. */ #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[8] __attribute__((__aligned__(4))); } omp_nest_lock_t; #endif #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; #ifdef __cplusplus } #endif #endif /* OMP_H */ /* Copyright (C) 2007 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 2, 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. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* As a special exception, if you include this header file into source files compiled by GCC, this header file does not by itself cause the resulting executable to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the executable file might be covered by the GNU General Public License. */ /* Implemented from the specification included in the Intel C++ Compiler User Guide and Reference, version 10.0. */ #ifndef _SMMINTRIN_H_INCLUDED #define _SMMINTRIN_H_INCLUDED #ifndef __SSE4_1__ # error "SSE4.1 instruction set not enabled" #else /* We need definitions from the SSSE3, SSE3, SSE2 and SSE header files. */ #include #include /* SSE4.1 */ /* Integer blend instructions - select data from 2 sources using constant/variable mask. */ #ifdef __OPTIMIZE__ extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_blend_epi16 (__m128i __X, __m128i __Y, const int __M) { return (__m128i) __builtin_ia32_pblendw128 ((__v8hi)__X, (__v8hi)__Y, __M); } #else #define _mm_blend_epi16(X, Y, M) \ ((__m128i) __builtin_ia32_pblendw128 ((__v8hi)(__m128i)(X), \ (__v8hi)(__m128i)(Y), (int)(M))) #endif extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_blendv_epi8 (__m128i __X, __m128i __Y, __m128i __M) { return (__m128i) __builtin_ia32_pblendvb128 ((__v16qi)__X, (__v16qi)__Y, (__v16qi)__M); } /* Single precision floating point blend instructions - select data from 2 sources using constant/variable mask. */ #ifdef __OPTIMIZE__ extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_blend_ps (__m128 __X, __m128 __Y, const int __M) { return (__m128) __builtin_ia32_blendps ((__v4sf)__X, (__v4sf)__Y, __M); } #else #define _mm_blend_ps(X, Y, M) \ ((__m128) __builtin_ia32_blendps ((__v4sf)(__m128)(X), \ (__v4sf)(__m128)(Y), (int)(M))) #endif extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_blendv_ps (__m128 __X, __m128 __Y, __m128 __M) { return (__m128) __builtin_ia32_blendvps ((__v4sf)__X, (__v4sf)__Y, (__v4sf)__M); } /* Double precision floating point blend instructions - select data from 2 sources using constant/variable mask. */ #ifdef __OPTIMIZE__ extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_blend_pd (__m128d __X, __m128d __Y, const int __M) { return (__m128d) __builtin_ia32_blendpd ((__v2df)__X, (__v2df)__Y, __M); } #else #define _mm_blend_pd(X, Y, M) \ ((__m128d) __builtin_ia32_blendpd ((__v2df)(__m128d)(X), \ (__v2df)(__m128d)(Y), (int)(M))) #endif extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_blendv_pd (__m128d __X, __m128d __Y, __m128d __M) { return (__m128d) __builtin_ia32_blendvpd ((__v2df)__X, (__v2df)__Y, (__v2df)__M); } /* Dot product instructions with mask-defined summing and zeroing parts of result. */ #ifdef __OPTIMIZE__ extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_dp_ps (__m128 __X, __m128 __Y, const int __M) { return (__m128) __builtin_ia32_dpps ((__v4sf)__X, (__v4sf)__Y, __M); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_dp_pd (__m128d __X, __m128d __Y, const int __M) { return (__m128d) __builtin_ia32_dppd ((__v2df)__X, (__v2df)__Y, __M); } #else #define _mm_dp_ps(X, Y, M) \ ((__m128) __builtin_ia32_dpps ((__v4sf)(__m128)(X), \ (__v4sf)(__m128)(Y), (int)(M))) #define _mm_dp_pd(X, Y, M) \ ((__m128d) __builtin_ia32_dppd ((__v2df)(__m128d)(X), \ (__v2df)(__m128d)(Y), (int)(M))) #endif /* Packed integer 64-bit comparison, zeroing or filling with ones corresponding parts of result. */ extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpeq_epi64 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_pcmpeqq ((__v2di)__X, (__v2di)__Y); } /* Min/max packed integer instructions. */ extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_min_epi8 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_pminsb128 ((__v16qi)__X, (__v16qi)__Y); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_max_epi8 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_pmaxsb128 ((__v16qi)__X, (__v16qi)__Y); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_min_epu16 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_pminuw128 ((__v8hi)__X, (__v8hi)__Y); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_max_epu16 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_pmaxuw128 ((__v8hi)__X, (__v8hi)__Y); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_min_epi32 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_pminsd128 ((__v4si)__X, (__v4si)__Y); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_max_epi32 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_pmaxsd128 ((__v4si)__X, (__v4si)__Y); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_min_epu32 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_pminud128 ((__v4si)__X, (__v4si)__Y); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_max_epu32 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_pmaxud128 ((__v4si)__X, (__v4si)__Y); } /* Packed integer 32-bit multiplication with truncation of upper halves of results. */ extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mullo_epi32 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_pmulld128 ((__v4si)__X, (__v4si)__Y); } /* Packed integer 32-bit multiplication of 2 pairs of operands with two 64-bit results. */ extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mul_epi32 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_pmuldq128 ((__v4si)__X, (__v4si)__Y); } /* Insert single precision float into packed single precision array element selected by index N. The bits [7-6] of N define S index, the bits [5-4] define D index, and bits [3-0] define zeroing mask for D. */ #ifdef __OPTIMIZE__ extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_insert_ps (__m128 __D, __m128 __S, const int __N) { return (__m128) __builtin_ia32_insertps128 ((__v4sf)__D, (__v4sf)__S, __N); } #else #define _mm_insert_ps(D, S, N) \ ((__m128) __builtin_ia32_insertps128 ((__v4sf)(__m128)(D), \ (__v4sf)(__m128)(S), (int)(N))) #endif /* Helper macro to create the N value for _mm_insert_ps. */ #define _MM_MK_INSERTPS_NDX(S, D, M) (((S) << 6) | ((D) << 4) | (M)) /* Extract binary representation of single precision float from packed single precision array element of X selected by index N. */ #ifdef __OPTIMIZE__ extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_extract_ps (__m128 __X, const int __N) { union { int i; float f; } __tmp; __tmp.f = __builtin_ia32_vec_ext_v4sf ((__v4sf)__X, __N); return __tmp.i; } #else #define _mm_extract_ps(X, N) \ (__extension__ \ ({ \ union { int i; float f; } __tmp; \ __tmp.f = __builtin_ia32_vec_ext_v4sf ((__v4sf)(__m128)(X), (int)(N)); \ __tmp.i; \ })) #endif /* Extract binary representation of single precision float into D from packed single precision array element of S selected by index N. */ #define _MM_EXTRACT_FLOAT(D, S, N) \ { (D) = __builtin_ia32_vec_ext_v4sf ((__v4sf)(S), (N)); } /* Extract specified single precision float element into the lower part of __m128. */ #define _MM_PICK_OUT_PS(X, N) \ _mm_insert_ps (_mm_setzero_ps (), (X), \ _MM_MK_INSERTPS_NDX ((N), 0, 0x0e)) /* Insert integer, S, into packed integer array element of D selected by index N. */ #ifdef __OPTIMIZE__ extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_insert_epi8 (__m128i __D, int __S, const int __N) { return (__m128i) __builtin_ia32_vec_set_v16qi ((__v16qi)__D, __S, __N); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_insert_epi32 (__m128i __D, int __S, const int __N) { return (__m128i) __builtin_ia32_vec_set_v4si ((__v4si)__D, __S, __N); } #ifdef __x86_64__ extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_insert_epi64 (__m128i __D, long long __S, const int __N) { return (__m128i) __builtin_ia32_vec_set_v2di ((__v2di)__D, __S, __N); } #endif #else #define _mm_insert_epi8(D, S, N) \ ((__m128i) __builtin_ia32_vec_set_v16qi ((__v16qi)(__m128i)(D), \ (int)(S), (int)(N))) #define _mm_insert_epi32(D, S, N) \ ((__m128i) __builtin_ia32_vec_set_v4si ((__v4si)(__m128i)(D), \ (int)(S), (int)(N))) #ifdef __x86_64__ #define _mm_insert_epi64(D, S, N) \ ((__m128i) __builtin_ia32_vec_set_v2di ((__v2di)(__m128i)(D), \ (long long)(S), (int)(N))) #endif #endif /* Extract integer from packed integer array element of X selected by index N. */ #ifdef __OPTIMIZE__ extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_extract_epi8 (__m128i __X, const int __N) { return __builtin_ia32_vec_ext_v16qi ((__v16qi)__X, __N); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_extract_epi32 (__m128i __X, const int __N) { return __builtin_ia32_vec_ext_v4si ((__v4si)__X, __N); } #ifdef __x86_64__ extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_extract_epi64 (__m128i __X, const int __N) { return __builtin_ia32_vec_ext_v2di ((__v2di)__X, __N); } #endif #else #define _mm_extract_epi8(X, N) \ ((int) __builtin_ia32_vec_ext_v16qi ((__v16qi)(__m128i)(X), (int)(N))) #define _mm_extract_epi32(X, N) \ ((int) __builtin_ia32_vec_ext_v4si ((__v4si)(__m128i)(X), (int)(N))) #ifdef __x86_64__ #define _mm_extract_epi64(X, N) \ ((long long) __builtin_ia32_vec_ext_v2di ((__v2di)(__m128i)(X), (int)(N))) #endif #endif /* Return horizontal packed word minimum and its index in bits [15:0] and bits [18:16] respectively. */ extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_minpos_epu16 (__m128i __X) { return (__m128i) __builtin_ia32_phminposuw128 ((__v8hi)__X); } /* Packed integer sign-extension. */ extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtepi8_epi32 (__m128i __X) { return (__m128i) __builtin_ia32_pmovsxbd128 ((__v16qi)__X); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtepi16_epi32 (__m128i __X) { return (__m128i) __builtin_ia32_pmovsxwd128 ((__v8hi)__X); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtepi8_epi64 (__m128i __X) { return (__m128i) __builtin_ia32_pmovsxbq128 ((__v16qi)__X); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtepi32_epi64 (__m128i __X) { return (__m128i) __builtin_ia32_pmovsxdq128 ((__v4si)__X); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtepi16_epi64 (__m128i __X) { return (__m128i) __builtin_ia32_pmovsxwq128 ((__v8hi)__X); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtepi8_epi16 (__m128i __X) { return (__m128i) __builtin_ia32_pmovsxbw128 ((__v16qi)__X); } /* Packed integer zero-extension. */ extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtepu8_epi32 (__m128i __X) { return (__m128i) __builtin_ia32_pmovzxbd128 ((__v16qi)__X); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtepu16_epi32 (__m128i __X) { return (__m128i) __builtin_ia32_pmovzxwd128 ((__v8hi)__X); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtepu8_epi64 (__m128i __X) { return (__m128i) __builtin_ia32_pmovzxbq128 ((__v16qi)__X); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtepu32_epi64 (__m128i __X) { return (__m128i) __builtin_ia32_pmovzxdq128 ((__v4si)__X); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtepu16_epi64 (__m128i __X) { return (__m128i) __builtin_ia32_pmovzxwq128 ((__v8hi)__X); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtepu8_epi16 (__m128i __X) { return (__m128i) __builtin_ia32_pmovzxbw128 ((__v16qi)__X); } /* Pack 8 double words from 2 operands into 8 words of result with unsigned saturation. */ extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_packus_epi32 (__m128i __X, __m128i __Y) { return (__m128i) __builtin_ia32_packusdw128 ((__v4si)__X, (__v4si)__Y); } /* Sum absolute 8-bit integer difference of adjacent groups of 4 byte integers in the first 2 operands. Starting offsets within operands are determined by the 3rd mask operand. */ #ifdef __OPTIMIZE__ extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mpsadbw_epu8 (__m128i __X, __m128i __Y, const int __M) { return (__m128i) __builtin_ia32_mpsadbw128 ((__v16qi)__X, (__v16qi)__Y, __M); } #else #define _mm_mpsadbw_epu8(X, Y, M) \ ((__m128i) __builtin_ia32_mpsadbw128 ((__v16qi)(__m128i)(X), \ (__v16qi)(__m128i)(Y), (int)(M))) #endif /* Load double quadword using non-temporal aligned hint. */ extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_stream_load_si128 (__m128i *__X) { return (__m128i) __builtin_ia32_movntdqa ((__v2di *) __X); } #ifdef __SSE4_2__ /* These macros specify the source data format. */ #define _SIDD_UBYTE_OPS 0x00 #define _SIDD_UWORD_OPS 0x01 #define _SIDD_SBYTE_OPS 0x02 #define _SIDD_SWORD_OPS 0x03 /* These macros specify the comparison operation. */ #define _SIDD_CMP_EQUAL_ANY 0x00 #define _SIDD_CMP_RANGES 0x04 #define _SIDD_CMP_EQUAL_EACH 0x08 #define _SIDD_CMP_EQUAL_ORDERED 0x0c /* These macros specify the the polarity. */ #define _SIDD_POSITIVE_POLARITY 0x00 #define _SIDD_NEGATIVE_POLARITY 0x10 #define _SIDD_MASKED_POSITIVE_POLARITY 0x20 #define _SIDD_MASKED_NEGATIVE_POLARITY 0x30 /* These macros specify the output selection in _mm_cmpXstri (). */ #define _SIDD_LEAST_SIGNIFICANT 0x00 #define _SIDD_MOST_SIGNIFICANT 0x40 /* These macros specify the output selection in _mm_cmpXstrm (). */ #define _SIDD_BIT_MASK 0x00 #define _SIDD_UNIT_MASK 0x40 /* Intrinsics for text/string processing. */ #ifdef __OPTIMIZE__ extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpistrm (__m128i __X, __m128i __Y, const int __M) { return (__m128i) __builtin_ia32_pcmpistrm128 ((__v16qi)__X, (__v16qi)__Y, __M); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpistri (__m128i __X, __m128i __Y, const int __M) { return __builtin_ia32_pcmpistri128 ((__v16qi)__X, (__v16qi)__Y, __M); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpestrm (__m128i __X, int __LX, __m128i __Y, int __LY, const int __M) { return (__m128i) __builtin_ia32_pcmpestrm128 ((__v16qi)__X, __LX, (__v16qi)__Y, __LY, __M); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpestri (__m128i __X, int __LX, __m128i __Y, int __LY, const int __M) { return __builtin_ia32_pcmpestri128 ((__v16qi)__X, __LX, (__v16qi)__Y, __LY, __M); } #else #define _mm_cmpistrm(X, Y, M) \ ((__m128i) __builtin_ia32_pcmpistrm128 ((__v16qi)(__m128i)(X), \ (__v16qi)(__m128i)(Y), (int)(M))) #define _mm_cmpistri(X, Y, M) \ ((int) __builtin_ia32_pcmpistri128 ((__v16qi)(__m128i)(X), \ (__v16qi)(__m128i)(Y), (int)(M))) #define _mm_cmpestrm(X, LX, Y, LY, M) \ ((__m128i) __builtin_ia32_pcmpestrm128 ((__v16qi)(__m128i)(X), \ (int)(LX), (__v16qi)(__m128i)(Y), \ (int)(LY), (int)(M))) #define _mm_cmpestri(X, LX, Y, LY, M) \ ((int) __builtin_ia32_pcmpestri128 ((__v16qi)(__m128i)(X), (int)(LX), \ (__v16qi)(__m128i)(Y), (int)(LY), \ (int)(M))) #endif /* Intrinsics for text/string processing and reading values of EFlags. */ #ifdef __OPTIMIZE__ extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpistra (__m128i __X, __m128i __Y, const int __M) { return __builtin_ia32_pcmpistria128 ((__v16qi)__X, (__v16qi)__Y, __M); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpistrc (__m128i __X, __m128i __Y, const int __M) { return __builtin_ia32_pcmpistric128 ((__v16qi)__X, (__v16qi)__Y, __M); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpistro (__m128i __X, __m128i __Y, const int __M) { return __builtin_ia32_pcmpistrio128 ((__v16qi)__X, (__v16qi)__Y, __M); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpistrs (__m128i __X, __m128i __Y, const int __M) { return __builtin_ia32_pcmpistris128 ((__v16qi)__X, (__v16qi)__Y, __M); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpistrz (__m128i __X, __m128i __Y, const int __M) { return __builtin_ia32_pcmpistriz128 ((__v16qi)__X, (__v16qi)__Y, __M); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpestra (__m128i __X, int __LX, __m128i __Y, int __LY, const int __M) { return __builtin_ia32_pcmpestria128 ((__v16qi)__X, __LX, (__v16qi)__Y, __LY, __M); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpestrc (__m128i __X, int __LX, __m128i __Y, int __LY, const int __M) { return __builtin_ia32_pcmpestric128 ((__v16qi)__X, __LX, (__v16qi)__Y, __LY, __M); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpestro (__m128i __X, int __LX, __m128i __Y, int __LY, const int __M) { return __builtin_ia32_pcmpestrio128 ((__v16qi)__X, __LX, (__v16qi)__Y, __LY, __M); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpestrs (__m128i __X, int __LX, __m128i __Y, int __LY, const int __M) { return __builtin_ia32_pcmpestris128 ((__v16qi)__X, __LX, (__v16qi)__Y, __LY, __M); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cmpestrz (__m128i __X, int __LX, __m128i __Y, int __LY, const int __M) { return __builtin_ia32_pcmpestriz128 ((__v16qi)__X, __LX, (__v16qi)__Y, __LY, __M); } #else #define _mm_cmpistra(X, Y, M) \ ((int) __builtin_ia32_pcmpistria128 ((__v16qi)(__m128i)(X), \ (__v16qi)(__m128i)(Y), (int)(M))) #define _mm_cmpistrc(X, Y, M) \ ((int) __builtin_ia32_pcmpistric128 ((__v16qi)(__m128i)(X), \ (__v16qi)(__m128i)(Y), (int)(M))) #define _mm_cmpistro(X, Y, M) \ ((int) __builtin_ia32_pcmpistrio128 ((__v16qi)(__m128i)(X), \ (__v16qi)(__m128i)(Y), (int)(M))) #define _mm_cmpistrs(X, Y, M) \ ((int) __builtin_ia32_pcmpistris128 ((__v16qi)(__m128i)(X), \ (__v16qi)(__m128i)(Y), (int)(M))) #define _mm_cmpistrz(X, Y, M) \ ((int) __builtin_ia32_pcmpistriz128 ((__v16qi)(__m128i)(X), \ (__