diff options
author | Elliott Hughes <enh@google.com> | 2015-06-26 10:40:07 -0700 |
---|---|---|
committer | Elliott Hughes <enh@google.com> | 2015-06-26 10:40:07 -0700 |
commit | d4d816b443cb5798f0f41e0c3f05f6c2dd1d87b5 (patch) | |
tree | 5e3e8f9184a6fa1bf0659eeb947a113aadb50465 | |
parent | 87c09baff80ca5bbe938392d8f320e621707f317 (diff) | |
download | yasm-d4d816b443cb5798f0f41e0c3f05f6c2dd1d87b5.tar.gz |
Upgrade to yasm 1.3.0.
Bug: http://b/22119375
Change-Id: Ie399365eb447436501d711c32d82fe294f353f75
181 files changed, 31945 insertions, 8133 deletions
diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 5cb5fefc..00000000 --- a/.gitignore +++ /dev/null @@ -1,68 +0,0 @@ -autom4te.cache -stamp-h* -libyasm-stdint.h -nasm-token.c -nasm-macros.c -yapp-token.c -gas-token.c -license.c -module.c -x86parse.c -lc3bid.c -re2c-parser.c -re2c-parser.h -yasm -vsyasm -ytasm -re2c -cleanup -genmacro -test_hd -genperf -genversion -genmodule -genstring -version.mac -*_test -configure -configure.scan -configure.lineno -./config.* -aclocal.m4 -*.tar.gz -*.la -*.lo -*.o -*.a -.libs -.deps -libtool -*.bb -*.bbg -*.da -results -./Makefile -Makefile.in -.*.swp -python-setup.txt -yasm_python.c -.python-build -_yasm.pxi -yasm.pyx -build -yasm.so -x86cpu.c -x86insn_nasm.gperf -x86insn_nasm.c -x86insn_gas.gperf -x86insn_gas.c -x86insns.c -x86regtmod.c -nasm-version.c -win64-gas.c -win64-nasm.c -YASM-VERSION-FILE -YASM-VERSION.h -.sw* -./*.s -./*.asm diff --git a/.indent.pro b/.indent.pro deleted file mode 100644 index 702cfa45..00000000 --- a/.indent.pro +++ /dev/null @@ -1,103 +0,0 @@ -/* blank lines */ ---blank-lines-after-declarations ---blank-lines-after-procedures ---no-blank-lines-before-block-comments ---leave-optional-blank-lines -/* comments */ ---no-comment-delimiters-on-blank-lines ---start-left-side-of-comments -/* statements */ ---braces-on-if-line ---cuddle-else ---cuddle-do-while ---case-indentation 4 ---case-brace-indentation 4 ---space-special-semicolon ---no-space-after-function-call-names ---no-space-after-casts ---space-after-for ---space-after-if ---space-after-while ---no-space-after-parentheses -/* declarations */ ---no-blank-lines-after-commas ---dont-break-function-decl-args ---procnames-start-lines ---braces-on-struct-decl-line -/* indentation */ ---continuation-indentation 4 ---indent-level 4 ---continue-at-parentheses ---parameter-indentation 4 ---leave-preprocessor-space -/* breaking long lines */ ---line-length 78 ---break-after-boolean-operator ---honour-newlines -/* typedefs */ --Tit_recursion_node --Tyasm_arch --Tyasm_arch_base --Tyasm_arch_create_error --Tyasm_arch_insnprefix --Tyasm_arch_machine --Tyasm_arch_module --Tyasm_arch_regtmod --Tyasm_assoc_data_callback --Tyasm_bc_add_span_func --Tyasm_bytecode_callback --Tyasm_bytecode --Tyasm_dataval --Tyasm_datavalhead --Tyasm_dbgfmt --Tyasm_dbgfmt_base --Tyasm_dbgfmt_module --Tyasm_effaddr --Tyasm_effaddr_callback --Tyasm_error_class --Tyasm_errwarns --Tyasm_expr --Tyasm_expr_op --Tyasm_expr_xform_func --Tyasm_expr__item --Tyasm_floatnum --Tyasm_intnum --Tyasm_insn_operand --Tyasm_insn_operands --Tyasm_linemap --Tyasm_listfmt --Tyasm_listfmt_base --Tyasm_listfmt_module --Tyasm_md5_context --Tyasm_module_type --Tyasm_optimizer --Tyasm_object --Tyasm_objfmt --Tyasm_objfmt_base --Tyasm_objfmt_module --Tyasm_preproc --Tyasm_preproc_base --Tyasm_preproc_module --Tyasm_print_error_func --Tyasm_print_warning_func --Tyasm_parser --Tyasm_parser_module --Tyasm_reloc --Tyasm_scanner --Tyasm_section --Tyasm_symrec --Tyasm_symrec_get_label_bytecodep --Tyasm_symtab --Tyasm_symtab_iter --Tyasm_symtab_traverse_callback --Tyasm_sym_vis --Tyasm_valparam --Tyasm_valparamhead --Tyasm_value --Tyasm_warn_class --Tyasm__assoc_data --TFILE --THAMT --THAMTEntry --TIntervalTree --TIntervalTreeNode @@ -18,35 +18,7 @@ explain how users should proceed for getting the programs to use the available translations. They tell how people wanting to contribute and work on translations can contact the appropriate team. - When reporting bugs in the `intl/' directory or bugs which may be -related to internationalization, you should tell about the version of -`gettext' which is used. The information can be found in the -`intl/VERSION' file, in internationalized packages. - -1.1 Quick configuration advice -============================== - -If you want to exploit the full power of internationalization, you -should configure it using - - ./configure --with-included-gettext - -to force usage of internationalizing routines provided within this -package, despite the existence of internationalizing capabilities in the -operating system where this package is being installed. So far, only -the `gettext' implementation in the GNU C library version 2 provides as -many features (such as locale alias, message inheritance, automatic -charset conversion or plural form handling) as the implementation here. -It is also not possible to offer this additional functionality on top -of a `catgets' implementation. Future versions of GNU `gettext' will -very likely convey even more functionality. So it might be a good idea -to change to GNU `gettext' as soon as possible. - - So you need _not_ provide this option if you are using GNU libc 2 or -you have installed a recent copy of the GNU gettext package with the -included `libintl'. - -1.2 INSTALL Matters +1.1 INSTALL Matters =================== Some packages are "localizable" when properly installed; the programs @@ -56,36 +28,19 @@ internationalization, predating GNU `gettext'. By default, this package will be installed to allow translation of messages. It will automatically detect whether the system already -provides the GNU `gettext' functions. If not, the included GNU -`gettext' library will be used. This library is wholly contained -within this package, usually in the `intl/' subdirectory, so prior -installation of the GNU `gettext' package is _not_ required. -Installers may use special options at configuration time for changing -the default behaviour. The commands: +provides the GNU `gettext' functions. Installers may use special +options at configuration time for changing the default behaviour. The +command: - ./configure --with-included-gettext ./configure --disable-nls -will, respectively, bypass any pre-existing `gettext' to use the -internationalizing routines provided within this package, or else, -_totally_ disable translation of messages. +will _totally_ disable translation of messages. When you already have GNU `gettext' installed on your system and run configure without an option for your new package, `configure' will -probably detect the previously built and installed `libintl.a' file and -will decide to use this. This might not be desirable. You should use -the more recent version of the GNU `gettext' library. I.e. if the file -`intl/VERSION' shows that the library which comes with this package is -more recent, you should use - - ./configure --with-included-gettext - -to prevent auto-detection. - - The configuration process will not test for the `catgets' function -and therefore it will not be used. The reason is that even an -emulation of `gettext' on top of `catgets' could not provide all the -extensions of the GNU `gettext' library. +probably detect the previously built and installed `libintl' library +and will decide to use it. If not, you may have to to use the +`--with-libintl-prefix' option to tell `configure' where to look for it. Internationalized packages usually have many `po/LL.po' files, where LL gives an ISO 639 two-letter code identifying the language. Unless @@ -96,7 +51,7 @@ may be set, prior to configuration, to limit the installed set. `LINGUAS' should then contain a space separated list of two-letter codes, stating which languages are allowed. -1.3 Using This Package +1.2 Using This Package ====================== As a user, if your language has been installed for this package, you @@ -148,7 +103,7 @@ to denote the language's main dialect. For example, `de' is equivalent to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT' (Portuguese as spoken in Portugal) in this context. -1.4 Translating Teams +1.3 Translating Teams ===================== For the Free Translation Project to be a success, we need interested @@ -177,859 +132,1118 @@ reach the coordinator for all translator teams. the terminology in use. Proven linguistic skills are praised more than programming skills, here. -1.5 Available Packages +1.4 Available Packages ====================== Languages are not equally supported in all packages. The following -matrix shows the current state of internationalization, as of November -2007. The matrix shows, in regard of each package, for which languages +matrix shows the current state of internationalization, as of June +2010. The matrix shows, in regard of each package, for which languages PO files have been submitted to translation coordination, with a translation percentage of at least 50%. - Ready PO files af am ar az be bg bs ca cs cy da de el en en_GB eo - +----------------------------------------------------+ - Compendium | [] [] [] [] | - a2ps | [] [] [] [] [] | - aegis | () | - ant-phone | () | - anubis | [] | - ap-utils | | - aspell | [] [] [] [] [] | - bash | [] | - bfd | | - bibshelf | [] | - binutils | | - bison | [] [] | - bison-runtime | [] | - bluez-pin | [] [] [] [] [] | - cflow | [] | - clisp | [] [] [] | - console-tools | [] [] | - coreutils | [] [] [] [] | - cpio | | - cpplib | [] [] [] | - cryptonit | [] | - dialog | | - diffutils | [] [] [] [] [] [] | - doodle | [] | - e2fsprogs | [] [] | - enscript | [] [] [] [] | - fetchmail | [] [] () [] [] | - findutils | [] | - findutils_stable | [] [] [] | - flex | [] [] [] | - fslint | | - gas | | - gawk | [] [] [] | - gcal | [] | - gcc | [] | - gettext-examples | [] [] [] [] [] | - gettext-runtime | [] [] [] [] [] | - gettext-tools | [] [] | - gip | [] | - gliv | [] [] | - glunarclock | [] | - gmult | [] [] | - gnubiff | () | - gnucash | [] [] () () [] | - gnuedu | | - gnulib | [] | - gnunet | | - gnunet-gtk | | - gnutls | [] | - gpe-aerial | [] [] | - gpe-beam | [] [] | - gpe-calendar | | - gpe-clock | [] [] | - gpe-conf | [] [] | - gpe-contacts | | - gpe-edit | [] | - gpe-filemanager | | - gpe-go | [] | - gpe-login | [] [] | - gpe-ownerinfo | [] [] | - gpe-package | | - gpe-sketchbook | [] [] | - gpe-su | [] [] | - gpe-taskmanager | [] [] | - gpe-timesheet | [] | - gpe-today | [] [] | - gpe-todo | | - gphoto2 | [] [] [] [] | - gprof | [] [] | - gpsdrive | | - gramadoir | [] [] | - grep | [] [] | - gretl | () | - gsasl | | - gss | | - gst-plugins-bad | [] [] | - gst-plugins-base | [] [] | - gst-plugins-good | [] [] [] | - gst-plugins-ugly | [] [] | - gstreamer | [] [] [] [] [] [] [] | - gtick | () | - gtkam | [] [] [] [] | - gtkorphan | [] [] | - gtkspell | [] [] [] [] | - gutenprint | [] | - hello | [] [] [] [] [] | - herrie | [] | - hylafax | | - idutils | [] [] | - indent | [] [] [] [] | - iso_15924 | | - iso_3166 | [] [] [] [] [] [] [] [] [] [] [] | - iso_3166_2 | | - iso_4217 | [] [] [] | - iso_639 | [] [] [] [] | - jpilot | [] | - jtag | | - jwhois | | - kbd | [] [] [] [] | - keytouch | [] [] | - keytouch-editor | [] | - keytouch-keyboa... | [] | - latrine | () | - ld | [] | - leafpad | [] [] [] [] [] | - libc | [] [] [] [] | - libexif | [] | - libextractor | [] | - libgpewidget | [] [] [] | - libgpg-error | [] | - libgphoto2 | [] [] | - libgphoto2_port | [] [] | - libgsasl | | - libiconv | [] [] | - libidn | [] [] [] | - lifelines | [] () | - lilypond | [] | - lingoteach | | - lprng | | - lynx | [] [] [] [] | - m4 | [] [] [] [] | - mailfromd | | - mailutils | [] | - make | [] [] | - man-db | [] [] [] | - minicom | [] [] [] | - nano | [] [] [] | - opcodes | [] | - parted | [] [] | - pilot-qof | | - popt | [] [] [] | - psmisc | [] | - pwdutils | | - qof | | - radius | [] | - recode | [] [] [] [] [] [] | - rpm | [] | - screem | | - scrollkeeper | [] [] [] [] [] [] [] [] | - sed | [] [] [] | - shared-mime-info | [] [] [] [] () [] [] [] | - sharutils | [] [] [] [] [] [] | - shishi | | - skencil | [] () | - solfege | | - soundtracker | [] [] | - sp | [] | - system-tools-ba... | [] [] [] [] [] [] [] [] [] | - tar | [] [] | - texinfo | [] [] [] | - tin | () () | - tuxpaint | [] [] [] [] [] [] | - unicode-han-tra... | | - unicode-transla... | | - util-linux | [] [] [] [] | - util-linux-ng | [] [] [] [] | - vorbis-tools | [] | - wastesedge | () | - wdiff | [] [] [] [] | - wget | [] [] [] | - xchat | [] [] [] [] [] [] [] | - xkeyboard-config | [] | - xpad | [] [] [] | - +----------------------------------------------------+ - af am ar az be bg bs ca cs cy da de el en en_GB eo - 6 0 2 1 8 26 2 40 48 2 56 88 15 1 15 18 - - es et eu fa fi fr ga gl gu he hi hr hu id is it + Ready PO files af am an ar as ast az be be@latin bg bn_IN bs ca +--------------------------------------------------+ - Compendium | [] [] [] [] [] | - a2ps | [] [] [] () | + a2ps | [] [] | aegis | | - ant-phone | [] | - anubis | [] | - ap-utils | [] [] | - aspell | [] [] [] | - bash | [] | - bfd | [] [] | - bibshelf | [] [] [] | - binutils | [] [] [] | - bison | [] [] [] [] [] [] | - bison-runtime | [] [] [] [] [] | - bluez-pin | [] [] [] [] [] | - cflow | [] | - clisp | [] [] | - console-tools | | - coreutils | [] [] [] [] [] [] | - cpio | [] [] [] | - cpplib | [] [] | - cryptonit | [] | - dialog | [] [] [] | - diffutils | [] [] [] [] [] [] [] [] [] | - doodle | [] [] | - e2fsprogs | [] [] [] | - enscript | [] [] [] | - fetchmail | [] | - findutils | [] [] [] | - findutils_stable | [] [] [] [] | - flex | [] [] [] | - fslint | | - gas | [] [] | - gawk | [] [] [] [] () | - gcal | [] [] | - gcc | [] | - gettext-examples | [] [] [] [] [] [] [] | - gettext-runtime | [] [] [] [] [] [] | - gettext-tools | [] [] [] [] | - gip | [] [] [] [] | - gliv | () | - glunarclock | [] [] [] | - gmult | [] [] [] | - gnubiff | () () | - gnucash | () () () | - gnuedu | [] | - gnulib | [] [] [] | - gnunet | | - gnunet-gtk | | - gnutls | | - gpe-aerial | [] [] | - gpe-beam | [] [] | - gpe-calendar | | - gpe-clock | [] [] [] [] | - gpe-conf | [] | - gpe-contacts | [] [] | - gpe-edit | [] [] [] [] | - gpe-filemanager | [] | - gpe-go | [] [] [] | - gpe-login | [] [] [] | - gpe-ownerinfo | [] [] [] [] [] | - gpe-package | [] | - gpe-sketchbook | [] [] | - gpe-su | [] [] [] [] | - gpe-taskmanager | [] [] [] | - gpe-timesheet | [] [] [] [] | - gpe-today | [] [] [] [] | - gpe-todo | [] | - gphoto2 | [] [] [] [] [] | - gprof | [] [] [] [] [] | - gpsdrive | [] | - gramadoir | [] [] | - grep | [] [] [] | - gretl | [] [] [] () | - gsasl | [] [] | - gss | [] [] | - gst-plugins-bad | [] [] [] [] | - gst-plugins-base | [] [] [] [] | - gst-plugins-good | [] [] [] [] [] | - gst-plugins-ugly | [] [] [] [] | - gstreamer | [] [] [] | - gtick | [] [] [] | - gtkam | [] [] [] [] | - gtkorphan | [] [] | - gtkspell | [] [] [] [] [] [] [] | - gutenprint | [] | - hello | [] [] [] [] [] [] [] [] [] [] [] [] [] | - herrie | [] | - hylafax | | - idutils | [] [] [] [] [] | - indent | [] [] [] [] [] [] [] [] [] [] | - iso_15924 | [] | - iso_3166 | [] [] [] [] [] [] [] [] [] [] [] [] [] | - iso_3166_2 | [] | - iso_4217 | [] [] [] [] [] [] | - iso_639 | [] [] [] [] [] [] | - jpilot | [] [] | - jtag | [] | - jwhois | [] [] [] [] [] | - kbd | [] [] | - keytouch | [] [] [] | - keytouch-editor | [] | - keytouch-keyboa... | [] [] | - latrine | [] [] | - ld | [] [] [] [] | - leafpad | [] [] [] [] [] [] | - libc | [] [] [] [] [] | - libexif | [] | - libextractor | [] | - libgpewidget | [] [] [] [] [] | - libgpg-error | [] | - libgphoto2 | [] [] [] | - libgphoto2_port | [] [] | - libgsasl | [] [] | - libiconv | [] [] [] | - libidn | [] [] | - lifelines | () | - lilypond | [] [] [] | - lingoteach | [] [] [] | - lprng | | - lynx | [] [] [] | - m4 | [] [] [] [] | - mailfromd | | - mailutils | [] [] | - make | [] [] [] [] [] [] [] [] | - man-db | [] | - minicom | [] [] [] [] | - nano | [] [] [] [] [] [] [] | - opcodes | [] [] [] [] | - parted | [] [] [] | - pilot-qof | | - popt | [] [] [] [] | - psmisc | [] [] | - pwdutils | | - qof | [] | - radius | [] [] | - recode | [] [] [] [] [] [] [] [] | - rpm | [] [] | - screem | | - scrollkeeper | [] [] [] | - sed | [] [] [] [] [] | - shared-mime-info | [] [] [] [] [] [] | - sharutils | [] [] [] [] [] [] [] [] | - shishi | [] | - skencil | [] [] | - solfege | [] | - soundtracker | [] [] [] | - sp | [] | - system-tools-ba... | [] [] [] [] [] [] [] [] [] | - tar | [] [] [] [] [] | - texinfo | [] [] [] | - tin | [] () | - tuxpaint | [] [] | - unicode-han-tra... | | - unicode-transla... | [] [] | - util-linux | [] [] [] [] [] [] [] | - util-linux-ng | [] [] [] [] [] [] [] | - vorbis-tools | | - wastesedge | () | - wdiff | [] [] [] [] [] [] [] [] | - wget | [] [] [] [] [] [] [] [] | - xchat | [] [] [] [] [] [] [] | - xkeyboard-config | [] [] [] [] | - xpad | [] [] [] | - +--------------------------------------------------+ - es et eu fa fi fr ga gl gu he hi hr hu id is it - 85 22 14 2 48 101 61 12 2 8 2 6 53 29 1 52 - - ja ka ko ku ky lg lt lv mk mn ms mt nb ne nl nn - +--------------------------------------------------+ - Compendium | [] | - a2ps | () [] [] | - aegis | () | - ant-phone | [] | - anubis | [] [] [] | - ap-utils | [] | - aspell | [] [] | - bash | [] | + ant-phone | | + anubis | | + aspell | [] [] | + bash | | bfd | | - bibshelf | [] | + bibshelf | [] | binutils | | - bison | [] [] [] | - bison-runtime | [] [] [] | - bluez-pin | [] [] [] | + bison | | + bison-runtime | [] | + bluez-pin | [] [] | + bombono-dvd | | + buzztard | | cflow | | - clisp | [] | - console-tools | | - coreutils | [] | - cpio | [] | - cpplib | [] | - cryptonit | [] | - dialog | [] [] | - diffutils | [] [] [] | + clisp | | + coreutils | [] [] | + cpio | | + cppi | | + cpplib | [] | + cryptsetup | | + dfarc | | + dialog | [] [] | + dico | | + diffutils | [] | + dink | | doodle | | - e2fsprogs | [] | - enscript | [] | - fetchmail | [] [] | - findutils | [] | - findutils_stable | [] | - flex | [] [] | - fslint | | + e2fsprogs | [] | + enscript | [] | + exif | | + fetchmail | [] | + findutils | [] | + flex | [] | + freedink | | gas | | - gawk | [] [] | - gcal | | + gawk | [] [] | + gcal | [] | gcc | | - gettext-examples | [] [] [] | - gettext-runtime | [] [] [] | - gettext-tools | [] [] | - gip | [] [] | - gliv | [] | - glunarclock | [] [] | - gmult | [] [] [] | + gettext-examples | [] [] [] [] | + gettext-runtime | [] [] | + gettext-tools | [] [] | + gip | [] | + gjay | | + gliv | [] | + glunarclock | [] [] | gnubiff | | - gnucash | () () () | + gnucash | [] | gnuedu | | - gnulib | [] [] | + gnulib | | gnunet | | gnunet-gtk | | - gnutls | [] | - gpe-aerial | [] | - gpe-beam | [] | - gpe-calendar | [] | - gpe-clock | [] [] [] | - gpe-conf | [] [] [] | - gpe-contacts | [] | - gpe-edit | [] [] [] | - gpe-filemanager | [] [] | - gpe-go | [] [] [] | - gpe-login | [] [] [] | - gpe-ownerinfo | [] [] | - gpe-package | [] [] | - gpe-sketchbook | [] [] | - gpe-su | [] [] [] | - gpe-taskmanager | [] [] [] [] | - gpe-timesheet | [] | - gpe-today | [] [] | - gpe-todo | [] | - gphoto2 | [] [] | - gprof | [] | - gpsdrive | [] | - gramadoir | () | - grep | [] [] | - gretl | | - gsasl | [] | + gnutls | | + gold | | + gpe-aerial | | + gpe-beam | | + gpe-bluetooth | | + gpe-calendar | | + gpe-clock | [] | + gpe-conf | | + gpe-contacts | | + gpe-edit | | + gpe-filemanager | | + gpe-go | | + gpe-login | | + gpe-ownerinfo | [] | + gpe-package | | + gpe-sketchbook | | + gpe-su | [] | + gpe-taskmanager | [] | + gpe-timesheet | [] | + gpe-today | [] | + gpe-todo | | + gphoto2 | | + gprof | [] | + gpsdrive | | + gramadoir | | + grep | | + grub | [] [] | + gsasl | | gss | | - gst-plugins-bad | [] | - gst-plugins-base | [] | - gst-plugins-good | [] | - gst-plugins-ugly | [] | - gstreamer | [] | - gtick | [] | - gtkam | [] [] | - gtkorphan | [] | - gtkspell | [] [] | - gutenprint | [] | - hello | [] [] [] [] [] [] [] | - herrie | [] | + gst-plugins-bad | [] | + gst-plugins-base | [] | + gst-plugins-good | [] | + gst-plugins-ugly | [] | + gstreamer | [] [] [] | + gtick | | + gtkam | [] | + gtkorphan | [] | + gtkspell | [] [] [] | + gutenprint | | + hello | [] | + help2man | | hylafax | | - idutils | [] | - indent | [] [] | - iso_15924 | [] | - iso_3166 | [] [] [] [] [] [] [] [] | - iso_3166_2 | [] | - iso_4217 | [] [] [] | - iso_639 | [] [] [] [] | - jpilot | () () | - jtag | | - jwhois | [] | - kbd | [] | - keytouch | [] | - keytouch-editor | [] | - keytouch-keyboa... | | - latrine | [] | - ld | | - leafpad | [] [] | - libc | [] [] [] | - libexif | | + idutils | | + indent | [] [] | + iso_15924 | | + iso_3166 | [] [] [] [] [] [] [] | + iso_3166_2 | | + iso_4217 | | + iso_639 | [] [] [] [] | + iso_639_3 | | + jwhois | | + kbd | | + keytouch | [] | + keytouch-editor | | + keytouch-keyboa... | [] | + klavaro | [] | + latrine | | + ld | [] | + leafpad | [] [] | + libc | [] [] | + libexif | () | libextractor | | - libgpewidget | [] | + libgnutls | | + libgpewidget | | libgpg-error | | - libgphoto2 | [] | - libgphoto2_port | [] | - libgsasl | [] | - libiconv | [] | - libidn | [] [] | - lifelines | [] | - lilypond | [] | - lingoteach | [] | + libgphoto2 | | + libgphoto2_port | | + libgsasl | | + libiconv | [] | + libidn | | + lifelines | | + liferea | [] [] | + lilypond | | + linkdr | [] | + lordsawar | | lprng | | - lynx | [] [] | - m4 | [] [] | + lynx | [] | + m4 | | mailfromd | | mailutils | | - make | [] [] [] | + make | | man-db | | - minicom | [] | - nano | [] [] [] | - opcodes | [] | - parted | [] [] | - pilot-qof | | - popt | [] [] [] | - psmisc | [] [] [] | + man-db-manpages | | + minicom | | + mkisofs | | + myserver | | + nano | [] [] | + opcodes | | + parted | | + pies | | + popt | | + psmisc | | + pspp | [] | pwdutils | | - qof | | - radius | | - recode | [] | - rpm | [] [] | - screem | [] | - scrollkeeper | [] [] [] [] | - sed | [] [] | - shared-mime-info | [] [] [] [] [] [] [] | - sharutils | [] [] | + radius | [] | + recode | [] [] | + rosegarden | | + rpm | | + rush | | + sarg | | + screem | | + scrollkeeper | [] [] [] | + sed | [] [] | + sharutils | [] [] | shishi | | skencil | | - solfege | () () | + solfege | | + solfege-manual | | soundtracker | | - sp | () | - system-tools-ba... | [] [] [] [] | - tar | [] [] [] | - texinfo | [] [] | + sp | | + sysstat | | + tar | [] | + texinfo | | tin | | - tuxpaint | () [] [] | unicode-han-tra... | | unicode-transla... | | - util-linux | [] [] | - util-linux-ng | [] [] | + util-linux-ng | [] | + vice | | + vmm | | vorbis-tools | | - wastesedge | [] | - wdiff | [] [] | - wget | [] [] | - xchat | [] [] [] [] | - xkeyboard-config | [] [] [] | - xpad | [] [] [] | - +--------------------------------------------------+ - ja ka ko ku ky lg lt lv mk mn ms mt nb ne nl nn - 51 2 25 3 2 0 6 0 2 2 20 0 11 1 103 6 - - or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta - +--------------------------------------------------+ - Compendium | [] [] [] [] [] | - a2ps | () [] [] [] [] [] [] | - aegis | () () | - ant-phone | [] [] | - anubis | [] [] [] | - ap-utils | () | - aspell | [] [] [] | - bash | [] [] | - bfd | | - bibshelf | [] | - binutils | [] [] | - bison | [] [] [] [] [] | - bison-runtime | [] [] [] [] [] | - bluez-pin | [] [] [] [] [] [] [] [] [] | - cflow | [] | - clisp | [] | - console-tools | [] | - coreutils | [] [] [] [] | - cpio | [] [] [] | - cpplib | [] | - cryptonit | [] [] | - dialog | [] | - diffutils | [] [] [] [] [] [] | - doodle | [] [] | - e2fsprogs | [] [] | - enscript | [] [] [] [] [] | - fetchmail | [] [] [] | - findutils | [] [] [] | - findutils_stable | [] [] [] [] [] [] | - flex | [] [] [] [] [] | - fslint | [] | - gas | | - gawk | [] [] [] [] | - gcal | [] | - gcc | [] [] | - gettext-examples | [] [] [] [] [] [] [] [] | - gettext-runtime | [] [] [] [] [] [] [] [] | - gettext-tools | [] [] [] [] [] [] [] | - gip | [] [] [] [] | - gliv | [] [] [] [] [] [] | - glunarclock | [] [] [] [] [] [] | - gmult | [] [] [] [] | - gnubiff | () [] | - gnucash | () [] | - gnuedu | | - gnulib | [] [] [] | - gnunet | | - gnunet-gtk | [] | - gnutls | [] [] | - gpe-aerial | [] [] [] [] [] [] [] | - gpe-beam | [] [] [] [] [] [] [] | - gpe-calendar | [] [] [] [] | - gpe-clock | [] [] [] [] [] [] [] [] | - gpe-conf | [] [] [] [] [] [] [] | - gpe-contacts | [] [] [] [] [] | - gpe-edit | [] [] [] [] [] [] [] [] [] | - gpe-filemanager | [] [] | - gpe-go | [] [] [] [] [] [] [] [] | - gpe-login | [] [] [] [] [] [] [] [] | - gpe-ownerinfo | [] [] [] [] [] [] [] [] | - gpe-package | [] [] | - gpe-sketchbook | [] [] [] [] [] [] [] [] | - gpe-su | [] [] [] [] [] [] [] [] | - gpe-taskmanager | [] [] [] [] [] [] [] [] | - gpe-timesheet | [] [] [] [] [] [] [] [] | - gpe-today | [] [] [] [] [] [] [] [] | - gpe-todo | [] [] [] [] | - gphoto2 | [] [] [] [] [] [] | - gprof | [] [] [] | - gpsdrive | [] [] | - gramadoir | [] [] | - grep | [] [] [] [] | - gretl | [] [] [] | - gsasl | [] [] [] | - gss | [] [] [] [] | - gst-plugins-bad | [] [] [] | - gst-plugins-base | [] [] | - gst-plugins-good | [] [] | - gst-plugins-ugly | [] [] [] | - gstreamer | [] [] [] [] | - gtick | [] | - gtkam | [] [] [] [] [] | - gtkorphan | [] | - gtkspell | [] [] [] [] [] [] [] [] | - gutenprint | [] | - hello | [] [] [] [] [] [] [] [] | - herrie | [] [] [] | - hylafax | | - idutils | [] [] [] [] [] | - indent | [] [] [] [] [] [] [] | - iso_15924 | | - iso_3166 | [] [] [] [] [] [] [] [] [] [] [] [] [] | - iso_3166_2 | | - iso_4217 | [] [] [] [] [] [] [] | - iso_639 | [] [] [] [] [] [] [] | - jpilot | | - jtag | [] | - jwhois | [] [] [] [] | - kbd | [] [] [] | - keytouch | [] | - keytouch-editor | [] | - keytouch-keyboa... | [] | - latrine | | - ld | [] | - leafpad | [] [] [] [] [] [] | - libc | [] [] [] [] | - libexif | [] [] | - libextractor | [] [] | - libgpewidget | [] [] [] [] [] [] [] [] | - libgpg-error | [] [] [] | - libgphoto2 | [] | - libgphoto2_port | [] [] [] | - libgsasl | [] [] [] [] | - libiconv | [] [] [] | - libidn | [] [] () | - lifelines | [] [] | - lilypond | | - lingoteach | [] | - lprng | [] | - lynx | [] [] [] | - m4 | [] [] [] [] [] | - mailfromd | [] | - mailutils | [] [] [] | - make | [] [] [] [] | - man-db | [] [] [] [] | - minicom | [] [] [] [] [] | - nano | [] [] [] [] | - opcodes | [] [] | - parted | [] | - pilot-qof | | - popt | [] [] [] [] | - psmisc | [] [] | - pwdutils | [] [] | - qof | [] [] | - radius | [] [] | - recode | [] [] [] [] [] [] [] | - rpm | [] [] [] [] | - screem | | - scrollkeeper | [] [] [] [] [] [] [] | - sed | [] [] [] [] [] [] [] [] [] | - shared-mime-info | [] [] [] [] [] [] | - sharutils | [] [] [] [] | - shishi | [] | - skencil | [] [] [] | - solfege | [] | - soundtracker | [] [] | - sp | | - system-tools-ba... | [] [] [] [] [] [] [] [] [] | - tar | [] [] [] [] | - texinfo | [] [] [] [] | - tin | () | - tuxpaint | [] [] [] [] [] [] | - unicode-han-tra... | | - unicode-transla... | | - util-linux | [] [] [] [] | - util-linux-ng | [] [] [] [] | - vorbis-tools | [] | wastesedge | | - wdiff | [] [] [] [] [] [] [] | - wget | [] [] [] [] | - xchat | [] [] [] [] [] [] [] | - xkeyboard-config | [] [] [] | - xpad | [] [] [] | + wdiff | | + wget | [] [] | + wyslij-po | | + xchat | [] [] [] [] | + xdg-user-dirs | [] [] [] [] [] [] [] [] [] | + xkeyboard-config | [] [] | +--------------------------------------------------+ - or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta - 0 5 77 31 53 4 58 72 3 45 46 9 45 122 3 + af am an ar as ast az be be@latin bg bn_IN bs ca + 6 0 1 2 3 19 1 10 3 28 3 1 38 + + crh cs da de el en en_GB en_ZA eo es et eu fa + +-------------------------------------------------+ + a2ps | [] [] [] [] [] [] [] | + aegis | [] [] [] | + ant-phone | [] () | + anubis | [] [] | + aspell | [] [] [] [] [] | + bash | [] [] [] | + bfd | [] | + bibshelf | [] [] [] | + binutils | [] | + bison | [] [] | + bison-runtime | [] [] [] [] | + bluez-pin | [] [] [] [] [] [] | + bombono-dvd | [] | + buzztard | [] [] [] | + cflow | [] [] | + clisp | [] [] [] [] | + coreutils | [] [] [] [] | + cpio | | + cppi | | + cpplib | [] [] [] | + cryptsetup | [] | + dfarc | [] [] [] | + dialog | [] [] [] [] [] | + dico | | + diffutils | [] [] [] [] [] [] | + dink | [] [] [] | + doodle | [] | + e2fsprogs | [] [] [] | + enscript | [] [] [] | + exif | () [] [] | + fetchmail | [] [] () [] [] [] | + findutils | [] [] [] | + flex | [] [] | + freedink | [] [] [] | + gas | [] | + gawk | [] [] [] | + gcal | [] | + gcc | [] [] | + gettext-examples | [] [] [] [] | + gettext-runtime | [] [] [] [] | + gettext-tools | [] [] [] | + gip | [] [] [] [] | + gjay | [] | + gliv | [] [] [] | + glunarclock | [] [] | + gnubiff | () | + gnucash | [] () () () () | + gnuedu | [] [] | + gnulib | [] [] | + gnunet | | + gnunet-gtk | [] | + gnutls | [] [] | + gold | [] | + gpe-aerial | [] [] [] [] | + gpe-beam | [] [] [] [] | + gpe-bluetooth | [] [] | + gpe-calendar | [] | + gpe-clock | [] [] [] [] | + gpe-conf | [] [] [] | + gpe-contacts | [] [] [] | + gpe-edit | [] [] | + gpe-filemanager | [] [] [] | + gpe-go | [] [] [] [] | + gpe-login | [] [] | + gpe-ownerinfo | [] [] [] [] | + gpe-package | [] [] [] | + gpe-sketchbook | [] [] [] [] | + gpe-su | [] [] [] [] | + gpe-taskmanager | [] [] [] [] | + gpe-timesheet | [] [] [] [] | + gpe-today | [] [] [] [] | + gpe-todo | [] [] [] | + gphoto2 | [] [] () [] [] [] | + gprof | [] [] [] | + gpsdrive | [] [] [] | + gramadoir | [] [] [] | + grep | [] | + grub | [] [] | + gsasl | [] | + gss | | + gst-plugins-bad | [] [] [] [] [] | + gst-plugins-base | [] [] [] [] [] | + gst-plugins-good | [] [] [] [] [] [] | + gst-plugins-ugly | [] [] [] [] [] [] | + gstreamer | [] [] [] [] [] | + gtick | [] () [] | + gtkam | [] [] () [] [] | + gtkorphan | [] [] [] [] | + gtkspell | [] [] [] [] [] [] [] | + gutenprint | [] [] [] | + hello | [] [] [] [] | + help2man | [] | + hylafax | [] [] | + idutils | [] [] | + indent | [] [] [] [] [] [] [] | + iso_15924 | [] () [] [] | + iso_3166 | [] [] [] [] () [] [] [] () | + iso_3166_2 | () | + iso_4217 | [] [] [] () [] [] | + iso_639 | [] [] [] [] () [] [] | + iso_639_3 | [] | + jwhois | [] | + kbd | [] [] [] [] [] | + keytouch | [] [] | + keytouch-editor | [] [] | + keytouch-keyboa... | [] | + klavaro | [] [] [] [] | + latrine | [] () | + ld | [] [] | + leafpad | [] [] [] [] [] [] | + libc | [] [] [] [] | + libexif | [] [] () | + libextractor | | + libgnutls | [] | + libgpewidget | [] [] | + libgpg-error | [] [] | + libgphoto2 | [] () | + libgphoto2_port | [] () [] | + libgsasl | | + libiconv | [] [] [] [] [] | + libidn | [] [] [] | + lifelines | [] () | + liferea | [] [] [] [] [] | + lilypond | [] [] [] | + linkdr | [] [] [] | + lordsawar | [] | + lprng | | + lynx | [] [] [] [] | + m4 | [] [] [] [] | + mailfromd | | + mailutils | [] | + make | [] [] [] | + man-db | | + man-db-manpages | | + minicom | [] [] [] [] | + mkisofs | | + myserver | | + nano | [] [] [] | + opcodes | [] [] | + parted | [] [] | + pies | | + popt | [] [] [] [] [] | + psmisc | [] [] [] | + pspp | [] | + pwdutils | [] | + radius | [] | + recode | [] [] [] [] [] [] | + rosegarden | () () () | + rpm | [] [] [] | + rush | | + sarg | | + screem | | + scrollkeeper | [] [] [] [] [] | + sed | [] [] [] [] [] [] | + sharutils | [] [] [] [] | + shishi | | + skencil | [] () [] | + solfege | [] [] [] | + solfege-manual | [] [] | + soundtracker | [] [] [] | + sp | [] | + sysstat | [] [] [] | + tar | [] [] [] [] | + texinfo | [] [] [] | + tin | [] [] | + unicode-han-tra... | | + unicode-transla... | | + util-linux-ng | [] [] [] [] | + vice | () () | + vmm | [] | + vorbis-tools | [] [] | + wastesedge | [] | + wdiff | [] [] | + wget | [] [] [] | + wyslij-po | | + xchat | [] [] [] [] [] | + xdg-user-dirs | [] [] [] [] [] [] [] [] [] | + xkeyboard-config | [] [] [] [] [] [] | + +-------------------------------------------------+ + crh cs da de el en en_GB en_ZA eo es et eu fa + 5 64 105 117 18 1 8 0 28 89 18 19 0 + + fi fr ga gl gu he hi hr hu hy id is it ja ka kn + +----------------------------------------------------+ + a2ps | [] [] [] [] | + aegis | [] [] | + ant-phone | [] [] | + anubis | [] [] [] [] | + aspell | [] [] [] [] | + bash | [] [] [] [] | + bfd | [] [] [] | + bibshelf | [] [] [] [] [] | + binutils | [] [] [] | + bison | [] [] [] [] | + bison-runtime | [] [] [] [] [] [] | + bluez-pin | [] [] [] [] [] [] [] [] | + bombono-dvd | [] | + buzztard | [] | + cflow | [] [] [] | + clisp | [] | + coreutils | [] [] [] [] [] | + cpio | [] [] [] [] | + cppi | [] [] | + cpplib | [] [] [] | + cryptsetup | [] [] [] | + dfarc | [] [] [] | + dialog | [] [] [] [] [] [] [] | + dico | | + diffutils | [] [] [] [] [] [] [] [] [] | + dink | [] | + doodle | [] [] | + e2fsprogs | [] [] | + enscript | [] [] [] [] | + exif | [] [] [] [] [] [] | + fetchmail | [] [] [] [] | + findutils | [] [] [] [] [] [] | + flex | [] [] [] | + freedink | [] [] [] | + gas | [] [] | + gawk | [] [] [] [] () [] | + gcal | [] | + gcc | [] | + gettext-examples | [] [] [] [] [] [] [] | + gettext-runtime | [] [] [] [] [] [] | + gettext-tools | [] [] [] [] | + gip | [] [] [] [] [] [] | + gjay | [] | + gliv | [] () | + glunarclock | [] [] [] [] | + gnubiff | () [] () | + gnucash | () () () () () [] | + gnuedu | [] [] | + gnulib | [] [] [] [] [] [] | + gnunet | | + gnunet-gtk | [] | + gnutls | [] [] | + gold | [] [] | + gpe-aerial | [] [] [] | + gpe-beam | [] [] [] [] | + gpe-bluetooth | [] [] [] [] | + gpe-calendar | [] [] | + gpe-clock | [] [] [] [] [] | + gpe-conf | [] [] [] [] | + gpe-contacts | [] [] [] [] | + gpe-edit | [] [] [] | + gpe-filemanager | [] [] [] [] | + gpe-go | [] [] [] [] [] | + gpe-login | [] [] [] | + gpe-ownerinfo | [] [] [] [] [] | + gpe-package | [] [] [] | + gpe-sketchbook | [] [] [] [] | + gpe-su | [] [] [] [] [] [] | + gpe-taskmanager | [] [] [] [] [] | + gpe-timesheet | [] [] [] [] [] | + gpe-today | [] [] [] [] [] [] [] | + gpe-todo | [] [] [] | + gphoto2 | [] [] [] [] [] [] | + gprof | [] [] [] [] | + gpsdrive | [] [] [] | + gramadoir | [] [] [] | + grep | [] [] | + grub | [] [] [] [] | + gsasl | [] [] [] [] [] | + gss | [] [] [] [] [] | + gst-plugins-bad | [] [] [] [] [] [] | + gst-plugins-base | [] [] [] [] [] [] | + gst-plugins-good | [] [] [] [] [] [] | + gst-plugins-ugly | [] [] [] [] [] [] | + gstreamer | [] [] [] [] [] | + gtick | [] [] [] [] [] | + gtkam | [] [] [] [] [] | + gtkorphan | [] [] [] | + gtkspell | [] [] [] [] [] [] [] [] [] | + gutenprint | [] [] [] [] | + hello | [] [] [] | + help2man | [] [] | + hylafax | [] | + idutils | [] [] [] [] [] [] | + indent | [] [] [] [] [] [] [] [] | + iso_15924 | [] () [] [] | + iso_3166 | [] () [] [] [] [] [] [] [] [] [] [] | + iso_3166_2 | () [] [] [] | + iso_4217 | [] () [] [] [] [] | + iso_639 | [] () [] [] [] [] [] [] [] | + iso_639_3 | () [] [] | + jwhois | [] [] [] [] [] | + kbd | [] [] | + keytouch | [] [] [] [] [] [] | + keytouch-editor | [] [] [] [] [] | + keytouch-keyboa... | [] [] [] [] [] | + klavaro | [] [] | + latrine | [] [] [] | + ld | [] [] [] [] | + leafpad | [] [] [] [] [] [] [] () | + libc | [] [] [] [] [] | + libexif | [] | + libextractor | | + libgnutls | [] [] | + libgpewidget | [] [] [] [] | + libgpg-error | [] [] | + libgphoto2 | [] [] [] | + libgphoto2_port | [] [] [] | + libgsasl | [] [] [] [] [] | + libiconv | [] [] [] [] [] [] | + libidn | [] [] [] [] | + lifelines | () | + liferea | [] [] [] [] | + lilypond | [] [] | + linkdr | [] [] [] [] [] | + lordsawar | | + lprng | [] | + lynx | [] [] [] [] [] | + m4 | [] [] [] [] [] [] | + mailfromd | | + mailutils | [] [] | + make | [] [] [] [] [] [] [] [] [] | + man-db | [] [] | + man-db-manpages | [] | + minicom | [] [] [] [] [] | + mkisofs | [] [] [] [] | + myserver | | + nano | [] [] [] [] [] [] | + opcodes | [] [] [] [] | + parted | [] [] [] [] | + pies | | + popt | [] [] [] [] [] [] [] [] [] | + psmisc | [] [] [] | + pspp | | + pwdutils | [] [] | + radius | [] [] | + recode | [] [] [] [] [] [] [] [] | + rosegarden | () () () () () | + rpm | [] [] | + rush | | + sarg | [] | + screem | [] [] | + scrollkeeper | [] [] [] [] | + sed | [] [] [] [] [] [] [] [] | + sharutils | [] [] [] [] [] [] [] | + shishi | [] | + skencil | [] | + solfege | [] [] [] [] | + solfege-manual | [] [] | + soundtracker | [] [] | + sp | [] () | + sysstat | [] [] [] [] [] | + tar | [] [] [] [] [] [] [] | + texinfo | [] [] [] [] | + tin | [] | + unicode-han-tra... | | + unicode-transla... | [] [] | + util-linux-ng | [] [] [] [] [] [] | + vice | () () () | + vmm | [] | + vorbis-tools | [] | + wastesedge | () () | + wdiff | [] | + wget | [] [] [] [] [] [] [] [] | + wyslij-po | [] [] [] | + xchat | [] [] [] [] [] [] [] [] [] | + xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] | + xkeyboard-config | [] [] [] [] [] | + +----------------------------------------------------+ + fi fr ga gl gu he hi hr hu hy id is it ja ka kn + 105 121 53 20 4 8 3 5 53 2 120 5 84 67 0 4 + + ko ku ky lg lt lv mk ml mn mr ms mt nb nds ne + +-----------------------------------------------+ + a2ps | [] | + aegis | | + ant-phone | | + anubis | [] [] | + aspell | [] | + bash | | + bfd | | + bibshelf | [] [] | + binutils | | + bison | [] | + bison-runtime | [] [] [] [] [] | + bluez-pin | [] [] [] [] [] | + bombono-dvd | | + buzztard | | + cflow | | + clisp | | + coreutils | [] | + cpio | | + cppi | | + cpplib | | + cryptsetup | | + dfarc | [] | + dialog | [] [] [] [] [] | + dico | | + diffutils | [] [] | + dink | | + doodle | | + e2fsprogs | | + enscript | | + exif | [] | + fetchmail | | + findutils | | + flex | | + freedink | [] | + gas | | + gawk | | + gcal | | + gcc | | + gettext-examples | [] [] [] [] | + gettext-runtime | [] | + gettext-tools | [] | + gip | [] [] | + gjay | | + gliv | | + glunarclock | [] | + gnubiff | | + gnucash | () () () () | + gnuedu | | + gnulib | | + gnunet | | + gnunet-gtk | | + gnutls | [] | + gold | | + gpe-aerial | [] | + gpe-beam | [] | + gpe-bluetooth | [] [] | + gpe-calendar | [] | + gpe-clock | [] [] [] [] [] | + gpe-conf | [] [] | + gpe-contacts | [] [] | + gpe-edit | [] | + gpe-filemanager | [] [] | + gpe-go | [] [] [] | + gpe-login | [] | + gpe-ownerinfo | [] [] | + gpe-package | [] [] | + gpe-sketchbook | [] [] | + gpe-su | [] [] [] [] [] [] | + gpe-taskmanager | [] [] [] [] [] [] | + gpe-timesheet | [] [] | + gpe-today | [] [] [] [] | + gpe-todo | [] [] | + gphoto2 | | + gprof | [] | + gpsdrive | | + gramadoir | | + grep | | + grub | | + gsasl | | + gss | | + gst-plugins-bad | [] [] [] [] | + gst-plugins-base | [] [] | + gst-plugins-good | [] [] | + gst-plugins-ugly | [] [] [] [] [] | + gstreamer | | + gtick | | + gtkam | [] | + gtkorphan | [] [] | + gtkspell | [] [] [] [] [] [] [] | + gutenprint | | + hello | [] [] [] | + help2man | | + hylafax | | + idutils | | + indent | | + iso_15924 | [] [] | + iso_3166 | [] [] () [] [] [] [] [] | + iso_3166_2 | | + iso_4217 | [] [] | + iso_639 | [] [] | + iso_639_3 | [] | + jwhois | [] | + kbd | | + keytouch | [] | + keytouch-editor | [] | + keytouch-keyboa... | [] | + klavaro | [] | + latrine | [] | + ld | | + leafpad | [] [] [] | + libc | [] | + libexif | | + libextractor | | + libgnutls | [] | + libgpewidget | [] [] | + libgpg-error | | + libgphoto2 | | + libgphoto2_port | | + libgsasl | | + libiconv | | + libidn | | + lifelines | | + liferea | | + lilypond | | + linkdr | | + lordsawar | | + lprng | | + lynx | | + m4 | | + mailfromd | | + mailutils | | + make | [] | + man-db | | + man-db-manpages | | + minicom | [] | + mkisofs | | + myserver | | + nano | [] [] | + opcodes | | + parted | | + pies | | + popt | [] [] [] | + psmisc | | + pspp | | + pwdutils | | + radius | | + recode | | + rosegarden | | + rpm | | + rush | | + sarg | | + screem | | + scrollkeeper | [] [] | + sed | | + sharutils | | + shishi | | + skencil | | + solfege | [] | + solfege-manual | | + soundtracker | | + sp | | + sysstat | [] | + tar | [] | + texinfo | [] | + tin | | + unicode-han-tra... | | + unicode-transla... | | + util-linux-ng | | + vice | | + vmm | | + vorbis-tools | | + wastesedge | | + wdiff | | + wget | [] | + wyslij-po | | + xchat | [] [] [] | + xdg-user-dirs | [] [] [] [] [] [] [] [] | + xkeyboard-config | [] [] [] | + +-----------------------------------------------+ + ko ku ky lg lt lv mk ml mn mr ms mt nb nds ne + 20 5 10 1 13 48 4 2 2 4 24 10 20 3 1 + + nl nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr + +---------------------------------------------------+ + a2ps | [] [] [] [] [] [] [] [] | + aegis | [] [] [] | + ant-phone | [] [] | + anubis | [] [] [] | + aspell | [] [] [] [] [] | + bash | [] [] | + bfd | [] | + bibshelf | [] [] | + binutils | [] [] | + bison | [] [] [] | + bison-runtime | [] [] [] [] [] [] [] | + bluez-pin | [] [] [] [] [] [] [] [] | + bombono-dvd | [] () | + buzztard | [] [] | + cflow | [] | + clisp | [] [] | + coreutils | [] [] [] [] [] [] | + cpio | [] [] [] | + cppi | [] | + cpplib | [] | + cryptsetup | [] | + dfarc | [] | + dialog | [] [] [] [] | + dico | [] | + diffutils | [] [] [] [] [] [] | + dink | () | + doodle | [] [] | + e2fsprogs | [] [] | + enscript | [] [] [] [] [] | + exif | [] [] [] () [] | + fetchmail | [] [] [] [] | + findutils | [] [] [] [] [] | + flex | [] [] [] [] [] | + freedink | [] [] | + gas | | + gawk | [] [] [] [] | + gcal | | + gcc | [] | + gettext-examples | [] [] [] [] [] [] [] [] | + gettext-runtime | [] [] [] [] [] [] [] [] [] | + gettext-tools | [] [] [] [] [] [] | + gip | [] [] [] [] [] | + gjay | | + gliv | [] [] [] [] [] [] | + glunarclock | [] [] [] [] [] | + gnubiff | [] () | + gnucash | [] () () () | + gnuedu | [] | + gnulib | [] [] [] [] | + gnunet | | + gnunet-gtk | | + gnutls | [] [] | + gold | | + gpe-aerial | [] [] [] [] [] [] [] | + gpe-beam | [] [] [] [] [] [] [] | + gpe-bluetooth | [] [] | + gpe-calendar | [] [] [] [] | + gpe-clock | [] [] [] [] [] [] [] [] | + gpe-conf | [] [] [] [] [] [] [] | + gpe-contacts | [] [] [] [] [] | + gpe-edit | [] [] [] | + gpe-filemanager | [] [] [] | + gpe-go | [] [] [] [] [] [] [] [] | + gpe-login | [] [] | + gpe-ownerinfo | [] [] [] [] [] [] [] [] | + gpe-package | [] [] | + gpe-sketchbook | [] [] [] [] [] [] [] | + gpe-su | [] [] [] [] [] [] [] [] | + gpe-taskmanager | [] [] [] [] [] [] [] [] | + gpe-timesheet | [] [] [] [] [] [] [] [] | + gpe-today | [] [] [] [] [] [] [] [] | + gpe-todo | [] [] [] [] [] | + gphoto2 | [] [] [] [] [] [] [] [] | + gprof | [] [] [] | + gpsdrive | [] [] | + gramadoir | [] [] | + grep | [] [] [] [] | + grub | [] [] [] | + gsasl | [] [] [] [] | + gss | [] [] [] | + gst-plugins-bad | [] [] [] [] [] [] | + gst-plugins-base | [] [] [] [] [] | + gst-plugins-good | [] [] [] [] [] | + gst-plugins-ugly | [] [] [] [] [] [] | + gstreamer | [] [] [] [] [] | + gtick | [] [] [] | + gtkam | [] [] [] [] [] [] | + gtkorphan | [] | + gtkspell | [] [] [] [] [] [] [] [] [] [] | + gutenprint | [] [] | + hello | [] [] [] [] | + help2man | [] [] | + hylafax | [] | + idutils | [] [] [] [] [] | + indent | [] [] [] [] [] [] [] | + iso_15924 | [] [] [] [] | + iso_3166 | [] [] [] [] [] () [] [] [] [] [] [] [] [] | + iso_3166_2 | [] [] [] | + iso_4217 | [] [] [] [] [] [] [] [] | + iso_639 | [] [] [] [] [] [] [] [] [] | + iso_639_3 | [] [] | + jwhois | [] [] [] [] | + kbd | [] [] [] | + keytouch | [] [] [] | + keytouch-editor | [] [] [] | + keytouch-keyboa... | [] [] [] | + klavaro | [] [] | + latrine | [] [] | + ld | | + leafpad | [] [] [] [] [] [] [] [] [] | + libc | [] [] [] [] | + libexif | [] [] () [] | + libextractor | | + libgnutls | [] [] | + libgpewidget | [] [] [] | + libgpg-error | [] [] | + libgphoto2 | [] [] | + libgphoto2_port | [] [] [] [] [] | + libgsasl | [] [] [] [] [] | + libiconv | [] [] [] [] [] | + libidn | [] [] | + lifelines | [] [] | + liferea | [] [] [] [] [] () () [] | + lilypond | [] | + linkdr | [] [] [] | + lordsawar | | + lprng | [] | + lynx | [] [] [] | + m4 | [] [] [] [] [] | + mailfromd | [] | + mailutils | [] | + make | [] [] [] [] | + man-db | [] [] [] | + man-db-manpages | [] [] [] | + minicom | [] [] [] [] | + mkisofs | [] [] [] | + myserver | | + nano | [] [] [] [] | + opcodes | [] [] | + parted | [] [] [] [] | + pies | [] | + popt | [] [] [] [] | + psmisc | [] [] [] | + pspp | [] [] | + pwdutils | [] | + radius | [] [] [] | + recode | [] [] [] [] [] [] [] [] | + rosegarden | () () | + rpm | [] [] [] | + rush | [] [] | + sarg | | + screem | | + scrollkeeper | [] [] [] [] [] [] [] [] | + sed | [] [] [] [] [] [] [] [] [] | + sharutils | [] [] [] [] | + shishi | [] | + skencil | [] [] | + solfege | [] [] [] [] | + solfege-manual | [] [] [] | + soundtracker | [] | + sp | | + sysstat | [] [] [] [] | + tar | [] [] [] [] | + texinfo | [] [] [] [] | + tin | [] | + unicode-han-tra... | | + unicode-transla... | | + util-linux-ng | [] [] [] [] [] | + vice | [] | + vmm | [] | + vorbis-tools | [] [] | + wastesedge | [] | + wdiff | [] [] | + wget | [] [] [] [] [] [] [] | + wyslij-po | [] [] [] | + xchat | [] [] [] [] [] [] [] [] [] | + xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] [] | + xkeyboard-config | [] [] [] | + +---------------------------------------------------+ + nl nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr + 135 10 4 7 105 1 29 62 47 91 3 54 46 9 37 - tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu + sv sw ta te tg th tr uk vi wa zh_CN zh_HK zh_TW +---------------------------------------------------+ - Compendium | [] [] [] [] | 19 - a2ps | [] [] [] | 19 - aegis | [] | 1 - ant-phone | [] [] | 6 - anubis | [] [] [] | 11 - ap-utils | () [] | 4 - aspell | [] [] [] | 16 - bash | [] | 6 - bfd | | 2 - bibshelf | [] | 7 - binutils | [] [] [] [] | 9 - bison | [] [] [] [] | 20 - bison-runtime | [] [] [] [] | 18 - bluez-pin | [] [] [] [] [] [] | 28 - cflow | [] [] | 5 - clisp | | 9 - console-tools | [] [] | 5 - coreutils | [] [] [] | 18 - cpio | [] [] [] [] | 11 - cpplib | [] [] [] [] [] | 12 - cryptonit | [] | 6 - dialog | [] [] [] | 9 - diffutils | [] [] [] [] [] | 29 - doodle | [] | 6 - e2fsprogs | [] [] | 10 - enscript | [] [] [] | 16 - fetchmail | [] [] | 12 - findutils | [] [] [] | 11 - findutils_stable | [] [] [] [] | 18 - flex | [] [] | 15 - fslint | [] | 2 - gas | [] | 3 - gawk | [] [] [] | 16 - gcal | [] | 5 - gcc | [] [] [] | 7 - gettext-examples | [] [] [] [] [] [] | 29 - gettext-runtime | [] [] [] [] [] [] | 28 - gettext-tools | [] [] [] [] [] | 20 - gip | [] [] | 13 - gliv | [] [] | 11 - glunarclock | [] [] [] | 15 - gmult | [] [] [] [] | 16 - gnubiff | [] | 2 - gnucash | () [] | 5 - gnuedu | [] | 2 - gnulib | [] | 10 - gnunet | | 0 - gnunet-gtk | [] [] | 3 - gnutls | | 4 - gpe-aerial | [] [] | 14 - gpe-beam | [] [] | 14 - gpe-calendar | [] [] | 7 - gpe-clock | [] [] [] [] | 21 - gpe-conf | [] [] [] | 16 - gpe-contacts | [] [] | 10 - gpe-edit | [] [] [] [] [] | 22 - gpe-filemanager | [] [] | 7 - gpe-go | [] [] [] [] | 19 - gpe-login | [] [] [] [] [] | 21 - gpe-ownerinfo | [] [] [] [] | 21 - gpe-package | [] | 6 - gpe-sketchbook | [] [] | 16 - gpe-su | [] [] [] [] | 21 - gpe-taskmanager | [] [] [] [] | 21 - gpe-timesheet | [] [] [] [] | 18 - gpe-today | [] [] [] [] [] | 21 - gpe-todo | [] [] | 8 - gphoto2 | [] [] [] [] | 21 - gprof | [] [] | 13 - gpsdrive | [] | 5 - gramadoir | [] | 7 - grep | [] | 12 - gretl | | 6 - gsasl | [] [] [] | 9 - gss | [] | 7 - gst-plugins-bad | [] [] [] | 13 - gst-plugins-base | [] [] | 11 - gst-plugins-good | [] [] [] [] [] | 16 - gst-plugins-ugly | [] [] [] | 13 - gstreamer | [] [] [] | 18 - gtick | [] [] | 7 - gtkam | [] | 16 - gtkorphan | [] | 7 - gtkspell | [] [] [] [] [] [] | 27 - gutenprint | | 4 - hello | [] [] [] [] [] | 38 - herrie | [] [] | 8 - hylafax | | 0 - idutils | [] [] | 15 - indent | [] [] [] [] [] | 28 - iso_15924 | [] [] | 4 - iso_3166 | [] [] [] [] [] [] [] [] [] | 54 - iso_3166_2 | [] [] | 4 - iso_4217 | [] [] [] [] [] | 24 - iso_639 | [] [] [] [] [] | 26 - jpilot | [] [] [] [] | 7 - jtag | [] | 3 - jwhois | [] [] [] | 13 - kbd | [] [] [] | 13 - keytouch | [] | 8 - keytouch-editor | [] | 5 - keytouch-keyboa... | [] | 5 - latrine | [] [] | 5 - ld | [] [] [] [] | 10 - leafpad | [] [] [] [] [] | 24 - libc | [] [] [] | 19 - libexif | [] | 5 - libextractor | [] | 5 - libgpewidget | [] [] [] | 20 - libgpg-error | [] | 6 - libgphoto2 | [] [] | 9 - libgphoto2_port | [] [] [] | 11 - libgsasl | [] | 8 - libiconv | [] [] | 11 - libidn | [] [] | 11 - lifelines | | 4 - lilypond | [] | 6 - lingoteach | [] | 6 - lprng | [] | 2 - lynx | [] [] [] | 15 - m4 | [] [] [] | 18 - mailfromd | [] [] | 3 - mailutils | [] [] | 8 - make | [] [] [] | 20 - man-db | [] | 9 - minicom | [] | 14 - nano | [] [] [] | 20 - opcodes | [] [] | 10 - parted | [] [] [] | 11 - pilot-qof | [] | 1 - popt | [] [] [] [] | 18 - psmisc | [] [] | 10 - pwdutils | [] | 3 - qof | [] | 4 - radius | [] [] | 7 - recode | [] [] [] | 25 - rpm | [] [] [] [] | 13 - screem | [] | 2 - scrollkeeper | [] [] [] [] | 26 - sed | [] [] [] [] | 23 - shared-mime-info | [] [] [] | 29 - sharutils | [] [] [] | 23 - shishi | [] | 3 - skencil | [] | 7 - solfege | [] | 3 - soundtracker | [] [] | 9 - sp | [] | 3 - system-tools-ba... | [] [] [] [] [] [] [] | 38 - tar | [] [] [] | 17 - texinfo | [] [] [] | 15 - tin | | 1 - tuxpaint | [] [] [] | 19 + a2ps | [] [] [] [] [] | 27 + aegis | [] | 9 + ant-phone | [] [] [] [] | 9 + anubis | [] [] [] [] | 15 + aspell | [] [] [] | 20 + bash | [] [] [] | 12 + bfd | [] | 6 + bibshelf | [] [] [] | 16 + binutils | [] [] | 8 + bison | [] [] | 12 + bison-runtime | [] [] [] [] [] [] | 29 + bluez-pin | [] [] [] [] [] [] [] [] | 37 + bombono-dvd | [] | 4 + buzztard | [] | 7 + cflow | [] [] [] | 9 + clisp | | 10 + coreutils | [] [] [] [] | 22 + cpio | [] [] [] [] [] [] | 13 + cppi | [] [] | 5 + cpplib | [] [] [] [] [] [] | 14 + cryptsetup | [] [] | 7 + dfarc | [] | 9 + dialog | [] [] [] [] [] [] [] | 30 + dico | [] | 2 + diffutils | [] [] [] [] [] [] | 30 + dink | | 4 + doodle | [] [] | 7 + e2fsprogs | [] [] [] | 11 + enscript | [] [] [] [] | 17 + exif | [] [] [] | 16 + fetchmail | [] [] [] | 17 + findutils | [] [] [] [] [] | 20 + flex | [] [] [] [] | 15 + freedink | [] | 10 + gas | [] | 4 + gawk | [] [] [] [] | 18 + gcal | [] [] | 5 + gcc | [] [] [] | 7 + gettext-examples | [] [] [] [] [] [] [] | 34 + gettext-runtime | [] [] [] [] [] [] [] | 29 + gettext-tools | [] [] [] [] [] [] | 22 + gip | [] [] [] [] | 22 + gjay | [] | 3 + gliv | [] [] [] | 14 + glunarclock | [] [] [] [] [] | 19 + gnubiff | [] [] | 4 + gnucash | () [] () [] () | 10 + gnuedu | [] [] | 7 + gnulib | [] [] [] [] | 16 + gnunet | [] | 1 + gnunet-gtk | [] [] [] | 5 + gnutls | [] [] [] | 10 + gold | [] | 4 + gpe-aerial | [] [] [] | 18 + gpe-beam | [] [] [] | 19 + gpe-bluetooth | [] [] [] | 13 + gpe-calendar | [] [] [] [] | 12 + gpe-clock | [] [] [] [] [] | 28 + gpe-conf | [] [] [] [] | 20 + gpe-contacts | [] [] [] | 17 + gpe-edit | [] [] [] | 12 + gpe-filemanager | [] [] [] [] | 16 + gpe-go | [] [] [] [] [] | 25 + gpe-login | [] [] [] | 11 + gpe-ownerinfo | [] [] [] [] [] | 25 + gpe-package | [] [] [] | 13 + gpe-sketchbook | [] [] [] | 20 + gpe-su | [] [] [] [] [] | 30 + gpe-taskmanager | [] [] [] [] [] | 29 + gpe-timesheet | [] [] [] [] [] | 25 + gpe-today | [] [] [] [] [] [] | 30 + gpe-todo | [] [] [] [] | 17 + gphoto2 | [] [] [] [] [] | 24 + gprof | [] [] [] | 15 + gpsdrive | [] [] [] | 11 + gramadoir | [] [] [] | 11 + grep | [] [] [] | 10 + grub | [] [] [] | 14 + gsasl | [] [] [] [] | 14 + gss | [] [] [] | 11 + gst-plugins-bad | [] [] [] [] | 26 + gst-plugins-base | [] [] [] [] [] | 24 + gst-plugins-good | [] [] [] [] | 24 + gst-plugins-ugly | [] [] [] [] [] | 29 + gstreamer | [] [] [] [] | 22 + gtick | [] [] [] | 13 + gtkam | [] [] [] | 20 + gtkorphan | [] [] [] | 14 + gtkspell | [] [] [] [] [] [] [] [] [] | 45 + gutenprint | [] | 10 + hello | [] [] [] [] [] [] | 21 + help2man | [] [] | 7 + hylafax | [] | 5 + idutils | [] [] [] [] | 17 + indent | [] [] [] [] [] [] | 30 + iso_15924 | () [] () [] [] | 16 + iso_3166 | [] [] () [] [] () [] [] [] () | 53 + iso_3166_2 | () [] () [] | 9 + iso_4217 | [] () [] [] () [] [] | 26 + iso_639 | [] [] [] () [] () [] [] [] [] | 38 + iso_639_3 | [] () | 8 + jwhois | [] [] [] [] [] | 16 + kbd | [] [] [] [] [] | 15 + keytouch | [] [] [] | 16 + keytouch-editor | [] [] [] | 14 + keytouch-keyboa... | [] [] [] | 14 + klavaro | [] | 11 + latrine | [] [] [] | 10 + ld | [] [] [] [] | 11 + leafpad | [] [] [] [] [] [] | 33 + libc | [] [] [] [] [] | 21 + libexif | [] () | 7 + libextractor | [] | 1 + libgnutls | [] [] [] | 9 + libgpewidget | [] [] [] | 14 + libgpg-error | [] [] [] | 9 + libgphoto2 | [] [] | 8 + libgphoto2_port | [] [] [] [] | 14 + libgsasl | [] [] [] | 13 + libiconv | [] [] [] [] | 21 + libidn | () [] [] | 11 + lifelines | [] | 4 + liferea | [] [] [] | 21 + lilypond | [] | 7 + linkdr | [] [] [] [] [] | 17 + lordsawar | | 1 + lprng | [] | 3 + lynx | [] [] [] [] | 17 + m4 | [] [] [] [] | 19 + mailfromd | [] [] | 3 + mailutils | [] | 5 + make | [] [] [] [] | 21 + man-db | [] [] [] | 8 + man-db-manpages | | 4 + minicom | [] [] | 16 + mkisofs | [] [] | 9 + myserver | | 0 + nano | [] [] [] [] | 21 + opcodes | [] [] [] | 11 + parted | [] [] [] [] [] | 15 + pies | [] [] | 3 + popt | [] [] [] [] [] [] | 27 + psmisc | [] [] | 11 + pspp | | 4 + pwdutils | [] [] | 6 + radius | [] [] | 9 + recode | [] [] [] [] | 28 + rosegarden | () | 0 + rpm | [] [] [] | 11 + rush | [] [] | 4 + sarg | | 1 + screem | [] | 3 + scrollkeeper | [] [] [] [] [] | 27 + sed | [] [] [] [] [] | 30 + sharutils | [] [] [] [] [] | 22 + shishi | [] | 3 + skencil | [] [] | 7 + solfege | [] [] [] [] | 16 + solfege-manual | [] | 8 + soundtracker | [] [] [] | 9 + sp | [] | 3 + sysstat | [] [] | 15 + tar | [] [] [] [] [] [] | 23 + texinfo | [] [] [] [] [] | 17 + tin | | 4 unicode-han-tra... | | 0 unicode-transla... | | 2 - util-linux | [] [] [] | 20 - util-linux-ng | [] [] [] | 20 - vorbis-tools | [] [] | 4 - wastesedge | | 1 - wdiff | [] [] | 23 - wget | [] [] [] | 20 - xchat | [] [] [] [] | 29 - xkeyboard-config | [] [] [] | 14 - xpad | [] [] [] | 15 + util-linux-ng | [] [] [] [] | 20 + vice | () () | 1 + vmm | [] | 4 + vorbis-tools | [] | 6 + wastesedge | | 2 + wdiff | [] [] | 7 + wget | [] [] [] [] [] | 26 + wyslij-po | [] [] | 8 + xchat | [] [] [] [] [] [] | 36 + xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] | 63 + xkeyboard-config | [] [] [] | 22 +---------------------------------------------------+ - 76 teams tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu - 163 domains 0 3 1 74 51 0 143 21 1 57 7 45 0 2036 + 85 teams sv sw ta te tg th tr uk vi wa zh_CN zh_HK zh_TW + 178 domains 119 1 3 3 0 10 65 51 155 17 98 7 41 2618 Some counters in the preceding matrix are higher than the number of visible blocks let us expect. This is because a few extra PO files are @@ -1042,12 +1256,12 @@ distributed as such by its maintainer. There might be an observable lag between the mere existence a PO file and its wide availability in a distribution. - If November 2007 seems to be old, you may fetch a more recent copy -of this `ABOUT-NLS' file on most GNU archive sites. The most -up-to-date matrix with full percentage details can be found at + If June 2010 seems to be old, you may fetch a more recent copy of +this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date +matrix with full percentage details can be found at `http://translationproject.org/extra/matrix.html'. -1.6 Using `gettext' in new packages +1.5 Using `gettext' in new packages =================================== If you are writing a freely available program and want to diff --git a/CMakeLists.txt b/CMakeLists.txt index b63d14b7..8df871cf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,7 +4,7 @@ if (COMMAND cmake_policy) cmake_policy(SET CMP0003 NEW) endif (COMMAND cmake_policy) -SET(BUILD_SHARED_LIBS ON) +OPTION(BUILD_SHARED_LIBS "Build shared libraries" ON) # Where to look first for cmake modules set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules") @@ -27,11 +27,11 @@ IF(NOT CMAKE_BUILD_TYPE) FORCE) ENDIF(NOT CMAKE_BUILD_TYPE) -VERSION_GEN(PACKAGE_VERSION "${CMAKE_BINARY_DIR}/YASM-VERSION-FILE" "1.1.0") +VERSION_GEN(PACKAGE_VERSION "${CMAKE_BINARY_DIR}/YASM-VERSION-FILE" "1.3.0") set (PACKAGE_STRING "yasm ${PACKAGE_VERSION}") -INCLUDE_DIRECTORIES(BEFORE ${CMAKE_BINARY_DIR} ${yasm_SOURCE_DIR}) +INCLUDE_DIRECTORIES(AFTER ${CMAKE_BINARY_DIR} ${yasm_SOURCE_DIR}) INCLUDE(ConfigureChecks.cmake) @@ -1,4 +1,4 @@ -Yasm is Copyright (c) 2001-2010 Peter Johnson and other Yasm developers. +Yasm is Copyright (c) 2001-2014 Peter Johnson and other Yasm developers. Yasm developers and/or contributors include: Peter Johnson @@ -0,0 +1,11 @@ +2014-08-10 gettextize <bug-gnu-gettext@gnu.org> + + * m4/gettext.m4: Upgrade to gettext-0.18.3. + * m4/iconv.m4: Upgrade to gettext-0.18.3. + * m4/lib-ld.m4: Upgrade to gettext-0.18.3. + * m4/lib-link.m4: Upgrade to gettext-0.18.3. + * m4/lib-prefix.m4: Upgrade to gettext-0.18.3. + * m4/nls.m4: Upgrade to gettext-0.18.3. + * m4/po.m4: Upgrade to gettext-0.18.3. + * m4/progtest.m4: Upgrade to gettext-0.18.3. + diff --git a/HACKING b/HACKING deleted file mode 100644 index 0c565b87..00000000 --- a/HACKING +++ /dev/null @@ -1,85 +0,0 @@ -If you are contributing code to the YASM project or trying to compile YASM -from a CVS checkout, please read this first. - - -====================== -HACKER'S GUIDE TO YASM -====================== - -Table of Contents - - * What to Read - * Building From a Working (Subversion) Copy -- On UNIX - - -What to Read -============ - -Before you can contribute code, you'll need to familiarize yourself with the -existing codebase, design, and internal interfaces. - -Check out a copy of YASM from CVS (or grab a development tarball) so you can -look at the codebase. - -Look at the design document (the online web version is probably the easiest to -read, because the design doc is written in DocBook and most people don't have -the SGML tools installed to process it). This is the overall design document, -which gives you a high-level view of the assembler modular structure and how -the various components interface. It also covers coding standards. - -Within the libyasm/ directory, there's a bunch of header files with huge -comments. If you read through these, you'll have a pretty good understanding -of the implementation details. Or alternatively, read the online doxygen -generated documentation, which is autogenerated from the comments in these -files. - - * the core data structures: bytecode.h, section.h, expr.h, symrec.h - * the module interfaces: preproc.h, parser.h, objfmt.h, optimizer.h, etc. - * the error/warning system: errwarn.h - -The frontends/ directory contains the programs that users will actually run. -Right now, this is only "yasm", but others may be added someday. - -The modules/ directory contains all the loadable module source code, organized -by module type (preproc, parser, etc.). - -YASM is written in ANSI/ISO C89 for maximum portability. See the design -document for more details on portability considerations. Several C files and -util.h provide functions that are standard on some machines but not available -on others. The function and header checks are performed using GNU configure. - - -Building From a Working (Subversion) Copy -- On UNIX -==================================================== - -Unlike a packaged distribution, the YASM Subversion tree doesn't contain a -configure script nor any of the other generated files normally used in -configuration and building. You have to regenerate these files in your local -copy before running configure. - -Building in this fashion requires many more programs than YASM normally -requires in a packaged distribution. Programs required: - * automake (1.5 or newer) - * autoconf (2.5 or newer) - * m4 - * gettext - * make (GNU preferred) - * Python - * gcc - -To rebuild the manpages from the DocBook XML files, the program "xmlto" and -all of its dependencies are required. - -To prepare your working copy for building, run: - % ./autogen.sh - -The autogen.sh script runs gettextize, aclocal, autoconf, autoheader, automake, -and finally runs "./configure --enable-maintainer-mode". If an error occurs -during this process, something is wrong in your build configuration (such as -required tools missing or misconfigured). After autogen.sh completes -successfully, use make to build YASM. We recommend you use GNU make because -gettext seems to play better with it than with other make tools. Use the -distcheck target of make to build a package. If this doesn't complete -successfully, something is wrong in the source tree. If you caused the -breakage, fix it or ask someone to help you fix it. If you didn't cause it (it -happens with a new checkout), notify the developers! diff --git a/Makefile.am b/Makefile.am index 9efb16fc..b1524aa9 100644 --- a/Makefile.am +++ b/Makefile.am @@ -58,6 +58,63 @@ EXTRA_DIST += GNU_GPL-2.0 EXTRA_DIST += GNU_LGPL-2.0 EXTRA_DIST += splint.sh EXTRA_DIST += YASM-VERSION-GEN.sh +EXTRA_DIST += CMakeLists.txt +EXTRA_DIST += ConfigureChecks.cmake +EXTRA_DIST += config.h.cmake +EXTRA_DIST += libyasm-stdint.h.cmake +EXTRA_DIST += cmake/CMakeLists.txt +EXTRA_DIST += cmake/modules/CMakeLists.txt +EXTRA_DIST += cmake/modules/DummyCFile.c +EXTRA_DIST += cmake/modules/VersionGen.cmake +EXTRA_DIST += cmake/modules/YasmMacros.cmake +EXTRA_DIST += frontends/CMakeLists.txt +EXTRA_DIST += frontends/tasm/CMakeLists.txt +EXTRA_DIST += frontends/vsyasm/CMakeLists.txt +EXTRA_DIST += frontends/yasm/CMakeLists.txt +EXTRA_DIST += frontends/yasm/genstring.py +EXTRA_DIST += frontends/yasm/yasm-plugin.c +EXTRA_DIST += frontends/yasm/yasm-plugin.h +EXTRA_DIST += libyasm/CMakeLists.txt +EXTRA_DIST += libyasm/cmake-module.c +EXTRA_DIST += modules/arch/CMakeLists.txt +EXTRA_DIST += modules/arch/lc3b/CMakeLists.txt +EXTRA_DIST += modules/arch/x86/CMakeLists.txt +EXTRA_DIST += modules/CMakeLists.txt +EXTRA_DIST += modules/dbgfmts/CMakeLists.txt +EXTRA_DIST += modules/dbgfmts/codeview/CMakeLists.txt +EXTRA_DIST += modules/dbgfmts/dwarf2/CMakeLists.txt +EXTRA_DIST += modules/dbgfmts/null/CMakeLists.txt +EXTRA_DIST += modules/dbgfmts/stabs/CMakeLists.txt +EXTRA_DIST += modules/listfmts/CMakeLists.txt +EXTRA_DIST += modules/listfmts/nasm/CMakeLists.txt +EXTRA_DIST += modules/objfmts/bin/CMakeLists.txt +EXTRA_DIST += modules/objfmts/CMakeLists.txt +EXTRA_DIST += modules/objfmts/coff/CMakeLists.txt +EXTRA_DIST += modules/objfmts/dbg/CMakeLists.txt +EXTRA_DIST += modules/objfmts/elf/CMakeLists.txt +EXTRA_DIST += modules/objfmts/macho/CMakeLists.txt +EXTRA_DIST += modules/objfmts/rdf/CMakeLists.txt +EXTRA_DIST += modules/objfmts/xdf/CMakeLists.txt +EXTRA_DIST += modules/parsers/CMakeLists.txt +EXTRA_DIST += modules/parsers/gas/CMakeLists.txt +EXTRA_DIST += modules/parsers/nasm/CMakeLists.txt +EXTRA_DIST += modules/preprocs/CMakeLists.txt +EXTRA_DIST += modules/preprocs/cpp/CMakeLists.txt +EXTRA_DIST += modules/preprocs/gas/CMakeLists.txt +EXTRA_DIST += modules/preprocs/nasm/CMakeLists.txt +EXTRA_DIST += modules/preprocs/raw/CMakeLists.txt +EXTRA_DIST += plugins/README +EXTRA_DIST += plugins/dbg/CMakeLists.txt +EXTRA_DIST += plugins/dbg/dbg-objfmt.c +EXTRA_DIST += plugins/dbg/init_plugin.c +EXTRA_DIST += plugins/dbg/README +EXTRA_DIST += plugins/x86/CMakeLists.txt +EXTRA_DIST += plugins/x86/init_plugin.c +EXTRA_DIST += plugins/x86/README +EXTRA_DIST += tools/CMakeLists.txt +EXTRA_DIST += tools/genmacro/CMakeLists.txt +EXTRA_DIST += tools/genperf/CMakeLists.txt +EXTRA_DIST += tools/re2c/CMakeLists.txt EXTRA_DIST += Mkfiles/Makefile.flat EXTRA_DIST += Mkfiles/Makefile.dj EXTRA_DIST += Mkfiles/dj/config.h @@ -122,6 +179,23 @@ EXTRA_DIST += Mkfiles/vc10/modules/modules.vcxproj.filters EXTRA_DIST += Mkfiles/vc10/re2c/re2c.vcxproj EXTRA_DIST += Mkfiles/vc10/re2c/re2c.vcxproj.filters EXTRA_DIST += Mkfiles/vc10/re2c/run.bat +EXTRA_DIST += Mkfiles/vc12/config.h +EXTRA_DIST += Mkfiles/vc12/crt_secure_no_deprecate.props +EXTRA_DIST += Mkfiles/vc12/crt_secure_no_deprecate.vsprops +EXTRA_DIST += Mkfiles/vc12/libyasm/libyasm.vcxproj +EXTRA_DIST += Mkfiles/vc12/libyasm/libyasm.vcxproj.filters +EXTRA_DIST += Mkfiles/vc12/modules/modules.vcxproj +EXTRA_DIST += Mkfiles/vc12/modules/modules.vcxproj.filters +EXTRA_DIST += Mkfiles/vc12/out_copy_rename.bat +EXTRA_DIST += Mkfiles/vc12/readme.vc12.txt +EXTRA_DIST += Mkfiles/vc12/vsyasm.props +EXTRA_DIST += Mkfiles/vc12/vsyasm.targets +EXTRA_DIST += Mkfiles/vc12/vsyasm.vcxproj +EXTRA_DIST += Mkfiles/vc12/vsyasm.xml +EXTRA_DIST += Mkfiles/vc12/yasm.sln +EXTRA_DIST += Mkfiles/vc12/yasm.vcxproj +EXTRA_DIST += Mkfiles/vc12/yasm.vcxproj.filters +EXTRA_DIST += Mkfiles/vc12/ytasm.vcxproj # Until this gets fixed in automake DISTCLEANFILES += libyasm/stamp-h libyasm/stamp-h[0-9]* @@ -131,6 +205,7 @@ dist-hook: YASM-VERSION-FILE YASM-VERSION.h cp YASM-VERSION.h $(distdir)/Mkfiles/dj/ cp YASM-VERSION.h $(distdir)/Mkfiles/vc9/ cp YASM-VERSION.h $(distdir)/Mkfiles/vc10/ + cp YASM-VERSION.h $(distdir)/Mkfiles/vc12/ YASM-VERSION-FILE: $(top_srcdir)/YASM-VERSION-GEN.sh $(top_srcdir)/YASM-VERSION-GEN.sh diff --git a/Makefile.in b/Makefile.in new file mode 100644 index 00000000..20e00a73 --- /dev/null +++ b/Makefile.in @@ -0,0 +1,4241 @@ +# Makefile.in generated by automake 1.14.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2013 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +# These utility programs have to be built for BUILD host in cross-build. +# This makes things rather non-standard automake + +# These utility programs have to be built for BUILD host in cross-build. +# This makes things rather non-standard automake + +# These utility programs have to be built for BUILD host in cross-build. +# This makes things rather non-standard automake + +# Makefile for cpp module. +# Copied from raw preprocessor module. + +#TESTS += modules/preprocs/gas/tests/rawpp_test.sh + +# Assume objfmt_coff is included + +# Assume objfmt_coff is included + + + +VPATH = @srcdir@ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +bin_PROGRAMS = yasm$(EXEEXT) ytasm$(EXEEXT) vsyasm$(EXEEXT) +TESTS = $(am__append_3) modules/arch/x86/tests/x86_test.sh \ + modules/arch/x86/tests/gas32/x86_gas32_test.sh \ + modules/arch/x86/tests/gas64/x86_gas64_test.sh \ + modules/arch/lc3b/tests/lc3b_test.sh \ + modules/parsers/gas/tests/gas_test.sh \ + modules/parsers/gas/tests/bin/gas_bin_test.sh \ + modules/parsers/nasm/tests/nasm_test.sh \ + modules/parsers/nasm/tests/worphan/nasm_worphan_test.sh \ + modules/parsers/tasm/tests/tasm_test.sh \ + modules/parsers/tasm/tests/exe/tasm_exe_test.sh \ + modules/preprocs/tasm/tests/tasmpp_test.sh \ + modules/preprocs/nasm/tests/nasmpp_test.sh \ + modules/preprocs/raw/tests/rawpp_test.sh \ + modules/dbgfmts/dwarf2/tests/gen64/dwarf2_gen64_test.sh \ + modules/dbgfmts/dwarf2/tests/pass32/dwarf2_pass32_test.sh \ + modules/dbgfmts/dwarf2/tests/pass64/dwarf2_pass64_test.sh \ + modules/dbgfmts/dwarf2/tests/passwin64/dwarf2_passwin64_test.sh \ + modules/dbgfmts/stabs/tests/stabs_test.sh \ + modules/objfmts/bin/tests/bin_test.sh \ + modules/objfmts/bin/tests/multisect/bin_multi_test.sh \ + modules/objfmts/elf/tests/elf_test.sh \ + modules/objfmts/elf/tests/amd64/elf_amd64_test.sh \ + modules/objfmts/elf/tests/x32/elf_x32_test.sh \ + modules/objfmts/elf/tests/gas32/elf_gas32_test.sh \ + modules/objfmts/elf/tests/gas64/elf_gas64_test.sh \ + modules/objfmts/elf/tests/gasx32/elf_gasx32_test.sh \ + modules/objfmts/coff/tests/coff_test.sh \ + modules/objfmts/macho/tests/gas32/gas_macho32_test.sh \ + modules/objfmts/macho/tests/gas64/gas_macho64_test.sh \ + modules/objfmts/macho/tests/nasm32/macho32_test.sh \ + modules/objfmts/macho/tests/nasm64/macho64_test.sh \ + modules/objfmts/rdf/tests/rdf_test.sh \ + modules/objfmts/win32/tests/win32_test.sh \ + modules/objfmts/win32/tests/gas/win32_gas_test.sh \ + modules/objfmts/win64/tests/win64_test.sh \ + modules/objfmts/win64/tests/gas/win64_gas_test.sh \ + modules/objfmts/xdf/tests/xdf_test.sh bitvect_test$(EXEEXT) \ + floatnum_test$(EXEEXT) leb128_test$(EXEEXT) \ + splitpath_test$(EXEEXT) combpath_test$(EXEEXT) \ + uncstring_test$(EXEEXT) libyasm/tests/libyasm_test.sh +noinst_PROGRAMS = genstring$(EXEEXT) re2c$(EXEEXT) genmacro$(EXEEXT) \ + genperf$(EXEEXT) genversion$(EXEEXT) genmodule$(EXEEXT) +check_PROGRAMS = test_hd$(EXEEXT) bitvect_test$(EXEEXT) \ + floatnum_test$(EXEEXT) leb128_test$(EXEEXT) \ + splitpath_test$(EXEEXT) combpath_test$(EXEEXT) \ + uncstring_test$(EXEEXT) +DIST_COMMON = $(srcdir)/tools/Makefile.inc \ + $(srcdir)/tools/re2c/Makefile.inc \ + $(srcdir)/tools/genmacro/Makefile.inc \ + $(srcdir)/tools/genperf/Makefile.inc \ + $(srcdir)/tools/python-yasm/Makefile.inc \ + $(srcdir)/tools/python-yasm/tests/Makefile.inc \ + $(srcdir)/modules/Makefile.inc \ + $(srcdir)/modules/arch/Makefile.inc \ + $(srcdir)/modules/arch/x86/Makefile.inc \ + $(srcdir)/modules/arch/x86/tests/Makefile.inc \ + $(srcdir)/modules/arch/x86/tests/gas32/Makefile.inc \ + $(srcdir)/modules/arch/x86/tests/gas64/Makefile.inc \ + $(srcdir)/modules/arch/lc3b/Makefile.inc \ + $(srcdir)/modules/arch/lc3b/tests/Makefile.inc \ + $(srcdir)/modules/listfmts/Makefile.inc \ + $(srcdir)/modules/listfmts/nasm/Makefile.inc \ + $(srcdir)/modules/parsers/Makefile.inc \ + $(srcdir)/modules/parsers/gas/Makefile.inc \ + $(srcdir)/modules/parsers/gas/tests/Makefile.inc \ + $(srcdir)/modules/parsers/gas/tests/bin/Makefile.inc \ + $(srcdir)/modules/parsers/nasm/Makefile.inc \ + $(srcdir)/modules/parsers/nasm/tests/Makefile.inc \ + $(srcdir)/modules/parsers/nasm/tests/worphan/Makefile.inc \ + $(srcdir)/modules/parsers/tasm/Makefile.inc \ + $(srcdir)/modules/parsers/tasm/tests/Makefile.inc \ + $(srcdir)/modules/parsers/tasm/tests/exe/Makefile.inc \ + $(srcdir)/modules/preprocs/Makefile.inc \ + $(srcdir)/modules/preprocs/tasm/Makefile.inc \ + $(srcdir)/modules/preprocs/tasm/tests/Makefile.inc \ + $(srcdir)/modules/preprocs/nasm/Makefile.inc \ + $(srcdir)/modules/preprocs/nasm/tests/Makefile.inc \ + $(srcdir)/modules/preprocs/raw/Makefile.inc \ + $(srcdir)/modules/preprocs/raw/tests/Makefile.inc \ + $(srcdir)/modules/preprocs/cpp/Makefile.inc \ + $(srcdir)/modules/preprocs/gas/Makefile.inc \ + $(srcdir)/modules/preprocs/gas/tests/Makefile.inc \ + $(srcdir)/modules/dbgfmts/Makefile.inc \ + $(srcdir)/modules/dbgfmts/codeview/Makefile.inc \ + $(srcdir)/modules/dbgfmts/dwarf2/Makefile.inc \ + $(srcdir)/modules/dbgfmts/dwarf2/tests/Makefile.inc \ + $(srcdir)/modules/dbgfmts/dwarf2/tests/gen64/Makefile.inc \ + $(srcdir)/modules/dbgfmts/dwarf2/tests/pass32/Makefile.inc \ + $(srcdir)/modules/dbgfmts/dwarf2/tests/pass64/Makefile.inc \ + $(srcdir)/modules/dbgfmts/dwarf2/tests/passwin64/Makefile.inc \ + $(srcdir)/modules/dbgfmts/null/Makefile.inc \ + $(srcdir)/modules/dbgfmts/stabs/Makefile.inc \ + $(srcdir)/modules/dbgfmts/stabs/tests/Makefile.inc \ + $(srcdir)/modules/objfmts/Makefile.inc \ + $(srcdir)/modules/objfmts/dbg/Makefile.inc \ + $(srcdir)/modules/objfmts/bin/Makefile.inc \ + $(srcdir)/modules/objfmts/bin/tests/Makefile.inc \ + $(srcdir)/modules/objfmts/bin/tests/multisect/Makefile.inc \ + $(srcdir)/modules/objfmts/elf/Makefile.inc \ + $(srcdir)/modules/objfmts/elf/tests/Makefile.inc \ + $(srcdir)/modules/objfmts/elf/tests/amd64/Makefile.inc \ + $(srcdir)/modules/objfmts/elf/tests/x32/Makefile.inc \ + $(srcdir)/modules/objfmts/elf/tests/gas32/Makefile.inc \ + $(srcdir)/modules/objfmts/elf/tests/gas64/Makefile.inc \ + $(srcdir)/modules/objfmts/elf/tests/gasx32/Makefile.inc \ + $(srcdir)/modules/objfmts/coff/Makefile.inc \ + $(srcdir)/modules/objfmts/coff/tests/Makefile.inc \ + $(srcdir)/modules/objfmts/macho/Makefile.inc \ + $(srcdir)/modules/objfmts/macho/tests/Makefile.inc \ + $(srcdir)/modules/objfmts/macho/tests/gas32/Makefile.inc \ + $(srcdir)/modules/objfmts/macho/tests/gas64/Makefile.inc \ + $(srcdir)/modules/objfmts/macho/tests/nasm32/Makefile.inc \ + $(srcdir)/modules/objfmts/macho/tests/nasm64/Makefile.inc \ + $(srcdir)/modules/objfmts/rdf/Makefile.inc \ + $(srcdir)/modules/objfmts/rdf/tests/Makefile.inc \ + $(srcdir)/modules/objfmts/win32/Makefile.inc \ + $(srcdir)/modules/objfmts/win32/tests/Makefile.inc \ + $(srcdir)/modules/objfmts/win32/tests/gas/Makefile.inc \ + $(srcdir)/modules/objfmts/win64/Makefile.inc \ + $(srcdir)/modules/objfmts/win64/tests/Makefile.inc \ + $(srcdir)/modules/objfmts/win64/tests/gas/Makefile.inc \ + $(srcdir)/modules/objfmts/xdf/Makefile.inc \ + $(srcdir)/modules/objfmts/xdf/tests/Makefile.inc \ + $(srcdir)/libyasm/Makefile.inc \ + $(srcdir)/libyasm/tests/Makefile.inc \ + $(srcdir)/frontends/Makefile.inc \ + $(srcdir)/frontends/yasm/Makefile.inc \ + $(srcdir)/frontends/tasm/Makefile.inc \ + $(srcdir)/frontends/vsyasm/Makefile.inc \ + $(srcdir)/m4/Makefile.inc $(srcdir)/Makefile.in \ + $(srcdir)/Makefile.am $(top_srcdir)/configure \ + $(am__configure_deps) $(srcdir)/config.h.in \ + $(top_srcdir)/config/mkinstalldirs \ + $(top_srcdir)/config/depcomp $(dist_man_MANS) \ + $(notrans_dist_man_MANS) $(include_HEADERS) \ + $(modinclude_HEADERS) $(noinst_HEADERS) \ + $(top_srcdir)/config/test-driver ABOUT-NLS AUTHORS COPYING \ + ChangeLog INSTALL NEWS README config/compile \ + config/config.guess config/config.rpath config/config.sub \ + config/depcomp config/install-sh config/missing \ + config/mkinstalldirs $(top_srcdir)/config/compile \ + $(top_srcdir)/config/config.guess \ + $(top_srcdir)/config/config.rpath \ + $(top_srcdir)/config/config.sub \ + $(top_srcdir)/config/install-sh $(top_srcdir)/config/missing +@HAVE_PYTHON_BINDINGS_TRUE@am__append_1 = _yasm.pxi yasm.pyx \ +@HAVE_PYTHON_BINDINGS_TRUE@ yasm_python.c python-setup.txt \ +@HAVE_PYTHON_BINDINGS_TRUE@ .python-build +@HAVE_PYTHON_BINDINGS_TRUE@am__append_2 = PYTHON=${PYTHON} +@HAVE_PYTHON_BINDINGS_TRUE@am__append_3 = tools/python-yasm/tests/python_test.sh +@BUILD_MAN_TRUE@am__append_4 = $(dist_man_MANS) $(notrans_dist_man_MANS) +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ax_create_stdint_h.m4 \ + $(top_srcdir)/m4/cython.m4 $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/pythonhead.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno config.status.lineno +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = config.h +CONFIG_CLEAN_VPATH_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \ + "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man7dir)" \ + "$(DESTDIR)$(includedir)" "$(DESTDIR)$(modincludedir)" \ + "$(DESTDIR)$(includedir)" +LIBRARIES = $(lib_LIBRARIES) +ARFLAGS = cru +AM_V_AR = $(am__v_AR_@AM_V@) +am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) +am__v_AR_0 = @echo " AR " $@; +am__v_AR_1 = +libyasm_a_AR = $(AR) $(ARFLAGS) +libyasm_a_LIBADD = +am__dirstamp = $(am__leading_dot)dirstamp +am_libyasm_a_OBJECTS = modules/arch/x86/x86arch.$(OBJEXT) \ + modules/arch/x86/x86bc.$(OBJEXT) \ + modules/arch/x86/x86expr.$(OBJEXT) \ + modules/arch/x86/x86id.$(OBJEXT) \ + modules/arch/lc3b/lc3barch.$(OBJEXT) \ + modules/arch/lc3b/lc3bbc.$(OBJEXT) \ + modules/listfmts/nasm/nasm-listfmt.$(OBJEXT) \ + modules/parsers/gas/gas-parser.$(OBJEXT) \ + modules/parsers/gas/gas-parse.$(OBJEXT) \ + modules/parsers/gas/gas-parse-intel.$(OBJEXT) \ + modules/parsers/nasm/nasm-parser.$(OBJEXT) \ + modules/parsers/nasm/nasm-parse.$(OBJEXT) \ + modules/preprocs/nasm/nasm-preproc.$(OBJEXT) \ + modules/preprocs/nasm/nasm-pp.$(OBJEXT) \ + modules/preprocs/nasm/nasmlib.$(OBJEXT) \ + modules/preprocs/nasm/nasm-eval.$(OBJEXT) \ + modules/preprocs/raw/raw-preproc.$(OBJEXT) \ + modules/preprocs/cpp/cpp-preproc.$(OBJEXT) \ + modules/preprocs/gas/gas-preproc.$(OBJEXT) \ + modules/preprocs/gas/gas-eval.$(OBJEXT) \ + modules/dbgfmts/codeview/cv-dbgfmt.$(OBJEXT) \ + modules/dbgfmts/codeview/cv-symline.$(OBJEXT) \ + modules/dbgfmts/codeview/cv-type.$(OBJEXT) \ + modules/dbgfmts/dwarf2/dwarf2-dbgfmt.$(OBJEXT) \ + modules/dbgfmts/dwarf2/dwarf2-line.$(OBJEXT) \ + modules/dbgfmts/dwarf2/dwarf2-aranges.$(OBJEXT) \ + modules/dbgfmts/dwarf2/dwarf2-info.$(OBJEXT) \ + modules/dbgfmts/null/null-dbgfmt.$(OBJEXT) \ + modules/dbgfmts/stabs/stabs-dbgfmt.$(OBJEXT) \ + modules/objfmts/dbg/dbg-objfmt.$(OBJEXT) \ + modules/objfmts/bin/bin-objfmt.$(OBJEXT) \ + modules/objfmts/elf/elf.$(OBJEXT) \ + modules/objfmts/elf/elf-objfmt.$(OBJEXT) \ + modules/objfmts/elf/elf-x86-x86.$(OBJEXT) \ + modules/objfmts/elf/elf-x86-amd64.$(OBJEXT) \ + modules/objfmts/elf/elf-x86-x32.$(OBJEXT) \ + modules/objfmts/coff/coff-objfmt.$(OBJEXT) \ + modules/objfmts/coff/win64-except.$(OBJEXT) \ + modules/objfmts/macho/macho-objfmt.$(OBJEXT) \ + modules/objfmts/rdf/rdf-objfmt.$(OBJEXT) \ + modules/objfmts/xdf/xdf-objfmt.$(OBJEXT) \ + libyasm/assocdat.$(OBJEXT) libyasm/bitvect.$(OBJEXT) \ + libyasm/bc-align.$(OBJEXT) libyasm/bc-data.$(OBJEXT) \ + libyasm/bc-incbin.$(OBJEXT) libyasm/bc-org.$(OBJEXT) \ + libyasm/bc-reserve.$(OBJEXT) libyasm/bytecode.$(OBJEXT) \ + libyasm/errwarn.$(OBJEXT) libyasm/expr.$(OBJEXT) \ + libyasm/file.$(OBJEXT) libyasm/floatnum.$(OBJEXT) \ + libyasm/hamt.$(OBJEXT) libyasm/insn.$(OBJEXT) \ + libyasm/intnum.$(OBJEXT) libyasm/inttree.$(OBJEXT) \ + libyasm/linemap.$(OBJEXT) libyasm/md5.$(OBJEXT) \ + libyasm/mergesort.$(OBJEXT) libyasm/phash.$(OBJEXT) \ + libyasm/section.$(OBJEXT) libyasm/strcasecmp.$(OBJEXT) \ + libyasm/strsep.$(OBJEXT) libyasm/symrec.$(OBJEXT) \ + libyasm/valparam.$(OBJEXT) libyasm/value.$(OBJEXT) \ + libyasm/xmalloc.$(OBJEXT) libyasm/xstrdup.$(OBJEXT) +nodist_libyasm_a_OBJECTS = x86cpu.$(OBJEXT) x86regtmod.$(OBJEXT) \ + lc3bid.$(OBJEXT) gas-token.$(OBJEXT) nasm-token.$(OBJEXT) \ + module.$(OBJEXT) +libyasm_a_OBJECTS = $(am_libyasm_a_OBJECTS) \ + $(nodist_libyasm_a_OBJECTS) +PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) +am_bitvect_test_OBJECTS = libyasm/tests/bitvect_test.$(OBJEXT) +bitvect_test_OBJECTS = $(am_bitvect_test_OBJECTS) +am__DEPENDENCIES_1 = +bitvect_test_DEPENDENCIES = libyasm.a $(am__DEPENDENCIES_1) +am_combpath_test_OBJECTS = libyasm/tests/combpath_test.$(OBJEXT) +combpath_test_OBJECTS = $(am_combpath_test_OBJECTS) +combpath_test_DEPENDENCIES = libyasm.a $(am__DEPENDENCIES_1) +am_floatnum_test_OBJECTS = libyasm/tests/floatnum_test.$(OBJEXT) +floatnum_test_OBJECTS = $(am_floatnum_test_OBJECTS) +floatnum_test_DEPENDENCIES = libyasm.a $(am__DEPENDENCIES_1) +am_genmacro_OBJECTS = +genmacro_OBJECTS = $(am_genmacro_OBJECTS) +genmacro_DEPENDENCIES = genmacro.$(OBJEXT) +am_genmodule_OBJECTS = +genmodule_OBJECTS = $(am_genmodule_OBJECTS) +genmodule_DEPENDENCIES = genmodule.$(OBJEXT) +am_genperf_OBJECTS = +genperf_OBJECTS = $(am_genperf_OBJECTS) +genperf_DEPENDENCIES = genperf.$(OBJEXT) gp-perfect.$(OBJEXT) \ + gp-phash.$(OBJEXT) gp-xmalloc.$(OBJEXT) gp-xstrdup.$(OBJEXT) +am_genstring_OBJECTS = +genstring_OBJECTS = $(am_genstring_OBJECTS) +genstring_DEPENDENCIES = genstring.$(OBJEXT) +am_genversion_OBJECTS = +genversion_OBJECTS = $(am_genversion_OBJECTS) +genversion_DEPENDENCIES = genversion.$(OBJEXT) +am_leb128_test_OBJECTS = libyasm/tests/leb128_test.$(OBJEXT) +leb128_test_OBJECTS = $(am_leb128_test_OBJECTS) +leb128_test_DEPENDENCIES = libyasm.a $(am__DEPENDENCIES_1) +am_re2c_OBJECTS = +re2c_OBJECTS = $(am_re2c_OBJECTS) +re2c_DEPENDENCIES = re2c-main.$(OBJEXT) re2c-code.$(OBJEXT) \ + re2c-dfa.$(OBJEXT) re2c-parser.$(OBJEXT) \ + re2c-actions.$(OBJEXT) re2c-scanner.$(OBJEXT) \ + re2c-mbo_getopt.$(OBJEXT) re2c-substr.$(OBJEXT) \ + re2c-translate.$(OBJEXT) +am_splitpath_test_OBJECTS = libyasm/tests/splitpath_test.$(OBJEXT) +splitpath_test_OBJECTS = $(am_splitpath_test_OBJECTS) +splitpath_test_DEPENDENCIES = libyasm.a $(am__DEPENDENCIES_1) +am_test_hd_OBJECTS = test_hd.$(OBJEXT) +test_hd_OBJECTS = $(am_test_hd_OBJECTS) +test_hd_LDADD = $(LDADD) +am_uncstring_test_OBJECTS = libyasm/tests/uncstring_test.$(OBJEXT) +uncstring_test_OBJECTS = $(am_uncstring_test_OBJECTS) +uncstring_test_DEPENDENCIES = libyasm.a $(am__DEPENDENCIES_1) +am_vsyasm_OBJECTS = frontends/vsyasm/vsyasm.$(OBJEXT) \ + frontends/yasm/yasm-options.$(OBJEXT) +vsyasm_OBJECTS = $(am_vsyasm_OBJECTS) +vsyasm_DEPENDENCIES = libyasm.a $(am__DEPENDENCIES_1) +am_yasm_OBJECTS = frontends/yasm/yasm.$(OBJEXT) \ + frontends/yasm/yasm-options.$(OBJEXT) +yasm_OBJECTS = $(am_yasm_OBJECTS) +yasm_DEPENDENCIES = libyasm.a $(am__DEPENDENCIES_1) +am_ytasm_OBJECTS = frontends/tasm/tasm.$(OBJEXT) \ + frontends/tasm/tasm-options.$(OBJEXT) +ytasm_OBJECTS = $(am_ytasm_OBJECTS) +ytasm_DEPENDENCIES = libyasm.a $(am__DEPENDENCIES_1) +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__depfiles_maybe = depfiles +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = +CCLD = $(CC) +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = +SOURCES = $(libyasm_a_SOURCES) $(nodist_libyasm_a_SOURCES) \ + $(bitvect_test_SOURCES) $(combpath_test_SOURCES) \ + $(floatnum_test_SOURCES) $(genmacro_SOURCES) \ + $(genmodule_SOURCES) $(genperf_SOURCES) $(genstring_SOURCES) \ + $(genversion_SOURCES) $(leb128_test_SOURCES) $(re2c_SOURCES) \ + $(splitpath_test_SOURCES) $(test_hd_SOURCES) \ + $(uncstring_test_SOURCES) $(vsyasm_SOURCES) $(yasm_SOURCES) \ + $(ytasm_SOURCES) +DIST_SOURCES = $(libyasm_a_SOURCES) $(bitvect_test_SOURCES) \ + $(combpath_test_SOURCES) $(floatnum_test_SOURCES) \ + $(genmacro_SOURCES) $(genmodule_SOURCES) $(genperf_SOURCES) \ + $(genstring_SOURCES) $(genversion_SOURCES) \ + $(leb128_test_SOURCES) $(re2c_SOURCES) \ + $(splitpath_test_SOURCES) $(test_hd_SOURCES) \ + $(uncstring_test_SOURCES) $(vsyasm_SOURCES) $(yasm_SOURCES) \ + $(ytasm_SOURCES) +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +man1dir = $(mandir)/man1 +man7dir = $(mandir)/man7 +NROFF = nroff +MANS = $(dist_man_MANS) $(notrans_dist_man_MANS) +HEADERS = $(include_HEADERS) $(modinclude_HEADERS) \ + $(nodist_include_HEADERS) $(noinst_HEADERS) +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + cscope check recheck distdir dist dist-all distcheck +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ + $(LISP)config.h.in +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +ETAGS = etags +CTAGS = ctags +CSCOPE = cscope +am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +am__tty_colors = { \ + $(am__tty_colors_dummy); \ + if test "X$(AM_COLOR_TESTS)" = Xno; then \ + am__color_tests=no; \ + elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ + am__color_tests=yes; \ + elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ + am__color_tests=yes; \ + fi; \ + if test $$am__color_tests = yes; then \ + red='[0;31m'; \ + grn='[0;32m'; \ + lgn='[1;32m'; \ + blu='[1;34m'; \ + mgn='[0;35m'; \ + brg='[1m'; \ + std='[m'; \ + fi; \ +} +am__recheck_rx = ^[ ]*:recheck:[ ]* +am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* +am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* +# A command that, given a newline-separated list of test names on the +# standard input, print the name of the tests that are to be re-run +# upon "make recheck". +am__list_recheck_tests = $(AWK) '{ \ + recheck = 1; \ + while ((rc = (getline line < ($$0 ".trs"))) != 0) \ + { \ + if (rc < 0) \ + { \ + if ((getline line2 < ($$0 ".log")) < 0) \ + recheck = 0; \ + break; \ + } \ + else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ + { \ + recheck = 0; \ + break; \ + } \ + else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ + { \ + break; \ + } \ + }; \ + if (recheck) \ + print $$0; \ + close ($$0 ".trs"); \ + close ($$0 ".log"); \ +}' +# A command that, given a newline-separated list of test names on the +# standard input, create the global log from their .trs and .log files. +am__create_global_log = $(AWK) ' \ +function fatal(msg) \ +{ \ + print "fatal: making $@: " msg | "cat >&2"; \ + exit 1; \ +} \ +function rst_section(header) \ +{ \ + print header; \ + len = length(header); \ + for (i = 1; i <= len; i = i + 1) \ + printf "="; \ + printf "\n\n"; \ +} \ +{ \ + copy_in_global_log = 1; \ + global_test_result = "RUN"; \ + while ((rc = (getline line < ($$0 ".trs"))) != 0) \ + { \ + if (rc < 0) \ + fatal("failed to read from " $$0 ".trs"); \ + if (line ~ /$(am__global_test_result_rx)/) \ + { \ + sub("$(am__global_test_result_rx)", "", line); \ + sub("[ ]*$$", "", line); \ + global_test_result = line; \ + } \ + else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ + copy_in_global_log = 0; \ + }; \ + if (copy_in_global_log) \ + { \ + rst_section(global_test_result ": " $$0); \ + while ((rc = (getline line < ($$0 ".log"))) != 0) \ + { \ + if (rc < 0) \ + fatal("failed to read from " $$0 ".log"); \ + print line; \ + }; \ + printf "\n"; \ + }; \ + close ($$0 ".trs"); \ + close ($$0 ".log"); \ +}' +# Restructured Text title. +am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } +# Solaris 10 'make', and several other traditional 'make' implementations, +# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it +# by disabling -e (using the XSI extension "set +e") if it's set. +am__sh_e_setup = case $$- in *e*) set +e;; esac +# Default flags passed to test drivers. +am__common_driver_flags = \ + --color-tests "$$am__color_tests" \ + --enable-hard-errors "$$am__enable_hard_errors" \ + --expect-failure "$$am__expect_failure" +# To be inserted before the command running the test. Creates the +# directory for the log if needed. Stores in $dir the directory +# containing $f, in $tst the test, in $log the log. Executes the +# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and +# passes TESTS_ENVIRONMENT. Set up options for the wrapper that +# will run the test scripts (or their associated LOG_COMPILER, if +# thy have one). +am__check_pre = \ +$(am__sh_e_setup); \ +$(am__vpath_adj_setup) $(am__vpath_adj) \ +$(am__tty_colors); \ +srcdir=$(srcdir); export srcdir; \ +case "$@" in \ + */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ + *) am__odir=.;; \ +esac; \ +test "x$$am__odir" = x"." || test -d "$$am__odir" \ + || $(MKDIR_P) "$$am__odir" || exit $$?; \ +if test -f "./$$f"; then dir=./; \ +elif test -f "$$f"; then dir=; \ +else dir="$(srcdir)/"; fi; \ +tst=$$dir$$f; log='$@'; \ +if test -n '$(DISABLE_HARD_ERRORS)'; then \ + am__enable_hard_errors=no; \ +else \ + am__enable_hard_errors=yes; \ +fi; \ +case " $(XFAIL_TESTS) " in \ + *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ + am__expect_failure=yes;; \ + *) \ + am__expect_failure=no;; \ +esac; \ +$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) +# A shell command to get the names of the tests scripts with any registered +# extension removed (i.e., equivalently, the names of the test logs, with +# the '.log' extension removed). The result is saved in the shell variable +# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, +# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", +# since that might cause problem with VPATH rewrites for suffix-less tests. +# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. +am__set_TESTS_bases = \ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` +RECHECK_LOGS = $(TEST_LOGS) +TEST_SUITE_LOG = test-suite.log +TEST_EXTENSIONS = @EXEEXT@ .test +LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver +LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) +am__set_b = \ + case '$@' in \ + */*) \ + case '$*' in \ + */*) b='$*';; \ + *) b=`echo '$@' | sed 's/\.log$$//'`; \ + esac;; \ + *) \ + b='$*';; \ + esac +am__test_logs1 = $(TESTS:=.log) +am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) +TEST_LOGS = $(am__test_logs2:.test.log=.log) +TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/config/test-driver +TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ + $(TEST_LOG_FLAGS) +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + if test -d "$(distdir)"; then \ + find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -rf "$(distdir)" \ + || { sleep 5 && rm -rf "$(distdir)"; }; \ + else :; fi +am__post_remove_distdir = $(am__remove_distdir) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +DIST_ARCHIVES = $(distdir).tar.gz +GZIP_ENV = --best +DIST_TARGETS = dist-gzip +distuninstallcheck_listfiles = find . -type f -print +am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ + | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' +distcleancheck_listfiles = find . -type f -print +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +ARCH = @ARCH@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CCLD_FOR_BUILD = @CCLD_FOR_BUILD@ +CC_FOR_BUILD = @CC_FOR_BUILD@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CPP_FOR_HOST = @CPP_FOR_HOST@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +GCC = @GCC@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ +LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MORE_CFLAGS = @MORE_CFLAGS@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +POSUB = @POSUB@ +PYTHON = @PYTHON@ +PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ +PYTHON_INCLUDES = @PYTHON_INCLUDES@ +PYTHON_PLATFORM = @PYTHON_PLATFORM@ +PYTHON_PREFIX = @PYTHON_PREFIX@ +PYTHON_VERSION = @PYTHON_VERSION@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ +XMLTO = @XMLTO@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +pkgpyexecdir = @pkgpyexecdir@ +pkgpythondir = @pkgpythondir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +pyexecdir = @pyexecdir@ +pythondir = @pythondir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +SUBDIRS = po . +ACLOCAL_AMFLAGS = -I m4 +AM_YFLAGS = -d +AM_CFLAGS = @MORE_CFLAGS@ +dist_man_MANS = yasm.1 + +#!include modules/objfmts/omf/Makefile.inc +notrans_dist_man_MANS = yasm_arch.7 yasm_parsers.7 yasm_dbgfmts.7 \ + yasm_objfmts.7 +TESTS_ENVIRONMENT = $(am__append_2) +test_hd_SOURCES = test_hd.c +include_HEADERS = libyasm.h +nodist_include_HEADERS = libyasm-stdint.h +noinst_HEADERS = util.h +BUILT_SOURCES = x86insns.c x86insn_nasm.gperf x86insn_gas.gperf \ + x86insn_nasm.c x86insn_gas.c gas-token.c nasm-token.c \ + nasm-macros.c nasm-version.c version.mac win64-nasm.c \ + win64-gas.c license.c +MAINTAINERCLEANFILES = x86insns.c x86insn_nasm.gperf x86insn_gas.gperf \ + $(am__append_4) + +# Until this gets fixed in automake +DISTCLEANFILES = libyasm/stamp-h libyasm/stamp-h[0-9]* + +# Suffix rule for genperf +SUFFIXES = .gperf + +# configure.lineno doesn't clean up after itself? +CLEANFILES = configure.lineno $(am__append_1) x86insn_nasm.c \ + x86insn_gas.c x86cpu.c x86regtmod.c lc3bid.c gas-token.c \ + nasm-token.c nasm-macros.c nasm-version.c version.mac \ + win64-nasm.c win64-gas.c module.c license.c +#!EXTRA_DIST += modules/objfmts/omf/Makefile.inc +EXTRA_DIST = config/config.rpath tools/Makefile.inc \ + libyasm/Makefile.inc modules/Makefile.inc \ + frontends/Makefile.inc tools/re2c/Makefile.inc \ + tools/genmacro/Makefile.inc tools/genperf/Makefile.inc \ + tools/python-yasm/Makefile.inc tools/re2c/main.c \ + tools/re2c/basics.h tools/re2c/globals.h tools/re2c/ins.h \ + tools/re2c/re.h tools/re2c/token.h tools/re2c/code.c \ + tools/re2c/dfa.h tools/re2c/dfa.c tools/re2c/parse.h \ + tools/re2c/parser.h tools/re2c/parser.c tools/re2c/actions.c \ + tools/re2c/scanner.h tools/re2c/scanner.c \ + tools/re2c/mbo_getopt.h tools/re2c/mbo_getopt.c \ + tools/re2c/substr.h tools/re2c/substr.c tools/re2c/translate.c \ + tools/re2c/CHANGELOG tools/re2c/NO_WARRANTY tools/re2c/README \ + tools/re2c/scanner.re tools/re2c/re2c.1 \ + tools/re2c/bootstrap/scanner.c tools/re2c/doc/loplas.ps.gz \ + tools/re2c/doc/sample.bib tools/re2c/examples/basemmap.c \ + tools/re2c/examples/c.re tools/re2c/examples/cmmap.re \ + tools/re2c/examples/cnokw.re tools/re2c/examples/cunroll.re \ + tools/re2c/examples/modula.re tools/re2c/examples/repeater.re \ + tools/re2c/examples/sample.re tools/re2c/examples/simple.re \ + tools/re2c/examples/rexx/README \ + tools/re2c/examples/rexx/rexx.l \ + tools/re2c/examples/rexx/scanio.c tools/genmacro/genmacro.c \ + tools/genperf/genperf.c tools/genperf/perfect.c \ + tools/genperf/perfect.h tools/genperf/standard.h \ + tools/python-yasm/pyxelator/cparse.py \ + tools/python-yasm/pyxelator/genpyx.py \ + tools/python-yasm/pyxelator/ir.py \ + tools/python-yasm/pyxelator/lexer.py \ + tools/python-yasm/pyxelator/node.py \ + tools/python-yasm/pyxelator/parse_core.py \ + tools/python-yasm/pyxelator/work_unit.py \ + tools/python-yasm/pyxelator/wrap_yasm.py \ + tools/python-yasm/setup.py tools/python-yasm/yasm.pyx \ + $(PYBINDING_DEPS) tools/python-yasm/tests/Makefile.inc \ + tools/python-yasm/tests/python_test.sh \ + tools/python-yasm/tests/__init__.py \ + tools/python-yasm/tests/test_bytecode.py \ + tools/python-yasm/tests/test_expr.py \ + tools/python-yasm/tests/test_intnum.py \ + tools/python-yasm/tests/test_symrec.py \ + modules/arch/Makefile.inc modules/listfmts/Makefile.inc \ + modules/parsers/Makefile.inc modules/preprocs/Makefile.inc \ + modules/objfmts/Makefile.inc modules/arch/x86/Makefile.inc \ + modules/arch/lc3b/Makefile.inc \ + modules/arch/x86/gen_x86_insn.py x86insns.c x86insn_nasm.gperf \ + x86insn_gas.gperf modules/arch/x86/x86cpu.gperf \ + modules/arch/x86/x86regtmod.gperf \ + modules/arch/x86/tests/Makefile.inc \ + modules/arch/x86/tests/x86_test.sh \ + modules/arch/x86/tests/gen-fma-test.py \ + modules/arch/x86/tests/addbyte.asm \ + modules/arch/x86/tests/addbyte.errwarn \ + modules/arch/x86/tests/addbyte.hex \ + modules/arch/x86/tests/addrop.asm \ + modules/arch/x86/tests/addrop.errwarn \ + modules/arch/x86/tests/addrop.hex \ + modules/arch/x86/tests/addrop-err.asm \ + modules/arch/x86/tests/addrop-err.errwarn \ + modules/arch/x86/tests/aes.asm modules/arch/x86/tests/aes.hex \ + modules/arch/x86/tests/amd200707.asm \ + modules/arch/x86/tests/amd200707.hex \ + modules/arch/x86/tests/amd-fma4.asm \ + modules/arch/x86/tests/amd-fma4.hex \ + modules/arch/x86/tests/arithsmall.asm \ + modules/arch/x86/tests/arithsmall.errwarn \ + modules/arch/x86/tests/arithsmall.hex \ + modules/arch/x86/tests/avx.asm modules/arch/x86/tests/avx.hex \ + modules/arch/x86/tests/avx16.asm \ + modules/arch/x86/tests/avx16.hex \ + modules/arch/x86/tests/avx2.asm \ + modules/arch/x86/tests/avx2.hex \ + modules/arch/x86/tests/avxcc.asm \ + modules/arch/x86/tests/avxcc.hex \ + modules/arch/x86/tests/bittest.asm \ + modules/arch/x86/tests/bittest.hex \ + modules/arch/x86/tests/bmi1.asm \ + modules/arch/x86/tests/bmi1.hex \ + modules/arch/x86/tests/bmi2.asm \ + modules/arch/x86/tests/bmi2.hex \ + modules/arch/x86/tests/bswap64.asm \ + modules/arch/x86/tests/bswap64.hex \ + modules/arch/x86/tests/clmul.asm \ + modules/arch/x86/tests/clmul.hex \ + modules/arch/x86/tests/cmpxchg.asm \ + modules/arch/x86/tests/cmpxchg.hex \ + modules/arch/x86/tests/cpubasic-err.asm \ + modules/arch/x86/tests/cpubasic-err.errwarn \ + modules/arch/x86/tests/cyrix.asm \ + modules/arch/x86/tests/cyrix.hex \ + modules/arch/x86/tests/div-err.asm \ + modules/arch/x86/tests/div-err.errwarn \ + modules/arch/x86/tests/ea-nonzero.asm \ + modules/arch/x86/tests/ea-nonzero.hex \ + modules/arch/x86/tests/ea-over.asm \ + modules/arch/x86/tests/ea-over.errwarn \ + modules/arch/x86/tests/ea-over.hex \ + modules/arch/x86/tests/ea-warn.asm \ + modules/arch/x86/tests/ea-warn.errwarn \ + modules/arch/x86/tests/ea-warn.hex \ + modules/arch/x86/tests/ebpindex.asm \ + modules/arch/x86/tests/ebpindex.hex \ + modules/arch/x86/tests/effaddr.asm \ + modules/arch/x86/tests/effaddr.hex \ + modules/arch/x86/tests/enter.asm \ + modules/arch/x86/tests/enter.errwarn \ + modules/arch/x86/tests/enter.hex \ + modules/arch/x86/tests/eptvpid.asm \ + modules/arch/x86/tests/eptvpid.hex \ + modules/arch/x86/tests/f16c.asm \ + modules/arch/x86/tests/f16c.hex \ + modules/arch/x86/tests/far64.asm \ + modules/arch/x86/tests/far64.hex \ + modules/arch/x86/tests/farbasic.asm \ + modules/arch/x86/tests/farbasic.hex \ + modules/arch/x86/tests/farithr.asm \ + modules/arch/x86/tests/farithr.hex \ + modules/arch/x86/tests/fcmov.asm \ + modules/arch/x86/tests/fcmov.hex \ + modules/arch/x86/tests/fma.asm modules/arch/x86/tests/fma.hex \ + modules/arch/x86/tests/fsgsbase.asm \ + modules/arch/x86/tests/fsgsbase.hex \ + modules/arch/x86/tests/fwdequ64.asm \ + modules/arch/x86/tests/fwdequ64.hex \ + modules/arch/x86/tests/genopcode.asm \ + modules/arch/x86/tests/genopcode.hex \ + modules/arch/x86/tests/imm64.asm \ + modules/arch/x86/tests/imm64.errwarn \ + modules/arch/x86/tests/imm64.hex \ + modules/arch/x86/tests/invpcid.asm \ + modules/arch/x86/tests/invpcid.hex \ + modules/arch/x86/tests/iret.asm \ + modules/arch/x86/tests/iret.hex \ + modules/arch/x86/tests/jmp64-1.asm \ + modules/arch/x86/tests/jmp64-1.hex \ + modules/arch/x86/tests/jmp64-2.asm \ + modules/arch/x86/tests/jmp64-2.hex \ + modules/arch/x86/tests/jmp64-3.asm \ + modules/arch/x86/tests/jmp64-3.hex \ + modules/arch/x86/tests/jmp64-4.asm \ + modules/arch/x86/tests/jmp64-4.hex \ + modules/arch/x86/tests/jmp64-5.asm \ + modules/arch/x86/tests/jmp64-5.hex \ + modules/arch/x86/tests/jmp64-6.asm \ + modules/arch/x86/tests/jmp64-6.hex \ + modules/arch/x86/tests/jmpfar.asm \ + modules/arch/x86/tests/jmpfar.hex \ + modules/arch/x86/tests/larlsl.asm \ + modules/arch/x86/tests/larlsl.hex \ + modules/arch/x86/tests/lds.asm modules/arch/x86/tests/lds.hex \ + modules/arch/x86/tests/lfs64.asm \ + modules/arch/x86/tests/lfs64.hex \ + modules/arch/x86/tests/loopadsz.asm \ + modules/arch/x86/tests/loopadsz.hex \ + modules/arch/x86/tests/lsahf.asm \ + modules/arch/x86/tests/lsahf.hex \ + modules/arch/x86/tests/lzcnt.asm \ + modules/arch/x86/tests/lzcnt.hex \ + modules/arch/x86/tests/mem64-err.asm \ + modules/arch/x86/tests/mem64-err.errwarn \ + modules/arch/x86/tests/mem64.asm \ + modules/arch/x86/tests/mem64.errwarn \ + modules/arch/x86/tests/mem64.hex \ + modules/arch/x86/tests/mem64hi32.asm \ + modules/arch/x86/tests/mem64hi32.hex \ + modules/arch/x86/tests/mem64rip.asm \ + modules/arch/x86/tests/mem64rip.hex \ + modules/arch/x86/tests/mixcase.asm \ + modules/arch/x86/tests/mixcase.hex \ + modules/arch/x86/tests/movbe.asm \ + modules/arch/x86/tests/movbe.hex \ + modules/arch/x86/tests/movdq32.asm \ + modules/arch/x86/tests/movdq32.hex \ + modules/arch/x86/tests/movdq64.asm \ + modules/arch/x86/tests/movdq64.hex \ + modules/arch/x86/tests/negequ.asm \ + modules/arch/x86/tests/negequ.hex \ + modules/arch/x86/tests/nomem64-err.asm \ + modules/arch/x86/tests/nomem64-err.errwarn \ + modules/arch/x86/tests/nomem64-err2.asm \ + modules/arch/x86/tests/nomem64-err2.errwarn \ + modules/arch/x86/tests/nomem64.asm \ + modules/arch/x86/tests/nomem64.errwarn \ + modules/arch/x86/tests/nomem64.hex \ + modules/arch/x86/tests/o64.asm modules/arch/x86/tests/o64.hex \ + modules/arch/x86/tests/o64loop.asm \ + modules/arch/x86/tests/o64loop.errwarn \ + modules/arch/x86/tests/o64loop.hex \ + modules/arch/x86/tests/opersize.asm \ + modules/arch/x86/tests/opersize.hex \ + modules/arch/x86/tests/opsize-err.asm \ + modules/arch/x86/tests/opsize-err.errwarn \ + modules/arch/x86/tests/overflow.asm \ + modules/arch/x86/tests/overflow.errwarn \ + modules/arch/x86/tests/overflow.hex \ + modules/arch/x86/tests/padlock.asm \ + modules/arch/x86/tests/padlock.hex \ + modules/arch/x86/tests/pinsrb.asm \ + modules/arch/x86/tests/pinsrb.hex \ + modules/arch/x86/tests/pshift.asm \ + modules/arch/x86/tests/pshift.hex \ + modules/arch/x86/tests/push64.asm \ + modules/arch/x86/tests/push64.errwarn \ + modules/arch/x86/tests/push64.hex \ + modules/arch/x86/tests/pushf.asm \ + modules/arch/x86/tests/pushf.hex \ + modules/arch/x86/tests/pushf-err.asm \ + modules/arch/x86/tests/pushf-err.errwarn \ + modules/arch/x86/tests/pushnosize.asm \ + modules/arch/x86/tests/pushnosize.errwarn \ + modules/arch/x86/tests/pushnosize.hex \ + modules/arch/x86/tests/rdrnd.asm \ + modules/arch/x86/tests/rdrnd.hex \ + modules/arch/x86/tests/rep.asm modules/arch/x86/tests/rep.hex \ + modules/arch/x86/tests/ret.asm modules/arch/x86/tests/ret.hex \ + modules/arch/x86/tests/riprel1.asm \ + modules/arch/x86/tests/riprel1.hex \ + modules/arch/x86/tests/riprel2.asm \ + modules/arch/x86/tests/riprel2.errwarn \ + modules/arch/x86/tests/riprel2.hex \ + modules/arch/x86/tests/ripseg.asm \ + modules/arch/x86/tests/ripseg.errwarn \ + modules/arch/x86/tests/ripseg.hex \ + modules/arch/x86/tests/segmov.asm \ + modules/arch/x86/tests/segmov.hex \ + modules/arch/x86/tests/segoff.asm \ + modules/arch/x86/tests/segoff.hex \ + modules/arch/x86/tests/segoff-err.asm \ + modules/arch/x86/tests/segoff-err.errwarn \ + modules/arch/x86/tests/shift.asm \ + modules/arch/x86/tests/shift.hex \ + modules/arch/x86/tests/shift64.asm \ + modules/arch/x86/tests/shift64.hex \ + modules/arch/x86/tests/simd-1.asm \ + modules/arch/x86/tests/simd-1.hex \ + modules/arch/x86/tests/simd-2.asm \ + modules/arch/x86/tests/simd-2.hex \ + modules/arch/x86/tests/simd64-1.asm \ + modules/arch/x86/tests/simd64-1.hex \ + modules/arch/x86/tests/simd64-2.asm \ + modules/arch/x86/tests/simd64-2.hex \ + modules/arch/x86/tests/smx.asm modules/arch/x86/tests/smx.hex \ + modules/arch/x86/tests/sse-prefix.asm \ + modules/arch/x86/tests/sse-prefix.hex \ + modules/arch/x86/tests/sse3.asm \ + modules/arch/x86/tests/sse3.hex \ + modules/arch/x86/tests/sse4.asm \ + modules/arch/x86/tests/sse4.hex \ + modules/arch/x86/tests/sse4-err.asm \ + modules/arch/x86/tests/sse4-err.errwarn \ + modules/arch/x86/tests/ssewidth.asm \ + modules/arch/x86/tests/ssewidth.hex \ + modules/arch/x86/tests/ssse3.asm \ + modules/arch/x86/tests/ssse3.c \ + modules/arch/x86/tests/ssse3.hex \ + modules/arch/x86/tests/stos.asm \ + modules/arch/x86/tests/stos.hex modules/arch/x86/tests/str.asm \ + modules/arch/x86/tests/str.hex \ + modules/arch/x86/tests/strict.asm \ + modules/arch/x86/tests/strict.errwarn \ + modules/arch/x86/tests/strict.hex \ + modules/arch/x86/tests/strict-err.asm \ + modules/arch/x86/tests/strict-err.errwarn \ + modules/arch/x86/tests/stringseg.asm \ + modules/arch/x86/tests/stringseg.errwarn \ + modules/arch/x86/tests/stringseg.hex \ + modules/arch/x86/tests/svm.asm modules/arch/x86/tests/svm.hex \ + modules/arch/x86/tests/twobytemem.asm \ + modules/arch/x86/tests/twobytemem.errwarn \ + modules/arch/x86/tests/twobytemem.hex \ + modules/arch/x86/tests/vmx.asm modules/arch/x86/tests/vmx.hex \ + modules/arch/x86/tests/vmx-err.asm \ + modules/arch/x86/tests/vmx-err.errwarn \ + modules/arch/x86/tests/vsib.asm \ + modules/arch/x86/tests/vsib.hex \ + modules/arch/x86/tests/vsib-err.asm \ + modules/arch/x86/tests/vsib-err.errwarn \ + modules/arch/x86/tests/vsib2-err.asm \ + modules/arch/x86/tests/vsib2-err.errwarn \ + modules/arch/x86/tests/x86label.asm \ + modules/arch/x86/tests/x86label.hex \ + modules/arch/x86/tests/xchg64.asm \ + modules/arch/x86/tests/xchg64.hex \ + modules/arch/x86/tests/xmm64.asm \ + modules/arch/x86/tests/xmm64.hex \ + modules/arch/x86/tests/xop-all.asm \ + modules/arch/x86/tests/xop-all.hex \ + modules/arch/x86/tests/xop-basic.asm \ + modules/arch/x86/tests/xop-basic.hex \ + modules/arch/x86/tests/xop-cc.asm \ + modules/arch/x86/tests/xop-cc.hex \ + modules/arch/x86/tests/xsave.asm \ + modules/arch/x86/tests/xsave.hex \ + modules/arch/x86/tests/gas32/Makefile.inc \ + modules/arch/x86/tests/gas64/Makefile.inc \ + modules/arch/x86/tests/gas32/x86_gas32_test.sh \ + modules/arch/x86/tests/gas32/align32.asm \ + modules/arch/x86/tests/gas32/align32.hex \ + modules/arch/x86/tests/gas32/gas-farithr.asm \ + modules/arch/x86/tests/gas32/gas-farithr.hex \ + modules/arch/x86/tests/gas32/gas-farjump.asm \ + modules/arch/x86/tests/gas32/gas-farjump.hex \ + modules/arch/x86/tests/gas32/gas-fpmem.asm \ + modules/arch/x86/tests/gas32/gas-fpmem.hex \ + modules/arch/x86/tests/gas32/gas-invlpg.asm \ + modules/arch/x86/tests/gas32/gas-invlpg.hex \ + modules/arch/x86/tests/gas32/gas-loop32.asm \ + modules/arch/x86/tests/gas32/gas-loop32.hex \ + modules/arch/x86/tests/gas32/gas-movdq32.asm \ + modules/arch/x86/tests/gas32/gas-movdq32.hex \ + modules/arch/x86/tests/gas32/gas-movsd.asm \ + modules/arch/x86/tests/gas32/gas-movsd.hex \ + modules/arch/x86/tests/gas32/gas-pop.asm \ + modules/arch/x86/tests/gas32/gas-pop.hex \ + modules/arch/x86/tests/gas32/gas32-jmpcall.asm \ + modules/arch/x86/tests/gas32/gas32-jmpcall.hex \ + modules/arch/x86/tests/gas64/x86_gas64_test.sh \ + modules/arch/x86/tests/gas64/align64.asm \ + modules/arch/x86/tests/gas64/align64.hex \ + modules/arch/x86/tests/gas64/gas-cbw.asm \ + modules/arch/x86/tests/gas64/gas-cbw.hex \ + modules/arch/x86/tests/gas64/gas-fp.asm \ + modules/arch/x86/tests/gas64/gas-fp.hex \ + modules/arch/x86/tests/gas64/gas-inout.asm \ + modules/arch/x86/tests/gas64/gas-inout.hex \ + modules/arch/x86/tests/gas64/gas-loop64.asm \ + modules/arch/x86/tests/gas64/gas-loop64.hex \ + modules/arch/x86/tests/gas64/gas-moreinsn.asm \ + modules/arch/x86/tests/gas64/gas-moreinsn.hex \ + modules/arch/x86/tests/gas64/gas-movabs.asm \ + modules/arch/x86/tests/gas64/gas-movabs.hex \ + modules/arch/x86/tests/gas64/gas-movdq64.asm \ + modules/arch/x86/tests/gas64/gas-movdq64.hex \ + modules/arch/x86/tests/gas64/gas-movsxs.asm \ + modules/arch/x86/tests/gas64/gas-movsxs.hex \ + modules/arch/x86/tests/gas64/gas-muldiv.asm \ + modules/arch/x86/tests/gas64/gas-muldiv.hex \ + modules/arch/x86/tests/gas64/gas-prefix.asm \ + modules/arch/x86/tests/gas64/gas-prefix.errwarn \ + modules/arch/x86/tests/gas64/gas-prefix.hex \ + modules/arch/x86/tests/gas64/gas-retenter.asm \ + modules/arch/x86/tests/gas64/gas-retenter.hex \ + modules/arch/x86/tests/gas64/gas-shift.asm \ + modules/arch/x86/tests/gas64/gas-shift.hex \ + modules/arch/x86/tests/gas64/gas64-jmpcall.asm \ + modules/arch/x86/tests/gas64/gas64-jmpcall.hex \ + modules/arch/x86/tests/gas64/riprel.asm \ + modules/arch/x86/tests/gas64/riprel.hex \ + modules/arch/lc3b/tests/Makefile.inc \ + modules/arch/lc3b/lc3bid.re \ + modules/arch/lc3b/tests/lc3b_test.sh \ + modules/arch/lc3b/tests/lc3b-basic.asm \ + modules/arch/lc3b/tests/lc3b-basic.errwarn \ + modules/arch/lc3b/tests/lc3b-basic.hex \ + modules/arch/lc3b/tests/lc3b-br.asm \ + modules/arch/lc3b/tests/lc3b-br.hex \ + modules/arch/lc3b/tests/lc3b-ea-err.asm \ + modules/arch/lc3b/tests/lc3b-ea-err.errwarn \ + modules/arch/lc3b/tests/lc3b-mp22NC.asm \ + modules/arch/lc3b/tests/lc3b-mp22NC.hex \ + modules/arch/yasm_arch.xml modules/listfmts/nasm/Makefile.inc \ + modules/parsers/gas/Makefile.inc \ + modules/parsers/nasm/Makefile.inc \ + modules/parsers/gas/tests/Makefile.inc \ + modules/parsers/gas/gas-token.re \ + modules/parsers/gas/tests/gas_test.sh \ + modules/parsers/gas/tests/dataref-imm.asm \ + modules/parsers/gas/tests/dataref-imm.hex \ + modules/parsers/gas/tests/datavis.asm \ + modules/parsers/gas/tests/datavis.errwarn \ + modules/parsers/gas/tests/datavis.hex \ + modules/parsers/gas/tests/datavis2.asm \ + modules/parsers/gas/tests/datavis2.hex \ + modules/parsers/gas/tests/execsect.asm \ + modules/parsers/gas/tests/execsect.hex \ + modules/parsers/gas/tests/gas-fill.asm \ + modules/parsers/gas/tests/gas-fill.hex \ + modules/parsers/gas/tests/gas-float.asm \ + modules/parsers/gas/tests/gas-float.hex \ + modules/parsers/gas/tests/gas-instlabel.asm \ + modules/parsers/gas/tests/gas-instlabel.hex \ + modules/parsers/gas/tests/gas-line-err.asm \ + modules/parsers/gas/tests/gas-line-err.errwarn \ + modules/parsers/gas/tests/gas-line2-err.asm \ + modules/parsers/gas/tests/gas-line2-err.errwarn \ + modules/parsers/gas/tests/gas-push.asm \ + modules/parsers/gas/tests/gas-push.hex \ + modules/parsers/gas/tests/gas-segprefix.asm \ + modules/parsers/gas/tests/gas-segprefix.hex \ + modules/parsers/gas/tests/gas-semi.asm \ + modules/parsers/gas/tests/gas-semi.hex \ + modules/parsers/gas/tests/gassectalign.asm \ + modules/parsers/gas/tests/gassectalign.hex \ + modules/parsers/gas/tests/jmpcall.asm \ + modules/parsers/gas/tests/jmpcall.errwarn \ + modules/parsers/gas/tests/jmpcall.hex \ + modules/parsers/gas/tests/leb128.asm \ + modules/parsers/gas/tests/leb128.hex \ + modules/parsers/gas/tests/localcomm.asm \ + modules/parsers/gas/tests/localcomm.hex \ + modules/parsers/gas/tests/reggroup-err.asm \ + modules/parsers/gas/tests/reggroup-err.errwarn \ + modules/parsers/gas/tests/reggroup.asm \ + modules/parsers/gas/tests/reggroup.hex \ + modules/parsers/gas/tests/strzero.asm \ + modules/parsers/gas/tests/strzero.hex \ + modules/parsers/gas/tests/varinsn.asm \ + modules/parsers/gas/tests/varinsn.hex \ + modules/parsers/gas/tests/bin/Makefile.inc \ + modules/parsers/gas/tests/bin/gas_bin_test.sh \ + modules/parsers/gas/tests/bin/gas-comment.asm \ + modules/parsers/gas/tests/bin/gas-comment.errwarn \ + modules/parsers/gas/tests/bin/gas-comment.hex \ + modules/parsers/gas/tests/bin/gas-intel_syntax-noprefix.asm \ + modules/parsers/gas/tests/bin/gas-intel_syntax-noprefix.hex \ + modules/parsers/gas/tests/bin/gas-llabel.asm \ + modules/parsers/gas/tests/bin/gas-llabel.hex \ + modules/parsers/gas/tests/bin/gas-macro.asm \ + modules/parsers/gas/tests/bin/gas-macro.hex \ + modules/parsers/gas/tests/bin/gas-set.asm \ + modules/parsers/gas/tests/bin/gas-set.hex \ + modules/parsers/gas/tests/bin/gas-str.asm \ + modules/parsers/gas/tests/bin/gas-str.hex \ + modules/parsers/gas/tests/bin/rept-err.asm \ + modules/parsers/gas/tests/bin/rept-err.errwarn \ + modules/parsers/gas/tests/bin/reptempty.asm \ + modules/parsers/gas/tests/bin/reptempty.hex \ + modules/parsers/gas/tests/bin/reptlong.asm \ + modules/parsers/gas/tests/bin/reptlong.hex \ + modules/parsers/gas/tests/bin/reptnested.asm \ + modules/parsers/gas/tests/bin/reptnested.hex \ + modules/parsers/gas/tests/bin/reptsimple.asm \ + modules/parsers/gas/tests/bin/reptsimple.hex \ + modules/parsers/gas/tests/bin/reptwarn.asm \ + modules/parsers/gas/tests/bin/reptwarn.errwarn \ + modules/parsers/gas/tests/bin/reptwarn.hex \ + modules/parsers/gas/tests/bin/reptzero.asm \ + modules/parsers/gas/tests/bin/reptzero.hex \ + modules/parsers/nasm/nasm-token.re \ + modules/parsers/nasm/nasm-std.mac \ + modules/parsers/nasm/tests/Makefile.inc \ + modules/parsers/nasm/tests/nasm_test.sh \ + modules/parsers/nasm/tests/alignnop16.asm \ + modules/parsers/nasm/tests/alignnop16.hex \ + modules/parsers/nasm/tests/alignnop32.asm \ + modules/parsers/nasm/tests/alignnop32.hex \ + modules/parsers/nasm/tests/charconstmath.asm \ + modules/parsers/nasm/tests/charconstmath.hex \ + modules/parsers/nasm/tests/dirwarning.asm \ + modules/parsers/nasm/tests/dirwarning.errwarn \ + modules/parsers/nasm/tests/dirwarning.hex \ + modules/parsers/nasm/tests/dy.asm \ + modules/parsers/nasm/tests/dy.hex \ + modules/parsers/nasm/tests/endcomma.asm \ + modules/parsers/nasm/tests/endcomma.hex \ + modules/parsers/nasm/tests/equcolon.asm \ + modules/parsers/nasm/tests/equcolon.hex \ + modules/parsers/nasm/tests/equlocal.asm \ + modules/parsers/nasm/tests/equlocal.hex \ + modules/parsers/nasm/tests/hexconst.asm \ + modules/parsers/nasm/tests/hexconst.hex \ + modules/parsers/nasm/tests/long.asm \ + modules/parsers/nasm/tests/long.hex \ + modules/parsers/nasm/tests/locallabel.asm \ + modules/parsers/nasm/tests/locallabel.hex \ + modules/parsers/nasm/tests/locallabel2.asm \ + modules/parsers/nasm/tests/locallabel2.hex \ + modules/parsers/nasm/tests/nasm-prefix.asm \ + modules/parsers/nasm/tests/nasm-prefix.hex \ + modules/parsers/nasm/tests/newsect.asm \ + modules/parsers/nasm/tests/newsect.hex \ + modules/parsers/nasm/tests/orphannowarn.asm \ + modules/parsers/nasm/tests/orphannowarn.hex \ + modules/parsers/nasm/tests/prevlocalwarn.asm \ + modules/parsers/nasm/tests/prevlocalwarn.errwarn \ + modules/parsers/nasm/tests/prevlocalwarn.hex \ + modules/parsers/nasm/tests/strucalign.asm \ + modules/parsers/nasm/tests/strucalign.hex \ + modules/parsers/nasm/tests/struczero.asm \ + modules/parsers/nasm/tests/struczero.hex \ + modules/parsers/nasm/tests/strucbase.asm \ + modules/parsers/nasm/tests/strucbase.hex \ + modules/parsers/nasm/tests/syntax-err.asm \ + modules/parsers/nasm/tests/syntax-err.errwarn \ + modules/parsers/nasm/tests/uscore.asm \ + modules/parsers/nasm/tests/uscore.hex \ + modules/parsers/nasm/tests/worphan/Makefile.inc \ + modules/parsers/nasm/tests/worphan/nasm_worphan_test.sh \ + modules/parsers/nasm/tests/worphan/orphanwarn.asm \ + modules/parsers/nasm/tests/worphan/orphanwarn.errwarn \ + modules/parsers/nasm/tests/worphan/orphanwarn.hex \ + modules/parsers/tasm/tests/Makefile.inc \ + modules/parsers/tasm/tests/tasm_test.sh \ + modules/parsers/tasm/tests/array.asm \ + modules/parsers/tasm/tests/array.hex \ + modules/parsers/tasm/tests/case.asm \ + modules/parsers/tasm/tests/case.hex \ + modules/parsers/tasm/tests/charstr.asm \ + modules/parsers/tasm/tests/charstr.hex \ + modules/parsers/tasm/tests/dup.asm \ + modules/parsers/tasm/tests/dup.hex \ + modules/parsers/tasm/tests/equal.asm \ + modules/parsers/tasm/tests/equal.hex \ + modules/parsers/tasm/tests/expr.asm \ + modules/parsers/tasm/tests/expr.hex \ + modules/parsers/tasm/tests/irp.asm \ + modules/parsers/tasm/tests/irp.hex \ + modules/parsers/tasm/tests/label.asm \ + modules/parsers/tasm/tests/label.hex \ + modules/parsers/tasm/tests/les.asm \ + modules/parsers/tasm/tests/les.hex \ + modules/parsers/tasm/tests/lidt.asm \ + modules/parsers/tasm/tests/lidt.hex \ + modules/parsers/tasm/tests/macro.asm \ + modules/parsers/tasm/tests/macro.hex \ + modules/parsers/tasm/tests/offset.asm \ + modules/parsers/tasm/tests/offset.hex \ + modules/parsers/tasm/tests/quote.asm \ + modules/parsers/tasm/tests/quote.hex \ + modules/parsers/tasm/tests/res.asm \ + modules/parsers/tasm/tests/res.errwarn \ + modules/parsers/tasm/tests/res.hex \ + modules/parsers/tasm/tests/segment.asm \ + modules/parsers/tasm/tests/segment.hex \ + modules/parsers/tasm/tests/size.asm \ + modules/parsers/tasm/tests/size.hex \ + modules/parsers/tasm/tests/struc.asm \ + modules/parsers/tasm/tests/struc.errwarn \ + modules/parsers/tasm/tests/struc.hex \ + modules/parsers/tasm/tests/exe/Makefile.inc \ + modules/parsers/tasm/tests/exe/tasm_exe_test.sh \ + modules/parsers/tasm/tests/exe/exe.asm \ + modules/parsers/tasm/tests/exe/exe.hex \ + modules/parsers/yasm_parsers.xml \ + modules/preprocs/tasm/Makefile.inc \ + modules/preprocs/nasm/Makefile.inc \ + modules/preprocs/raw/Makefile.inc \ + modules/preprocs/cpp/Makefile.inc \ + modules/preprocs/gas/Makefile.inc \ + modules/preprocs/tasm/tests/Makefile.inc \ + modules/preprocs/tasm/tests/tasmpp_test.sh \ + modules/preprocs/tasm/tests/tasm-assume-comment.asm \ + modules/preprocs/tasm/tests/tasm-assume-comment.hex \ + modules/preprocs/tasm/tests/tasm-comment-instr.asm \ + modules/preprocs/tasm/tests/tasm-comment-instr.hex \ + modules/preprocs/nasm/genversion.c \ + modules/preprocs/nasm/tests/Makefile.inc \ + modules/preprocs/nasm/tests/nasmpp_test.sh \ + modules/preprocs/nasm/tests/16args.asm \ + modules/preprocs/nasm/tests/16args.hex \ + modules/preprocs/nasm/tests/ifcritical-err.asm \ + modules/preprocs/nasm/tests/ifcritical-err.errwarn \ + modules/preprocs/nasm/tests/longline.asm \ + modules/preprocs/nasm/tests/longline.hex \ + modules/preprocs/nasm/tests/macroeof-err.asm \ + modules/preprocs/nasm/tests/macroeof-err.errwarn \ + modules/preprocs/nasm/tests/noinclude-err.asm \ + modules/preprocs/nasm/tests/noinclude-err.errwarn \ + modules/preprocs/nasm/tests/nasmpp-bigint.asm \ + modules/preprocs/nasm/tests/nasmpp-bigint.hex \ + modules/preprocs/nasm/tests/nasmpp-decimal.asm \ + modules/preprocs/nasm/tests/nasmpp-decimal.hex \ + modules/preprocs/nasm/tests/nasmpp-nested.asm \ + modules/preprocs/nasm/tests/nasmpp-nested.errwarn \ + modules/preprocs/nasm/tests/nasmpp-nested.hex \ + modules/preprocs/nasm/tests/orgsect.asm \ + modules/preprocs/nasm/tests/orgsect.hex \ + modules/preprocs/nasm/tests/scope-err.asm \ + modules/preprocs/nasm/tests/scope-err.errwarn \ + modules/preprocs/raw/tests/Makefile.inc \ + modules/preprocs/raw/tests/rawpp_test.sh \ + modules/preprocs/raw/tests/longline.asm \ + modules/preprocs/raw/tests/longline.hex \ + modules/preprocs/gas/tests/Makefile.inc \ + modules/dbgfmts/codeview/Makefile.inc \ + modules/dbgfmts/dwarf2/Makefile.inc \ + modules/dbgfmts/null/Makefile.inc \ + modules/dbgfmts/stabs/Makefile.inc \ + modules/dbgfmts/codeview/cv8.txt \ + modules/dbgfmts/dwarf2/tests/Makefile.inc \ + modules/dbgfmts/dwarf2/tests/gen64/Makefile.inc \ + modules/dbgfmts/dwarf2/tests/pass32/Makefile.inc \ + modules/dbgfmts/dwarf2/tests/pass64/Makefile.inc \ + modules/dbgfmts/dwarf2/tests/passwin64/Makefile.inc \ + modules/dbgfmts/dwarf2/tests/gen64/dwarf2_gen64_test.sh \ + modules/dbgfmts/dwarf2/tests/gen64/dwarf64_pathname.asm \ + modules/dbgfmts/dwarf2/tests/gen64/dwarf64_pathname.hex \ + modules/dbgfmts/dwarf2/tests/pass32/dwarf2_pass32_test.sh \ + modules/dbgfmts/dwarf2/tests/pass32/dwarf32-err.asm \ + modules/dbgfmts/dwarf2/tests/pass32/dwarf32-err.errwarn \ + modules/dbgfmts/dwarf2/tests/pass32/dwarf32_testhd.asm \ + modules/dbgfmts/dwarf2/tests/pass32/dwarf32_testhd.hex \ + modules/dbgfmts/dwarf2/tests/pass64/dwarf2_pass64_test.sh \ + modules/dbgfmts/dwarf2/tests/pass64/dwarf64_2loc.asm \ + modules/dbgfmts/dwarf2/tests/pass64/dwarf64_2loc.hex \ + modules/dbgfmts/dwarf2/tests/pass64/dwarf64_leb128.asm \ + modules/dbgfmts/dwarf2/tests/pass64/dwarf64_leb128.hex \ + modules/dbgfmts/dwarf2/tests/passwin64/dwarf2_passwin64_test.sh \ + modules/dbgfmts/dwarf2/tests/passwin64/dwarfwin64_testhd.asm \ + modules/dbgfmts/dwarf2/tests/passwin64/dwarfwin64_testhd.errwarn \ + modules/dbgfmts/dwarf2/tests/passwin64/dwarfwin64_testhd.hex \ + modules/dbgfmts/stabs/tests/Makefile.inc \ + modules/dbgfmts/stabs/tests/stabs_test.sh \ + modules/dbgfmts/stabs/tests/stabs-elf.asm \ + modules/dbgfmts/stabs/tests/stabs-elf.hex \ + modules/dbgfmts/yasm_dbgfmts.xml \ + modules/objfmts/dbg/Makefile.inc \ + modules/objfmts/bin/Makefile.inc \ + modules/objfmts/elf/Makefile.inc \ + modules/objfmts/coff/Makefile.inc \ + modules/objfmts/macho/Makefile.inc \ + modules/objfmts/rdf/Makefile.inc \ + modules/objfmts/win32/Makefile.inc \ + modules/objfmts/win64/Makefile.inc \ + modules/objfmts/xdf/Makefile.inc \ + modules/objfmts/bin/tests/Makefile.inc \ + modules/objfmts/bin/tests/bin_test.sh \ + modules/objfmts/bin/tests/abs.asm \ + modules/objfmts/bin/tests/abs.hex \ + modules/objfmts/bin/tests/bigorg.asm \ + modules/objfmts/bin/tests/bigorg.hex \ + modules/objfmts/bin/tests/bigorg.errwarn \ + modules/objfmts/bin/tests/bin-farabs.asm \ + modules/objfmts/bin/tests/bin-farabs.hex \ + modules/objfmts/bin/tests/bin-rip.asm \ + modules/objfmts/bin/tests/bin-rip.hex \ + modules/objfmts/bin/tests/bintest.asm \ + modules/objfmts/bin/tests/bintest.hex \ + modules/objfmts/bin/tests/float-err.asm \ + modules/objfmts/bin/tests/float-err.errwarn \ + modules/objfmts/bin/tests/float.asm \ + modules/objfmts/bin/tests/float.hex \ + modules/objfmts/bin/tests/integer-warn.asm \ + modules/objfmts/bin/tests/integer-warn.hex \ + modules/objfmts/bin/tests/integer-warn.errwarn \ + modules/objfmts/bin/tests/integer.asm \ + modules/objfmts/bin/tests/integer.hex \ + modules/objfmts/bin/tests/levelop.asm \ + modules/objfmts/bin/tests/levelop.hex \ + modules/objfmts/bin/tests/reserve.asm \ + modules/objfmts/bin/tests/reserve.hex \ + modules/objfmts/bin/tests/reserve.errwarn \ + modules/objfmts/bin/tests/shr.asm \ + modules/objfmts/bin/tests/shr.hex \ + modules/objfmts/bin/tests/multisect/Makefile.inc \ + modules/objfmts/bin/tests/multisect/bin_multi_test.sh \ + modules/objfmts/bin/tests/multisect/bin-align.asm \ + modules/objfmts/bin/tests/multisect/bin-align.errwarn \ + modules/objfmts/bin/tests/multisect/bin-align.hex \ + modules/objfmts/bin/tests/multisect/bin-align.map \ + modules/objfmts/bin/tests/multisect/bin-ssym.asm \ + modules/objfmts/bin/tests/multisect/bin-ssym.hex \ + modules/objfmts/bin/tests/multisect/bin-ssym.map \ + modules/objfmts/bin/tests/multisect/follows-loop1-err.asm \ + modules/objfmts/bin/tests/multisect/follows-loop1-err.errwarn \ + modules/objfmts/bin/tests/multisect/follows-loop2-err.asm \ + modules/objfmts/bin/tests/multisect/follows-loop2-err.errwarn \ + modules/objfmts/bin/tests/multisect/follows-notfound-err.asm \ + modules/objfmts/bin/tests/multisect/follows-notfound-err.errwarn \ + modules/objfmts/bin/tests/multisect/initbss.asm \ + modules/objfmts/bin/tests/multisect/initbss.errwarn \ + modules/objfmts/bin/tests/multisect/initbss.hex \ + modules/objfmts/bin/tests/multisect/initbss.map \ + modules/objfmts/bin/tests/multisect/ldlinux-sects.asm \ + modules/objfmts/bin/tests/multisect/ldlinux-sects.hex \ + modules/objfmts/bin/tests/multisect/ldlinux-sects.map \ + modules/objfmts/bin/tests/multisect/multisect1.asm \ + modules/objfmts/bin/tests/multisect/multisect1.hex \ + modules/objfmts/bin/tests/multisect/multisect1.map \ + modules/objfmts/bin/tests/multisect/multisect2.asm \ + modules/objfmts/bin/tests/multisect/multisect2.hex \ + modules/objfmts/bin/tests/multisect/multisect2.map \ + modules/objfmts/bin/tests/multisect/multisect3.asm \ + modules/objfmts/bin/tests/multisect/multisect3.hex \ + modules/objfmts/bin/tests/multisect/multisect3.map \ + modules/objfmts/bin/tests/multisect/multisect4.asm \ + modules/objfmts/bin/tests/multisect/multisect4.hex \ + modules/objfmts/bin/tests/multisect/multisect4.map \ + modules/objfmts/bin/tests/multisect/multisect5.asm \ + modules/objfmts/bin/tests/multisect/multisect5.hex \ + modules/objfmts/bin/tests/multisect/multisect5.map \ + modules/objfmts/bin/tests/multisect/nomultisect1.asm \ + modules/objfmts/bin/tests/multisect/nomultisect1.hex \ + modules/objfmts/bin/tests/multisect/nomultisect1.map \ + modules/objfmts/bin/tests/multisect/nomultisect2.asm \ + modules/objfmts/bin/tests/multisect/nomultisect2.hex \ + modules/objfmts/bin/tests/multisect/nomultisect2.map \ + modules/objfmts/bin/tests/multisect/vfollows-loop1-err.asm \ + modules/objfmts/bin/tests/multisect/vfollows-loop1-err.errwarn \ + modules/objfmts/bin/tests/multisect/vfollows-loop2-err.asm \ + modules/objfmts/bin/tests/multisect/vfollows-loop2-err.errwarn \ + modules/objfmts/bin/tests/multisect/vfollows-notfound-err.asm \ + modules/objfmts/bin/tests/multisect/vfollows-notfound-err.errwarn \ + modules/objfmts/elf/tests/Makefile.inc \ + modules/objfmts/elf/tests/elf_test.sh \ + modules/objfmts/elf/tests/curpos.asm \ + modules/objfmts/elf/tests/curpos.hex \ + modules/objfmts/elf/tests/curpos-err.asm \ + modules/objfmts/elf/tests/curpos-err.errwarn \ + modules/objfmts/elf/tests/elf-overdef.asm \ + modules/objfmts/elf/tests/elf-overdef.hex \ + modules/objfmts/elf/tests/elf-x86id.asm \ + modules/objfmts/elf/tests/elf-x86id.hex \ + modules/objfmts/elf/tests/elfabssect.asm \ + modules/objfmts/elf/tests/elfabssect.hex \ + modules/objfmts/elf/tests/elfcond.asm \ + modules/objfmts/elf/tests/elfcond.hex \ + modules/objfmts/elf/tests/elfequabs.asm \ + modules/objfmts/elf/tests/elfequabs.hex \ + modules/objfmts/elf/tests/elfglobal.asm \ + modules/objfmts/elf/tests/elfglobal.hex \ + modules/objfmts/elf/tests/elfglobext.asm \ + modules/objfmts/elf/tests/elfglobext.hex \ + modules/objfmts/elf/tests/elfglobext2.asm \ + modules/objfmts/elf/tests/elfglobext2.hex \ + modules/objfmts/elf/tests/elfmanysym.asm \ + modules/objfmts/elf/tests/elfmanysym.hex \ + modules/objfmts/elf/tests/elfreloc.asm \ + modules/objfmts/elf/tests/elfreloc.hex \ + modules/objfmts/elf/tests/elfreloc-ext.asm \ + modules/objfmts/elf/tests/elfreloc-ext.hex \ + modules/objfmts/elf/tests/elfsectalign.asm \ + modules/objfmts/elf/tests/elfsectalign.hex \ + modules/objfmts/elf/tests/elfso.asm \ + modules/objfmts/elf/tests/elfso.hex \ + modules/objfmts/elf/tests/elftest.c \ + modules/objfmts/elf/tests/elftest.asm \ + modules/objfmts/elf/tests/elftest.hex \ + modules/objfmts/elf/tests/elftimes.asm \ + modules/objfmts/elf/tests/elftimes.hex \ + modules/objfmts/elf/tests/elftypesize.asm \ + modules/objfmts/elf/tests/elftypesize.hex \ + modules/objfmts/elf/tests/elfvisibility.asm \ + modules/objfmts/elf/tests/elfvisibility.errwarn \ + modules/objfmts/elf/tests/elfvisibility.hex \ + modules/objfmts/elf/tests/nasm-sectname.asm \ + modules/objfmts/elf/tests/nasm-sectname.hex \ + modules/objfmts/elf/tests/nasm-forceident.asm \ + modules/objfmts/elf/tests/nasm-forceident.hex \ + modules/objfmts/elf/tests/amd64/Makefile.inc \ + modules/objfmts/elf/tests/x32/Makefile.inc \ + modules/objfmts/elf/tests/gas32/Makefile.inc \ + modules/objfmts/elf/tests/gas64/Makefile.inc \ + modules/objfmts/elf/tests/gasx32/Makefile.inc \ + modules/objfmts/elf/tests/amd64/elf_amd64_test.sh \ + modules/objfmts/elf/tests/amd64/elf-rip.asm \ + modules/objfmts/elf/tests/amd64/elf-rip.hex \ + modules/objfmts/elf/tests/amd64/elfso64.asm \ + modules/objfmts/elf/tests/amd64/elfso64.hex \ + modules/objfmts/elf/tests/amd64/gotpcrel.asm \ + modules/objfmts/elf/tests/amd64/gotpcrel.hex \ + modules/objfmts/elf/tests/amd64/multiplefixup.asm \ + modules/objfmts/elf/tests/amd64/multiplefixup.hex \ + modules/objfmts/elf/tests/x32/elf_x32_test.sh \ + modules/objfmts/elf/tests/x32/elf-rip.asm \ + modules/objfmts/elf/tests/x32/elf-rip.hex \ + modules/objfmts/elf/tests/x32/elfsox32.asm \ + modules/objfmts/elf/tests/x32/elfsox32.hex \ + modules/objfmts/elf/tests/x32/gotpcrel.asm \ + modules/objfmts/elf/tests/x32/gotpcrel.hex \ + modules/objfmts/elf/tests/x32/multiplefixup.asm \ + modules/objfmts/elf/tests/x32/multiplefixup.hex \ + modules/objfmts/elf/tests/gas32/elf_gas32_test.sh \ + modules/objfmts/elf/tests/gas32/elf_gas32_ssym.asm \ + modules/objfmts/elf/tests/gas32/elf_gas32_ssym.hex \ + modules/objfmts/elf/tests/gas32/elf_gas32_got.asm \ + modules/objfmts/elf/tests/gas32/elf_gas32_got.hex \ + modules/objfmts/elf/tests/gas64/elf_gas64_test.sh \ + modules/objfmts/elf/tests/gas64/crosssect.asm \ + modules/objfmts/elf/tests/gas64/crosssect.hex \ + modules/objfmts/elf/tests/gas64/elf_gas64_curpos.asm \ + modules/objfmts/elf/tests/gas64/elf_gas64_curpos.hex \ + modules/objfmts/elf/tests/gas64/elf_gas64_reloc.asm \ + modules/objfmts/elf/tests/gas64/elf_gas64_reloc.hex \ + modules/objfmts/elf/tests/gas64/elf_gas64_ssym.asm \ + modules/objfmts/elf/tests/gas64/elf_gas64_ssym.hex \ + modules/objfmts/elf/tests/gasx32/elf_gasx32_test.sh \ + modules/objfmts/elf/tests/gasx32/crosssect.asm \ + modules/objfmts/elf/tests/gasx32/crosssect.hex \ + modules/objfmts/elf/tests/gasx32/elf_gasx32_curpos.asm \ + modules/objfmts/elf/tests/gasx32/elf_gasx32_curpos.hex \ + modules/objfmts/elf/tests/gasx32/elf_gasx32_reloc.asm \ + modules/objfmts/elf/tests/gasx32/elf_gasx32_reloc.hex \ + modules/objfmts/elf/tests/gasx32/elf_gasx32_ssym.asm \ + modules/objfmts/elf/tests/gasx32/elf_gasx32_ssym.hex \ + modules/objfmts/coff/win64-nasm.mac \ + modules/objfmts/coff/win64-gas.mac \ + modules/objfmts/coff/tests/Makefile.inc \ + modules/objfmts/coff/tests/coff_test.sh \ + modules/objfmts/coff/tests/cofftest.c \ + modules/objfmts/coff/tests/cofftest.asm \ + modules/objfmts/coff/tests/cofftest.hex \ + modules/objfmts/coff/tests/cofftimes.asm \ + modules/objfmts/coff/tests/cofftimes.hex \ + modules/objfmts/coff/tests/x86id.asm \ + modules/objfmts/coff/tests/x86id.hex \ + modules/objfmts/coff/tests/x86id.errwarn \ + modules/objfmts/macho/tests/Makefile.inc \ + modules/objfmts/macho/tests/gas32/Makefile.inc \ + modules/objfmts/macho/tests/gas64/Makefile.inc \ + modules/objfmts/macho/tests/nasm32/Makefile.inc \ + modules/objfmts/macho/tests/nasm64/Makefile.inc \ + modules/objfmts/macho/tests/gas32/gas_macho32_test.sh \ + modules/objfmts/macho/tests/gas32/gas-macho32.asm \ + modules/objfmts/macho/tests/gas32/gas-macho32.hex \ + modules/objfmts/macho/tests/gas64/gas_macho64_test.sh \ + modules/objfmts/macho/tests/gas64/gas-macho64.asm \ + modules/objfmts/macho/tests/gas64/gas-macho64.hex \ + modules/objfmts/macho/tests/gas64/gas-macho64-pic.asm \ + modules/objfmts/macho/tests/gas64/gas-macho64-pic.hex \ + modules/objfmts/macho/tests/nasm32/macho32_test.sh \ + modules/objfmts/macho/tests/nasm32/machotest.c \ + modules/objfmts/macho/tests/nasm32/machotest.asm \ + modules/objfmts/macho/tests/nasm32/machotest.hex \ + modules/objfmts/macho/tests/nasm32/macho-reloc.asm \ + modules/objfmts/macho/tests/nasm32/macho-reloc.hex \ + modules/objfmts/macho/tests/nasm32/macho32-pext.asm \ + modules/objfmts/macho/tests/nasm32/macho32-pext.hex \ + modules/objfmts/macho/tests/nasm32/macho32-pic.asm \ + modules/objfmts/macho/tests/nasm32/macho32-pic.hex \ + modules/objfmts/macho/tests/nasm32/macho32-sect.asm \ + modules/objfmts/macho/tests/nasm32/macho32-sect.errwarn \ + modules/objfmts/macho/tests/nasm32/macho32-sect.hex \ + modules/objfmts/macho/tests/nasm32/macho32-size.asm \ + modules/objfmts/macho/tests/nasm32/macho32-size.hex \ + modules/objfmts/macho/tests/nasm64/nasm-macho64-pic.asm \ + modules/objfmts/macho/tests/nasm64/nasm-macho64-pic.hex \ + modules/objfmts/macho/tests/nasm64/macho64_test.sh \ + modules/objfmts/macho/tests/nasm64/machotest64.c \ + modules/objfmts/macho/tests/nasm64/machotest64.asm \ + modules/objfmts/macho/tests/nasm64/machotest64.hex \ + modules/objfmts/macho/tests/nasm64/macho-reloc64-err.asm \ + modules/objfmts/macho/tests/nasm64/macho-reloc64-err.errwarn \ + modules/objfmts/rdf/tests/Makefile.inc \ + modules/objfmts/rdf/tests/rdf_test.sh \ + modules/objfmts/rdf/tests/rdfabs.asm \ + modules/objfmts/rdf/tests/rdfabs.errwarn \ + modules/objfmts/rdf/tests/rdfabs.hex \ + modules/objfmts/rdf/tests/rdfext.asm \ + modules/objfmts/rdf/tests/rdfext.hex \ + modules/objfmts/rdf/tests/rdfseg.asm \ + modules/objfmts/rdf/tests/rdfseg.hex \ + modules/objfmts/rdf/tests/rdfseg2.asm \ + modules/objfmts/rdf/tests/rdfseg2.hex \ + modules/objfmts/rdf/tests/rdftest1.asm \ + modules/objfmts/rdf/tests/rdftest1.hex \ + modules/objfmts/rdf/tests/rdftest2.asm \ + modules/objfmts/rdf/tests/rdftest2.hex \ + modules/objfmts/rdf/tests/rdtlib.asm \ + modules/objfmts/rdf/tests/rdtlib.hex \ + modules/objfmts/rdf/tests/rdtmain.asm \ + modules/objfmts/rdf/tests/rdtmain.hex \ + modules/objfmts/rdf/tests/testlib.asm \ + modules/objfmts/rdf/tests/testlib.hex \ + modules/objfmts/win32/tests/Makefile.inc \ + modules/objfmts/win32/tests/export.asm \ + modules/objfmts/win32/tests/export.hex \ + modules/objfmts/win32/tests/win32_test.sh \ + modules/objfmts/win32/tests/win32-curpos.asm \ + modules/objfmts/win32/tests/win32-curpos.hex \ + modules/objfmts/win32/tests/win32-overdef.asm \ + modules/objfmts/win32/tests/win32-overdef.hex \ + modules/objfmts/win32/tests/win32-safeseh.asm \ + modules/objfmts/win32/tests/win32-safeseh.hex \ + modules/objfmts/win32/tests/win32-safeseh.masm \ + modules/objfmts/win32/tests/win32-segof.asm \ + modules/objfmts/win32/tests/win32-segof.hex \ + modules/objfmts/win32/tests/win32test.c \ + modules/objfmts/win32/tests/win32test.asm \ + modules/objfmts/win32/tests/win32test.hex \ + modules/objfmts/win32/tests/gas/Makefile.inc \ + modules/objfmts/win32/tests/gas/win32_gas_test.sh \ + modules/objfmts/win32/tests/gas/win32at.asm \ + modules/objfmts/win32/tests/gas/win32at.hex \ + modules/objfmts/win32/tests/gas/win32def.asm \ + modules/objfmts/win32/tests/gas/win32def.hex \ + modules/objfmts/win32/tests/gas/win32secrel32.asm \ + modules/objfmts/win32/tests/gas/win32secrel32.hex \ + modules/objfmts/win64/tests/Makefile.inc \ + modules/objfmts/win64/tests/win64_test.sh \ + modules/objfmts/win64/tests/sce1.asm \ + modules/objfmts/win64/tests/sce1.hex \ + modules/objfmts/win64/tests/sce1-err.asm \ + modules/objfmts/win64/tests/sce1-err.errwarn \ + modules/objfmts/win64/tests/sce2.asm \ + modules/objfmts/win64/tests/sce2.hex \ + modules/objfmts/win64/tests/sce2-err.asm \ + modules/objfmts/win64/tests/sce2-err.errwarn \ + modules/objfmts/win64/tests/sce3.asm \ + modules/objfmts/win64/tests/sce3.hex \ + modules/objfmts/win64/tests/sce3.masm \ + modules/objfmts/win64/tests/sce4.asm \ + modules/objfmts/win64/tests/sce4.hex \ + modules/objfmts/win64/tests/sce4.masm \ + modules/objfmts/win64/tests/sce4-err.asm \ + modules/objfmts/win64/tests/sce4-err.errwarn \ + modules/objfmts/win64/tests/win64-abs.asm \ + modules/objfmts/win64/tests/win64-abs.hex \ + modules/objfmts/win64/tests/win64-curpos.asm \ + modules/objfmts/win64/tests/win64-curpos.hex \ + modules/objfmts/win64/tests/win64-dataref.asm \ + modules/objfmts/win64/tests/win64-dataref.hex \ + modules/objfmts/win64/tests/win64-dataref.masm \ + modules/objfmts/win64/tests/win64-dataref2.asm \ + modules/objfmts/win64/tests/win64-dataref2.hex \ + modules/objfmts/win64/tests/win64-dataref2.masm \ + modules/objfmts/win64/tests/win64-function.asm \ + modules/objfmts/win64/tests/win64-function.hex \ + modules/objfmts/win64/tests/win64-imagebase.hex \ + modules/objfmts/win64/tests/win64-imagebase.asm \ + modules/objfmts/win64/tests/gas/Makefile.inc \ + modules/objfmts/win64/tests/gas/win64_gas_test.sh \ + modules/objfmts/win64/tests/gas/win64-gas-sce.asm \ + modules/objfmts/win64/tests/gas/win64-gas-sce.hex \ + modules/objfmts/xdf/tests/Makefile.inc \ + modules/objfmts/xdf/tests/xdf_test.sh \ + modules/objfmts/xdf/tests/xdf-overdef.asm \ + modules/objfmts/xdf/tests/xdf-overdef.hex \ + modules/objfmts/xdf/tests/xdflong.asm \ + modules/objfmts/xdf/tests/xdflong.hex \ + modules/objfmts/xdf/tests/xdflong.errwarn \ + modules/objfmts/xdf/tests/xdfother.asm \ + modules/objfmts/xdf/tests/xdfother.hex \ + modules/objfmts/xdf/tests/xdfprotect.asm \ + modules/objfmts/xdf/tests/xdfprotect.hex \ + modules/objfmts/xdf/tests/xdfsect.asm \ + modules/objfmts/xdf/tests/xdfsect.hex \ + modules/objfmts/xdf/tests/xdfsect-err.asm \ + modules/objfmts/xdf/tests/xdfsect-err.errwarn \ + modules/objfmts/xdf/tests/xdfvirtual.asm \ + modules/objfmts/xdf/tests/xdfvirtual.hex \ + modules/objfmts/yasm_objfmts.xml libyasm/genmodule.c \ + libyasm/module.in libyasm/tests/Makefile.inc \ + libyasm/tests/libyasm_test.sh libyasm/tests/1shl0.asm \ + libyasm/tests/1shl0.hex libyasm/tests/absloop-err.asm \ + libyasm/tests/absloop-err.errwarn \ + libyasm/tests/charconst64.asm libyasm/tests/charconst64.hex \ + libyasm/tests/data-rawvalue.asm \ + libyasm/tests/data-rawvalue.hex libyasm/tests/duplabel-err.asm \ + libyasm/tests/duplabel-err.errwarn libyasm/tests/emptydata.asm \ + libyasm/tests/emptydata.hex libyasm/tests/equ-expand.asm \ + libyasm/tests/equ-expand.hex libyasm/tests/expr-fold-level.asm \ + libyasm/tests/expr-fold-level.hex \ + libyasm/tests/expr-simplify-identity.asm \ + libyasm/tests/expr-simplify-identity.hex \ + libyasm/tests/expr-wide-ident.asm \ + libyasm/tests/expr-wide-ident.hex libyasm/tests/externdef.asm \ + libyasm/tests/externdef.errwarn libyasm/tests/externdef.hex \ + libyasm/tests/incbin.asm libyasm/tests/incbin.hex \ + libyasm/tests/jmpsize1.asm libyasm/tests/jmpsize1.hex \ + libyasm/tests/jmpsize1-err.asm \ + libyasm/tests/jmpsize1-err.errwarn \ + libyasm/tests/opt-align1.asm libyasm/tests/opt-align1.hex \ + libyasm/tests/opt-align2.asm libyasm/tests/opt-align2.hex \ + libyasm/tests/opt-align3.asm libyasm/tests/opt-align3.hex \ + libyasm/tests/opt-circular1-err.asm \ + libyasm/tests/opt-circular1-err.errwarn \ + libyasm/tests/opt-circular2-err.asm \ + libyasm/tests/opt-circular2-err.errwarn \ + libyasm/tests/opt-circular3-err.asm \ + libyasm/tests/opt-circular3-err.errwarn \ + libyasm/tests/opt-gvmat64.asm libyasm/tests/opt-gvmat64.hex \ + libyasm/tests/opt-immexpand.asm \ + libyasm/tests/opt-immexpand.hex \ + libyasm/tests/opt-immnoexpand.asm \ + libyasm/tests/opt-immnoexpand.hex \ + libyasm/tests/opt-oldalign.asm libyasm/tests/opt-oldalign.hex \ + libyasm/tests/opt-struc.asm libyasm/tests/opt-struc.hex \ + libyasm/tests/reserve-err1.asm \ + libyasm/tests/reserve-err1.errwarn \ + libyasm/tests/reserve-err2.asm \ + libyasm/tests/reserve-err2.errwarn libyasm/tests/strucsize.asm \ + libyasm/tests/strucsize.hex libyasm/tests/times0.asm \ + libyasm/tests/times0.hex libyasm/tests/timesfwd.asm \ + libyasm/tests/timesfwd.hex libyasm/tests/timesover-err.asm \ + libyasm/tests/timesover-err.errwarn \ + libyasm/tests/timesunder.asm libyasm/tests/timesunder.hex \ + libyasm/tests/times-res.asm libyasm/tests/times-res.errwarn \ + libyasm/tests/times-res.hex libyasm/tests/unary.asm \ + libyasm/tests/unary.hex libyasm/tests/value-err.asm \ + libyasm/tests/value-err.errwarn \ + libyasm/tests/value-samesym.asm \ + libyasm/tests/value-samesym.errwarn \ + libyasm/tests/value-samesym.hex libyasm/tests/value-mask.asm \ + libyasm/tests/value-mask.errwarn libyasm/tests/value-mask.hex \ + libyasm/tests/value-shr-symexpr.asm \ + libyasm/tests/value-shr-symexpr.hex \ + frontends/yasm/Makefile.inc frontends/tasm/Makefile.inc \ + frontends/vsyasm/Makefile.inc frontends/yasm/yasm.xml \ + m4/intmax.m4 m4/longdouble.m4 m4/nls.m4 m4/po.m4 \ + m4/printf-posix.m4 m4/signed.m4 m4/size_max.m4 m4/ulonglong.m4 \ + m4/wchar_t.m4 m4/wint_t.m4 m4/xsize.m4 m4/codeset.m4 \ + m4/gettext.m4 m4/glibc21.m4 m4/iconv.m4 m4/intdiv0.m4 \ + m4/inttypes.m4 m4/inttypes_h.m4 m4/inttypes-pri.m4 \ + m4/isc-posix.m4 m4/lcmessage.m4 m4/lib-ld.m4 m4/lib-link.m4 \ + m4/lib-prefix.m4 m4/longlong.m4 m4/progtest.m4 m4/stdint_h.m4 \ + m4/uintmax_t.m4 m4/pythonhead.m4 m4/cython.m4 out_test.sh \ + Artistic.txt BSD.txt GNU_GPL-2.0 GNU_LGPL-2.0 splint.sh \ + YASM-VERSION-GEN.sh CMakeLists.txt ConfigureChecks.cmake \ + config.h.cmake libyasm-stdint.h.cmake cmake/CMakeLists.txt \ + cmake/modules/CMakeLists.txt cmake/modules/DummyCFile.c \ + cmake/modules/VersionGen.cmake cmake/modules/YasmMacros.cmake \ + frontends/CMakeLists.txt frontends/tasm/CMakeLists.txt \ + frontends/vsyasm/CMakeLists.txt frontends/yasm/CMakeLists.txt \ + frontends/yasm/genstring.py frontends/yasm/yasm-plugin.c \ + frontends/yasm/yasm-plugin.h libyasm/CMakeLists.txt \ + libyasm/cmake-module.c modules/arch/CMakeLists.txt \ + modules/arch/lc3b/CMakeLists.txt \ + modules/arch/x86/CMakeLists.txt modules/CMakeLists.txt \ + modules/dbgfmts/CMakeLists.txt \ + modules/dbgfmts/codeview/CMakeLists.txt \ + modules/dbgfmts/dwarf2/CMakeLists.txt \ + modules/dbgfmts/null/CMakeLists.txt \ + modules/dbgfmts/stabs/CMakeLists.txt \ + modules/listfmts/CMakeLists.txt \ + modules/listfmts/nasm/CMakeLists.txt \ + modules/objfmts/bin/CMakeLists.txt \ + modules/objfmts/CMakeLists.txt \ + modules/objfmts/coff/CMakeLists.txt \ + modules/objfmts/dbg/CMakeLists.txt \ + modules/objfmts/elf/CMakeLists.txt \ + modules/objfmts/macho/CMakeLists.txt \ + modules/objfmts/rdf/CMakeLists.txt \ + modules/objfmts/xdf/CMakeLists.txt \ + modules/parsers/CMakeLists.txt \ + modules/parsers/gas/CMakeLists.txt \ + modules/parsers/nasm/CMakeLists.txt \ + modules/preprocs/CMakeLists.txt \ + modules/preprocs/cpp/CMakeLists.txt \ + modules/preprocs/gas/CMakeLists.txt \ + modules/preprocs/nasm/CMakeLists.txt \ + modules/preprocs/raw/CMakeLists.txt plugins/README \ + plugins/dbg/CMakeLists.txt plugins/dbg/dbg-objfmt.c \ + plugins/dbg/init_plugin.c plugins/dbg/README \ + plugins/x86/CMakeLists.txt plugins/x86/init_plugin.c \ + plugins/x86/README tools/CMakeLists.txt \ + tools/genmacro/CMakeLists.txt tools/genperf/CMakeLists.txt \ + tools/re2c/CMakeLists.txt Mkfiles/Makefile.flat \ + Mkfiles/Makefile.dj Mkfiles/dj/config.h \ + Mkfiles/dj/libyasm-stdint.h Mkfiles/vc9/config.h \ + Mkfiles/vc9/crt_secure_no_deprecate.vsprops \ + Mkfiles/vc9/libyasm-stdint.h Mkfiles/vc9/readme.vc9.txt \ + Mkfiles/vc9/vc98_swap.py Mkfiles/vc9/vsyasm.vcproj \ + Mkfiles/vc9/yasm.sln Mkfiles/vc9/yasm.vcproj \ + Mkfiles/vc9/ytasm.vcproj Mkfiles/vc9/yasm.rules \ + Mkfiles/vc9/genmacro/genmacro.vcproj \ + Mkfiles/vc9/genmacro/run.bat \ + Mkfiles/vc9/genmodule/genmodule.vcproj \ + Mkfiles/vc9/genmodule/run.bat \ + Mkfiles/vc9/genperf/genperf.vcproj Mkfiles/vc9/genperf/run.bat \ + Mkfiles/vc9/genstring/genstring.vcproj \ + Mkfiles/vc9/genstring/run.bat \ + Mkfiles/vc9/genversion/genversion.vcproj \ + Mkfiles/vc9/genversion/run.bat \ + Mkfiles/vc9/libyasm/libyasm.vcproj \ + Mkfiles/vc9/modules/modules.vcproj \ + Mkfiles/vc9/re2c/re2c.vcproj Mkfiles/vc9/re2c/run.bat \ + Mkfiles/vc10/config.h \ + Mkfiles/vc10/crt_secure_no_deprecate.props \ + Mkfiles/vc10/crt_secure_no_deprecate.vsprops \ + Mkfiles/vc10/libyasm-stdint.h Mkfiles/vc10/out_copy_rename.bat \ + Mkfiles/vc10/readme.vc10.txt Mkfiles/vc10/vsyasm.props \ + Mkfiles/vc10/vsyasm.targets Mkfiles/vc10/vsyasm.vcxproj \ + Mkfiles/vc10/vsyasm.xml Mkfiles/vc10/yasm.sln \ + Mkfiles/vc10/yasm.vcxproj Mkfiles/vc10/yasm.vcxproj.filters \ + Mkfiles/vc10/ytasm.vcxproj \ + Mkfiles/vc10/genmacro/genmacro.vcxproj \ + Mkfiles/vc10/genmacro/genmacro.vcxproj.filters \ + Mkfiles/vc10/genmacro/run.bat \ + Mkfiles/vc10/genmodule/genmodule.vcxproj \ + Mkfiles/vc10/genmodule/genmodule.vcxproj.filters \ + Mkfiles/vc10/genmodule/run.bat \ + Mkfiles/vc10/genperf/genperf.vcxproj \ + Mkfiles/vc10/genperf/genperf.vcxproj.filters \ + Mkfiles/vc10/genperf/run.bat \ + Mkfiles/vc10/genstring/genstring.vcxproj \ + Mkfiles/vc10/genstring/genstring.vcxproj.filters \ + Mkfiles/vc10/genstring/run.bat \ + Mkfiles/vc10/genversion/genversion.vcxproj \ + Mkfiles/vc10/genversion/genversion.vcxproj.filters \ + Mkfiles/vc10/genversion/run.bat \ + Mkfiles/vc10/libyasm/libyasm.vcxproj \ + Mkfiles/vc10/libyasm/libyasm.vcxproj.filters \ + Mkfiles/vc10/modules/modules.vcxproj \ + Mkfiles/vc10/modules/modules.vcxproj.filters \ + Mkfiles/vc10/re2c/re2c.vcxproj \ + Mkfiles/vc10/re2c/re2c.vcxproj.filters \ + Mkfiles/vc10/re2c/run.bat Mkfiles/vc12/config.h \ + Mkfiles/vc12/crt_secure_no_deprecate.props \ + Mkfiles/vc12/crt_secure_no_deprecate.vsprops \ + Mkfiles/vc12/libyasm/libyasm.vcxproj \ + Mkfiles/vc12/libyasm/libyasm.vcxproj.filters \ + Mkfiles/vc12/modules/modules.vcxproj \ + Mkfiles/vc12/modules/modules.vcxproj.filters \ + Mkfiles/vc12/out_copy_rename.bat Mkfiles/vc12/readme.vc12.txt \ + Mkfiles/vc12/vsyasm.props Mkfiles/vc12/vsyasm.targets \ + Mkfiles/vc12/vsyasm.vcxproj Mkfiles/vc12/vsyasm.xml \ + Mkfiles/vc12/yasm.sln Mkfiles/vc12/yasm.vcxproj \ + Mkfiles/vc12/yasm.vcxproj.filters Mkfiles/vc12/ytasm.vcxproj \ + genstring.c + +# libyasm-stdint.h doesn't clean up after itself? +CONFIG_CLEAN_FILES = libyasm-stdint.h YASM-VERSION-FILE YASM-VERSION.h +re2c_SOURCES = +re2c_LDADD = re2c-main.$(OBJEXT) re2c-code.$(OBJEXT) \ + re2c-dfa.$(OBJEXT) re2c-parser.$(OBJEXT) \ + re2c-actions.$(OBJEXT) re2c-scanner.$(OBJEXT) \ + re2c-mbo_getopt.$(OBJEXT) re2c-substr.$(OBJEXT) \ + re2c-translate.$(OBJEXT) +re2c_LINK = $(CCLD_FOR_BUILD) -o $@ +genmacro_SOURCES = +genmacro_LDADD = genmacro.$(OBJEXT) +genmacro_LINK = $(CCLD_FOR_BUILD) -o $@ +genperf_SOURCES = +genperf_LDADD = genperf.$(OBJEXT) gp-perfect.$(OBJEXT) \ + gp-phash.$(OBJEXT) gp-xmalloc.$(OBJEXT) gp-xstrdup.$(OBJEXT) +genperf_LINK = $(CCLD_FOR_BUILD) -o $@ +PYBINDING_DEPS = tools/python-yasm/bytecode.pxi \ + tools/python-yasm/errwarn.pxi tools/python-yasm/expr.pxi \ + tools/python-yasm/floatnum.pxi tools/python-yasm/intnum.pxi \ + tools/python-yasm/symrec.pxi tools/python-yasm/value.pxi +YASM_MODULES = arch_x86 arch_lc3b listfmt_nasm parser_gas parser_gnu \ + parser_nasm parser_tasm preproc_nasm preproc_tasm preproc_raw \ + preproc_cpp preproc_gas dbgfmt_cv8 dbgfmt_dwarf2 dbgfmt_null \ + dbgfmt_stabs objfmt_dbg objfmt_bin objfmt_dosexe objfmt_elf \ + objfmt_elf32 objfmt_elf64 objfmt_elfx32 objfmt_coff \ + objfmt_macho objfmt_macho32 objfmt_macho64 objfmt_rdf \ + objfmt_win32 objfmt_win64 objfmt_x64 objfmt_xdf +lib_LIBRARIES = libyasm.a +libyasm_a_SOURCES = modules/arch/x86/x86arch.c \ + modules/arch/x86/x86arch.h modules/arch/x86/x86bc.c \ + modules/arch/x86/x86expr.c modules/arch/x86/x86id.c \ + modules/arch/lc3b/lc3barch.c modules/arch/lc3b/lc3barch.h \ + modules/arch/lc3b/lc3bbc.c \ + modules/listfmts/nasm/nasm-listfmt.c \ + modules/parsers/gas/gas-parser.c \ + modules/parsers/gas/gas-parser.h \ + modules/parsers/gas/gas-parse.c \ + modules/parsers/gas/gas-parse-intel.c \ + modules/parsers/nasm/nasm-parser.c \ + modules/parsers/nasm/nasm-parser.h \ + modules/parsers/nasm/nasm-parser-struct.h \ + modules/parsers/nasm/nasm-parse.c \ + modules/preprocs/nasm/nasm-preproc.c \ + modules/preprocs/nasm/nasm-pp.h \ + modules/preprocs/nasm/nasm-pp.c modules/preprocs/nasm/nasm.h \ + modules/preprocs/nasm/nasmlib.h \ + modules/preprocs/nasm/nasmlib.c \ + modules/preprocs/nasm/nasm-eval.h \ + modules/preprocs/nasm/nasm-eval.c \ + modules/preprocs/raw/raw-preproc.c \ + modules/preprocs/cpp/cpp-preproc.c \ + modules/preprocs/gas/gas-preproc.c \ + modules/preprocs/gas/gas-eval.h \ + modules/preprocs/gas/gas-eval.c \ + modules/dbgfmts/codeview/cv-dbgfmt.h \ + modules/dbgfmts/codeview/cv-dbgfmt.c \ + modules/dbgfmts/codeview/cv-symline.c \ + modules/dbgfmts/codeview/cv-type.c \ + modules/dbgfmts/dwarf2/dwarf2-dbgfmt.h \ + modules/dbgfmts/dwarf2/dwarf2-dbgfmt.c \ + modules/dbgfmts/dwarf2/dwarf2-line.c \ + modules/dbgfmts/dwarf2/dwarf2-aranges.c \ + modules/dbgfmts/dwarf2/dwarf2-info.c \ + modules/dbgfmts/null/null-dbgfmt.c \ + modules/dbgfmts/stabs/stabs-dbgfmt.c \ + modules/objfmts/dbg/dbg-objfmt.c \ + modules/objfmts/bin/bin-objfmt.c modules/objfmts/elf/elf.c \ + modules/objfmts/elf/elf.h modules/objfmts/elf/elf-objfmt.c \ + modules/objfmts/elf/elf-machine.h \ + modules/objfmts/elf/elf-x86-x86.c \ + modules/objfmts/elf/elf-x86-amd64.c \ + modules/objfmts/elf/elf-x86-x32.c \ + modules/objfmts/coff/coff-objfmt.c \ + modules/objfmts/coff/coff-objfmt.h \ + modules/objfmts/coff/win64-except.c \ + modules/objfmts/macho/macho-objfmt.c \ + modules/objfmts/rdf/rdf-objfmt.c \ + modules/objfmts/xdf/xdf-objfmt.c libyasm/assocdat.c \ + libyasm/bitvect.c libyasm/bc-align.c libyasm/bc-data.c \ + libyasm/bc-incbin.c libyasm/bc-org.c libyasm/bc-reserve.c \ + libyasm/bytecode.c libyasm/errwarn.c libyasm/expr.c \ + libyasm/file.c libyasm/floatnum.c libyasm/hamt.c \ + libyasm/insn.c libyasm/intnum.c libyasm/inttree.c \ + libyasm/linemap.c libyasm/md5.c libyasm/mergesort.c \ + libyasm/phash.c libyasm/section.c libyasm/strcasecmp.c \ + libyasm/strsep.c libyasm/symrec.c libyasm/valparam.c \ + libyasm/value.c libyasm/xmalloc.c libyasm/xstrdup.c +nodist_libyasm_a_SOURCES = x86cpu.c x86regtmod.c lc3bid.c gas-token.c \ + nasm-token.c module.c +genversion_SOURCES = +genversion_LDADD = genversion.$(OBJEXT) +genversion_LINK = $(CCLD_FOR_BUILD) -o $@ +genmodule_SOURCES = +genmodule_LDADD = genmodule.$(OBJEXT) +genmodule_LINK = $(CCLD_FOR_BUILD) -o $@ +modincludedir = $(includedir)/libyasm +modinclude_HEADERS = libyasm/arch.h libyasm/assocdat.h \ + libyasm/bitvect.h libyasm/bytecode.h libyasm/compat-queue.h \ + libyasm/coretype.h libyasm/dbgfmt.h libyasm/errwarn.h \ + libyasm/expr.h libyasm/file.h libyasm/floatnum.h \ + libyasm/hamt.h libyasm/insn.h libyasm/intnum.h \ + libyasm/inttree.h libyasm/linemap.h libyasm/listfmt.h \ + libyasm/md5.h libyasm/module.h libyasm/objfmt.h \ + libyasm/parser.h libyasm/phash.h libyasm/preproc.h \ + libyasm/section.h libyasm/symrec.h libyasm/valparam.h \ + libyasm/value.h +bitvect_test_SOURCES = libyasm/tests/bitvect_test.c +bitvect_test_LDADD = libyasm.a $(INTLLIBS) +floatnum_test_SOURCES = libyasm/tests/floatnum_test.c +floatnum_test_LDADD = libyasm.a $(INTLLIBS) +leb128_test_SOURCES = libyasm/tests/leb128_test.c +leb128_test_LDADD = libyasm.a $(INTLLIBS) +splitpath_test_SOURCES = libyasm/tests/splitpath_test.c +splitpath_test_LDADD = libyasm.a $(INTLLIBS) +combpath_test_SOURCES = libyasm/tests/combpath_test.c +combpath_test_LDADD = libyasm.a $(INTLLIBS) +uncstring_test_SOURCES = libyasm/tests/uncstring_test.c +uncstring_test_LDADD = libyasm.a $(INTLLIBS) +yasm_SOURCES = frontends/yasm/yasm.c frontends/yasm/yasm-options.c \ + frontends/yasm/yasm-options.h +yasm_LDADD = libyasm.a $(INTLLIBS) +ytasm_SOURCES = frontends/tasm/tasm.c frontends/tasm/tasm-options.c \ + frontends/tasm/tasm-options.h +ytasm_LDADD = libyasm.a $(INTLLIBS) +vsyasm_SOURCES = frontends/vsyasm/vsyasm.c \ + frontends/yasm/yasm-options.c frontends/yasm/yasm-options.h +vsyasm_LDADD = libyasm.a $(INTLLIBS) + +# genstring build +genstring_SOURCES = +genstring_LDADD = genstring.$(OBJEXT) +genstring_LINK = $(CCLD_FOR_BUILD) -o $@ +all: $(BUILT_SOURCES) config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive + +.SUFFIXES: +.SUFFIXES: .gperf .c .log .o .obj .test .test$(EXEEXT) .trs +am--refresh: Makefile + @: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/tools/Makefile.inc $(srcdir)/tools/re2c/Makefile.inc $(srcdir)/tools/genmacro/Makefile.inc $(srcdir)/tools/genperf/Makefile.inc $(srcdir)/tools/python-yasm/Makefile.inc $(srcdir)/tools/python-yasm/tests/Makefile.inc $(srcdir)/modules/Makefile.inc $(srcdir)/modules/arch/Makefile.inc $(srcdir)/modules/arch/x86/Makefile.inc $(srcdir)/modules/arch/x86/tests/Makefile.inc $(srcdir)/modules/arch/x86/tests/gas32/Makefile.inc $(srcdir)/modules/arch/x86/tests/gas64/Makefile.inc $(srcdir)/modules/arch/lc3b/Makefile.inc $(srcdir)/modules/arch/lc3b/tests/Makefile.inc $(srcdir)/modules/listfmts/Makefile.inc $(srcdir)/modules/listfmts/nasm/Makefile.inc $(srcdir)/modules/parsers/Makefile.inc $(srcdir)/modules/parsers/gas/Makefile.inc $(srcdir)/modules/parsers/gas/tests/Makefile.inc $(srcdir)/modules/parsers/gas/tests/bin/Makefile.inc $(srcdir)/modules/parsers/nasm/Makefile.inc $(srcdir)/modules/parsers/nasm/tests/Makefile.inc $(srcdir)/modules/parsers/nasm/tests/worphan/Makefile.inc $(srcdir)/modules/parsers/tasm/Makefile.inc $(srcdir)/modules/parsers/tasm/tests/Makefile.inc $(srcdir)/modules/parsers/tasm/tests/exe/Makefile.inc $(srcdir)/modules/preprocs/Makefile.inc $(srcdir)/modules/preprocs/tasm/Makefile.inc $(srcdir)/modules/preprocs/tasm/tests/Makefile.inc $(srcdir)/modules/preprocs/nasm/Makefile.inc $(srcdir)/modules/preprocs/nasm/tests/Makefile.inc $(srcdir)/modules/preprocs/raw/Makefile.inc $(srcdir)/modules/preprocs/raw/tests/Makefile.inc $(srcdir)/modules/preprocs/cpp/Makefile.inc $(srcdir)/modules/preprocs/gas/Makefile.inc $(srcdir)/modules/preprocs/gas/tests/Makefile.inc $(srcdir)/modules/dbgfmts/Makefile.inc $(srcdir)/modules/dbgfmts/codeview/Makefile.inc $(srcdir)/modules/dbgfmts/dwarf2/Makefile.inc $(srcdir)/modules/dbgfmts/dwarf2/tests/Makefile.inc $(srcdir)/modules/dbgfmts/dwarf2/tests/gen64/Makefile.inc $(srcdir)/modules/dbgfmts/dwarf2/tests/pass32/Makefile.inc $(srcdir)/modules/dbgfmts/dwarf2/tests/pass64/Makefile.inc $(srcdir)/modules/dbgfmts/dwarf2/tests/passwin64/Makefile.inc $(srcdir)/modules/dbgfmts/null/Makefile.inc $(srcdir)/modules/dbgfmts/stabs/Makefile.inc $(srcdir)/modules/dbgfmts/stabs/tests/Makefile.inc $(srcdir)/modules/objfmts/Makefile.inc $(srcdir)/modules/objfmts/dbg/Makefile.inc $(srcdir)/modules/objfmts/bin/Makefile.inc $(srcdir)/modules/objfmts/bin/tests/Makefile.inc $(srcdir)/modules/objfmts/bin/tests/multisect/Makefile.inc $(srcdir)/modules/objfmts/elf/Makefile.inc $(srcdir)/modules/objfmts/elf/tests/Makefile.inc $(srcdir)/modules/objfmts/elf/tests/amd64/Makefile.inc $(srcdir)/modules/objfmts/elf/tests/x32/Makefile.inc $(srcdir)/modules/objfmts/elf/tests/gas32/Makefile.inc $(srcdir)/modules/objfmts/elf/tests/gas64/Makefile.inc $(srcdir)/modules/objfmts/elf/tests/gasx32/Makefile.inc $(srcdir)/modules/objfmts/coff/Makefile.inc $(srcdir)/modules/objfmts/coff/tests/Makefile.inc $(srcdir)/modules/objfmts/macho/Makefile.inc $(srcdir)/modules/objfmts/macho/tests/Makefile.inc $(srcdir)/modules/objfmts/macho/tests/gas32/Makefile.inc $(srcdir)/modules/objfmts/macho/tests/gas64/Makefile.inc $(srcdir)/modules/objfmts/macho/tests/nasm32/Makefile.inc $(srcdir)/modules/objfmts/macho/tests/nasm64/Makefile.inc $(srcdir)/modules/objfmts/rdf/Makefile.inc $(srcdir)/modules/objfmts/rdf/tests/Makefile.inc $(srcdir)/modules/objfmts/win32/Makefile.inc $(srcdir)/modules/objfmts/win32/tests/Makefile.inc $(srcdir)/modules/objfmts/win32/tests/gas/Makefile.inc $(srcdir)/modules/objfmts/win64/Makefile.inc $(srcdir)/modules/objfmts/win64/tests/Makefile.inc $(srcdir)/modules/objfmts/win64/tests/gas/Makefile.inc $(srcdir)/modules/objfmts/xdf/Makefile.inc $(srcdir)/modules/objfmts/xdf/tests/Makefile.inc $(srcdir)/libyasm/Makefile.inc $(srcdir)/libyasm/tests/Makefile.inc $(srcdir)/frontends/Makefile.inc $(srcdir)/frontends/yasm/Makefile.inc $(srcdir)/frontends/tasm/Makefile.inc $(srcdir)/frontends/vsyasm/Makefile.inc $(srcdir)/m4/Makefile.inc $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ + $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; +$(srcdir)/tools/Makefile.inc $(srcdir)/tools/re2c/Makefile.inc $(srcdir)/tools/genmacro/Makefile.inc $(srcdir)/tools/genperf/Makefile.inc $(srcdir)/tools/python-yasm/Makefile.inc $(srcdir)/tools/python-yasm/tests/Makefile.inc $(srcdir)/modules/Makefile.inc $(srcdir)/modules/arch/Makefile.inc $(srcdir)/modules/arch/x86/Makefile.inc $(srcdir)/modules/arch/x86/tests/Makefile.inc $(srcdir)/modules/arch/x86/tests/gas32/Makefile.inc $(srcdir)/modules/arch/x86/tests/gas64/Makefile.inc $(srcdir)/modules/arch/lc3b/Makefile.inc $(srcdir)/modules/arch/lc3b/tests/Makefile.inc $(srcdir)/modules/listfmts/Makefile.inc $(srcdir)/modules/listfmts/nasm/Makefile.inc $(srcdir)/modules/parsers/Makefile.inc $(srcdir)/modules/parsers/gas/Makefile.inc $(srcdir)/modules/parsers/gas/tests/Makefile.inc $(srcdir)/modules/parsers/gas/tests/bin/Makefile.inc $(srcdir)/modules/parsers/nasm/Makefile.inc $(srcdir)/modules/parsers/nasm/tests/Makefile.inc $(srcdir)/modules/parsers/nasm/tests/worphan/Makefile.inc $(srcdir)/modules/parsers/tasm/Makefile.inc $(srcdir)/modules/parsers/tasm/tests/Makefile.inc $(srcdir)/modules/parsers/tasm/tests/exe/Makefile.inc $(srcdir)/modules/preprocs/Makefile.inc $(srcdir)/modules/preprocs/tasm/Makefile.inc $(srcdir)/modules/preprocs/tasm/tests/Makefile.inc $(srcdir)/modules/preprocs/nasm/Makefile.inc $(srcdir)/modules/preprocs/nasm/tests/Makefile.inc $(srcdir)/modules/preprocs/raw/Makefile.inc $(srcdir)/modules/preprocs/raw/tests/Makefile.inc $(srcdir)/modules/preprocs/cpp/Makefile.inc $(srcdir)/modules/preprocs/gas/Makefile.inc $(srcdir)/modules/preprocs/gas/tests/Makefile.inc $(srcdir)/modules/dbgfmts/Makefile.inc $(srcdir)/modules/dbgfmts/codeview/Makefile.inc $(srcdir)/modules/dbgfmts/dwarf2/Makefile.inc $(srcdir)/modules/dbgfmts/dwarf2/tests/Makefile.inc $(srcdir)/modules/dbgfmts/dwarf2/tests/gen64/Makefile.inc $(srcdir)/modules/dbgfmts/dwarf2/tests/pass32/Makefile.inc $(srcdir)/modules/dbgfmts/dwarf2/tests/pass64/Makefile.inc $(srcdir)/modules/dbgfmts/dwarf2/tests/passwin64/Makefile.inc $(srcdir)/modules/dbgfmts/null/Makefile.inc $(srcdir)/modules/dbgfmts/stabs/Makefile.inc $(srcdir)/modules/dbgfmts/stabs/tests/Makefile.inc $(srcdir)/modules/objfmts/Makefile.inc $(srcdir)/modules/objfmts/dbg/Makefile.inc $(srcdir)/modules/objfmts/bin/Makefile.inc $(srcdir)/modules/objfmts/bin/tests/Makefile.inc $(srcdir)/modules/objfmts/bin/tests/multisect/Makefile.inc $(srcdir)/modules/objfmts/elf/Makefile.inc $(srcdir)/modules/objfmts/elf/tests/Makefile.inc $(srcdir)/modules/objfmts/elf/tests/amd64/Makefile.inc $(srcdir)/modules/objfmts/elf/tests/x32/Makefile.inc $(srcdir)/modules/objfmts/elf/tests/gas32/Makefile.inc $(srcdir)/modules/objfmts/elf/tests/gas64/Makefile.inc $(srcdir)/modules/objfmts/elf/tests/gasx32/Makefile.inc $(srcdir)/modules/objfmts/coff/Makefile.inc $(srcdir)/modules/objfmts/coff/tests/Makefile.inc $(srcdir)/modules/objfmts/macho/Makefile.inc $(srcdir)/modules/objfmts/macho/tests/Makefile.inc $(srcdir)/modules/objfmts/macho/tests/gas32/Makefile.inc $(srcdir)/modules/objfmts/macho/tests/gas64/Makefile.inc $(srcdir)/modules/objfmts/macho/tests/nasm32/Makefile.inc $(srcdir)/modules/objfmts/macho/tests/nasm64/Makefile.inc $(srcdir)/modules/objfmts/rdf/Makefile.inc $(srcdir)/modules/objfmts/rdf/tests/Makefile.inc $(srcdir)/modules/objfmts/win32/Makefile.inc $(srcdir)/modules/objfmts/win32/tests/Makefile.inc $(srcdir)/modules/objfmts/win32/tests/gas/Makefile.inc $(srcdir)/modules/objfmts/win64/Makefile.inc $(srcdir)/modules/objfmts/win64/tests/Makefile.inc $(srcdir)/modules/objfmts/win64/tests/gas/Makefile.inc $(srcdir)/modules/objfmts/xdf/Makefile.inc $(srcdir)/modules/objfmts/xdf/tests/Makefile.inc $(srcdir)/libyasm/Makefile.inc $(srcdir)/libyasm/tests/Makefile.inc $(srcdir)/frontends/Makefile.inc $(srcdir)/frontends/yasm/Makefile.inc $(srcdir)/frontends/tasm/Makefile.inc $(srcdir)/frontends/vsyasm/Makefile.inc $(srcdir)/m4/Makefile.inc: + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + $(am__cd) $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) +$(am__aclocal_m4_deps): + +config.h: stamp-h1 + @test -f $@ || rm -f stamp-h1 + @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 + +stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status config.h +$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.h stamp-h1 +install-libLIBRARIES: $(lib_LIBRARIES) + @$(NORMAL_INSTALL) + @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ + list2=; for p in $$list; do \ + if test -f $$p; then \ + list2="$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ + echo " $(INSTALL_DATA) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(INSTALL_DATA) $$list2 "$(DESTDIR)$(libdir)" || exit $$?; } + @$(POST_INSTALL) + @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ + for p in $$list; do \ + if test -f $$p; then \ + $(am__strip_dir) \ + echo " ( cd '$(DESTDIR)$(libdir)' && $(RANLIB) $$f )"; \ + ( cd "$(DESTDIR)$(libdir)" && $(RANLIB) $$f ) || exit $$?; \ + else :; fi; \ + done + +uninstall-libLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(libdir)'; $(am__uninstall_files_from_dir) + +clean-libLIBRARIES: + -test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES) +modules/arch/x86/$(am__dirstamp): + @$(MKDIR_P) modules/arch/x86 + @: > modules/arch/x86/$(am__dirstamp) +modules/arch/x86/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) modules/arch/x86/$(DEPDIR) + @: > modules/arch/x86/$(DEPDIR)/$(am__dirstamp) +modules/arch/x86/x86arch.$(OBJEXT): modules/arch/x86/$(am__dirstamp) \ + modules/arch/x86/$(DEPDIR)/$(am__dirstamp) +modules/arch/x86/x86bc.$(OBJEXT): modules/arch/x86/$(am__dirstamp) \ + modules/arch/x86/$(DEPDIR)/$(am__dirstamp) +modules/arch/x86/x86expr.$(OBJEXT): modules/arch/x86/$(am__dirstamp) \ + modules/arch/x86/$(DEPDIR)/$(am__dirstamp) +modules/arch/x86/x86id.$(OBJEXT): modules/arch/x86/$(am__dirstamp) \ + modules/arch/x86/$(DEPDIR)/$(am__dirstamp) +modules/arch/lc3b/$(am__dirstamp): + @$(MKDIR_P) modules/arch/lc3b + @: > modules/arch/lc3b/$(am__dirstamp) +modules/arch/lc3b/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) modules/arch/lc3b/$(DEPDIR) + @: > modules/arch/lc3b/$(DEPDIR)/$(am__dirstamp) +modules/arch/lc3b/lc3barch.$(OBJEXT): \ + modules/arch/lc3b/$(am__dirstamp) \ + modules/arch/lc3b/$(DEPDIR)/$(am__dirstamp) +modules/arch/lc3b/lc3bbc.$(OBJEXT): modules/arch/lc3b/$(am__dirstamp) \ + modules/arch/lc3b/$(DEPDIR)/$(am__dirstamp) +modules/listfmts/nasm/$(am__dirstamp): + @$(MKDIR_P) modules/listfmts/nasm + @: > modules/listfmts/nasm/$(am__dirstamp) +modules/listfmts/nasm/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) modules/listfmts/nasm/$(DEPDIR) + @: > modules/listfmts/nasm/$(DEPDIR)/$(am__dirstamp) +modules/listfmts/nasm/nasm-listfmt.$(OBJEXT): \ + modules/listfmts/nasm/$(am__dirstamp) \ + modules/listfmts/nasm/$(DEPDIR)/$(am__dirstamp) +modules/parsers/gas/$(am__dirstamp): + @$(MKDIR_P) modules/parsers/gas + @: > modules/parsers/gas/$(am__dirstamp) +modules/parsers/gas/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) modules/parsers/gas/$(DEPDIR) + @: > modules/parsers/gas/$(DEPDIR)/$(am__dirstamp) +modules/parsers/gas/gas-parser.$(OBJEXT): \ + modules/parsers/gas/$(am__dirstamp) \ + modules/parsers/gas/$(DEPDIR)/$(am__dirstamp) +modules/parsers/gas/gas-parse.$(OBJEXT): \ + modules/parsers/gas/$(am__dirstamp) \ + modules/parsers/gas/$(DEPDIR)/$(am__dirstamp) +modules/parsers/gas/gas-parse-intel.$(OBJEXT): \ + modules/parsers/gas/$(am__dirstamp) \ + modules/parsers/gas/$(DEPDIR)/$(am__dirstamp) +modules/parsers/nasm/$(am__dirstamp): + @$(MKDIR_P) modules/parsers/nasm + @: > modules/parsers/nasm/$(am__dirstamp) +modules/parsers/nasm/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) modules/parsers/nasm/$(DEPDIR) + @: > modules/parsers/nasm/$(DEPDIR)/$(am__dirstamp) +modules/parsers/nasm/nasm-parser.$(OBJEXT): \ + modules/parsers/nasm/$(am__dirstamp) \ + modules/parsers/nasm/$(DEPDIR)/$(am__dirstamp) +modules/parsers/nasm/nasm-parse.$(OBJEXT): \ + modules/parsers/nasm/$(am__dirstamp) \ + modules/parsers/nasm/$(DEPDIR)/$(am__dirstamp) +modules/preprocs/nasm/$(am__dirstamp): + @$(MKDIR_P) modules/preprocs/nasm + @: > modules/preprocs/nasm/$(am__dirstamp) +modules/preprocs/nasm/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) modules/preprocs/nasm/$(DEPDIR) + @: > modules/preprocs/nasm/$(DEPDIR)/$(am__dirstamp) +modules/preprocs/nasm/nasm-preproc.$(OBJEXT): \ + modules/preprocs/nasm/$(am__dirstamp) \ + modules/preprocs/nasm/$(DEPDIR)/$(am__dirstamp) +modules/preprocs/nasm/nasm-pp.$(OBJEXT): \ + modules/preprocs/nasm/$(am__dirstamp) \ + modules/preprocs/nasm/$(DEPDIR)/$(am__dirstamp) +modules/preprocs/nasm/nasmlib.$(OBJEXT): \ + modules/preprocs/nasm/$(am__dirstamp) \ + modules/preprocs/nasm/$(DEPDIR)/$(am__dirstamp) +modules/preprocs/nasm/nasm-eval.$(OBJEXT): \ + modules/preprocs/nasm/$(am__dirstamp) \ + modules/preprocs/nasm/$(DEPDIR)/$(am__dirstamp) +modules/preprocs/raw/$(am__dirstamp): + @$(MKDIR_P) modules/preprocs/raw + @: > modules/preprocs/raw/$(am__dirstamp) +modules/preprocs/raw/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) modules/preprocs/raw/$(DEPDIR) + @: > modules/preprocs/raw/$(DEPDIR)/$(am__dirstamp) +modules/preprocs/raw/raw-preproc.$(OBJEXT): \ + modules/preprocs/raw/$(am__dirstamp) \ + modules/preprocs/raw/$(DEPDIR)/$(am__dirstamp) +modules/preprocs/cpp/$(am__dirstamp): + @$(MKDIR_P) modules/preprocs/cpp + @: > modules/preprocs/cpp/$(am__dirstamp) +modules/preprocs/cpp/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) modules/preprocs/cpp/$(DEPDIR) + @: > modules/preprocs/cpp/$(DEPDIR)/$(am__dirstamp) +modules/preprocs/cpp/cpp-preproc.$(OBJEXT): \ + modules/preprocs/cpp/$(am__dirstamp) \ + modules/preprocs/cpp/$(DEPDIR)/$(am__dirstamp) +modules/preprocs/gas/$(am__dirstamp): + @$(MKDIR_P) modules/preprocs/gas + @: > modules/preprocs/gas/$(am__dirstamp) +modules/preprocs/gas/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) modules/preprocs/gas/$(DEPDIR) + @: > modules/preprocs/gas/$(DEPDIR)/$(am__dirstamp) +modules/preprocs/gas/gas-preproc.$(OBJEXT): \ + modules/preprocs/gas/$(am__dirstamp) \ + modules/preprocs/gas/$(DEPDIR)/$(am__dirstamp) +modules/preprocs/gas/gas-eval.$(OBJEXT): \ + modules/preprocs/gas/$(am__dirstamp) \ + modules/preprocs/gas/$(DEPDIR)/$(am__dirstamp) +modules/dbgfmts/codeview/$(am__dirstamp): + @$(MKDIR_P) modules/dbgfmts/codeview + @: > modules/dbgfmts/codeview/$(am__dirstamp) +modules/dbgfmts/codeview/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) modules/dbgfmts/codeview/$(DEPDIR) + @: > modules/dbgfmts/codeview/$(DEPDIR)/$(am__dirstamp) +modules/dbgfmts/codeview/cv-dbgfmt.$(OBJEXT): \ + modules/dbgfmts/codeview/$(am__dirstamp) \ + modules/dbgfmts/codeview/$(DEPDIR)/$(am__dirstamp) +modules/dbgfmts/codeview/cv-symline.$(OBJEXT): \ + modules/dbgfmts/codeview/$(am__dirstamp) \ + modules/dbgfmts/codeview/$(DEPDIR)/$(am__dirstamp) +modules/dbgfmts/codeview/cv-type.$(OBJEXT): \ + modules/dbgfmts/codeview/$(am__dirstamp) \ + modules/dbgfmts/codeview/$(DEPDIR)/$(am__dirstamp) +modules/dbgfmts/dwarf2/$(am__dirstamp): + @$(MKDIR_P) modules/dbgfmts/dwarf2 + @: > modules/dbgfmts/dwarf2/$(am__dirstamp) +modules/dbgfmts/dwarf2/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) modules/dbgfmts/dwarf2/$(DEPDIR) + @: > modules/dbgfmts/dwarf2/$(DEPDIR)/$(am__dirstamp) +modules/dbgfmts/dwarf2/dwarf2-dbgfmt.$(OBJEXT): \ + modules/dbgfmts/dwarf2/$(am__dirstamp) \ + modules/dbgfmts/dwarf2/$(DEPDIR)/$(am__dirstamp) +modules/dbgfmts/dwarf2/dwarf2-line.$(OBJEXT): \ + modules/dbgfmts/dwarf2/$(am__dirstamp) \ + modules/dbgfmts/dwarf2/$(DEPDIR)/$(am__dirstamp) +modules/dbgfmts/dwarf2/dwarf2-aranges.$(OBJEXT): \ + modules/dbgfmts/dwarf2/$(am__dirstamp) \ + modules/dbgfmts/dwarf2/$(DEPDIR)/$(am__dirstamp) +modules/dbgfmts/dwarf2/dwarf2-info.$(OBJEXT): \ + modules/dbgfmts/dwarf2/$(am__dirstamp) \ + modules/dbgfmts/dwarf2/$(DEPDIR)/$(am__dirstamp) +modules/dbgfmts/null/$(am__dirstamp): + @$(MKDIR_P) modules/dbgfmts/null + @: > modules/dbgfmts/null/$(am__dirstamp) +modules/dbgfmts/null/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) modules/dbgfmts/null/$(DEPDIR) + @: > modules/dbgfmts/null/$(DEPDIR)/$(am__dirstamp) +modules/dbgfmts/null/null-dbgfmt.$(OBJEXT): \ + modules/dbgfmts/null/$(am__dirstamp) \ + modules/dbgfmts/null/$(DEPDIR)/$(am__dirstamp) +modules/dbgfmts/stabs/$(am__dirstamp): + @$(MKDIR_P) modules/dbgfmts/stabs + @: > modules/dbgfmts/stabs/$(am__dirstamp) +modules/dbgfmts/stabs/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) modules/dbgfmts/stabs/$(DEPDIR) + @: > modules/dbgfmts/stabs/$(DEPDIR)/$(am__dirstamp) +modules/dbgfmts/stabs/stabs-dbgfmt.$(OBJEXT): \ + modules/dbgfmts/stabs/$(am__dirstamp) \ + modules/dbgfmts/stabs/$(DEPDIR)/$(am__dirstamp) +modules/objfmts/dbg/$(am__dirstamp): + @$(MKDIR_P) modules/objfmts/dbg + @: > modules/objfmts/dbg/$(am__dirstamp) +modules/objfmts/dbg/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) modules/objfmts/dbg/$(DEPDIR) + @: > modules/objfmts/dbg/$(DEPDIR)/$(am__dirstamp) +modules/objfmts/dbg/dbg-objfmt.$(OBJEXT): \ + modules/objfmts/dbg/$(am__dirstamp) \ + modules/objfmts/dbg/$(DEPDIR)/$(am__dirstamp) +modules/objfmts/bin/$(am__dirstamp): + @$(MKDIR_P) modules/objfmts/bin + @: > modules/objfmts/bin/$(am__dirstamp) +modules/objfmts/bin/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) modules/objfmts/bin/$(DEPDIR) + @: > modules/objfmts/bin/$(DEPDIR)/$(am__dirstamp) +modules/objfmts/bin/bin-objfmt.$(OBJEXT): \ + modules/objfmts/bin/$(am__dirstamp) \ + modules/objfmts/bin/$(DEPDIR)/$(am__dirstamp) +modules/objfmts/elf/$(am__dirstamp): + @$(MKDIR_P) modules/objfmts/elf + @: > modules/objfmts/elf/$(am__dirstamp) +modules/objfmts/elf/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) modules/objfmts/elf/$(DEPDIR) + @: > modules/objfmts/elf/$(DEPDIR)/$(am__dirstamp) +modules/objfmts/elf/elf.$(OBJEXT): \ + modules/objfmts/elf/$(am__dirstamp) \ + modules/objfmts/elf/$(DEPDIR)/$(am__dirstamp) +modules/objfmts/elf/elf-objfmt.$(OBJEXT): \ + modules/objfmts/elf/$(am__dirstamp) \ + modules/objfmts/elf/$(DEPDIR)/$(am__dirstamp) +modules/objfmts/elf/elf-x86-x86.$(OBJEXT): \ + modules/objfmts/elf/$(am__dirstamp) \ + modules/objfmts/elf/$(DEPDIR)/$(am__dirstamp) +modules/objfmts/elf/elf-x86-amd64.$(OBJEXT): \ + modules/objfmts/elf/$(am__dirstamp) \ + modules/objfmts/elf/$(DEPDIR)/$(am__dirstamp) +modules/objfmts/elf/elf-x86-x32.$(OBJEXT): \ + modules/objfmts/elf/$(am__dirstamp) \ + modules/objfmts/elf/$(DEPDIR)/$(am__dirstamp) +modules/objfmts/coff/$(am__dirstamp): + @$(MKDIR_P) modules/objfmts/coff + @: > modules/objfmts/coff/$(am__dirstamp) +modules/objfmts/coff/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) modules/objfmts/coff/$(DEPDIR) + @: > modules/objfmts/coff/$(DEPDIR)/$(am__dirstamp) +modules/objfmts/coff/coff-objfmt.$(OBJEXT): \ + modules/objfmts/coff/$(am__dirstamp) \ + modules/objfmts/coff/$(DEPDIR)/$(am__dirstamp) +modules/objfmts/coff/win64-except.$(OBJEXT): \ + modules/objfmts/coff/$(am__dirstamp) \ + modules/objfmts/coff/$(DEPDIR)/$(am__dirstamp) +modules/objfmts/macho/$(am__dirstamp): + @$(MKDIR_P) modules/objfmts/macho + @: > modules/objfmts/macho/$(am__dirstamp) +modules/objfmts/macho/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) modules/objfmts/macho/$(DEPDIR) + @: > modules/objfmts/macho/$(DEPDIR)/$(am__dirstamp) +modules/objfmts/macho/macho-objfmt.$(OBJEXT): \ + modules/objfmts/macho/$(am__dirstamp) \ + modules/objfmts/macho/$(DEPDIR)/$(am__dirstamp) +modules/objfmts/rdf/$(am__dirstamp): + @$(MKDIR_P) modules/objfmts/rdf + @: > modules/objfmts/rdf/$(am__dirstamp) +modules/objfmts/rdf/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) modules/objfmts/rdf/$(DEPDIR) + @: > modules/objfmts/rdf/$(DEPDIR)/$(am__dirstamp) +modules/objfmts/rdf/rdf-objfmt.$(OBJEXT): \ + modules/objfmts/rdf/$(am__dirstamp) \ + modules/objfmts/rdf/$(DEPDIR)/$(am__dirstamp) +modules/objfmts/xdf/$(am__dirstamp): + @$(MKDIR_P) modules/objfmts/xdf + @: > modules/objfmts/xdf/$(am__dirstamp) +modules/objfmts/xdf/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) modules/objfmts/xdf/$(DEPDIR) + @: > modules/objfmts/xdf/$(DEPDIR)/$(am__dirstamp) +modules/objfmts/xdf/xdf-objfmt.$(OBJEXT): \ + modules/objfmts/xdf/$(am__dirstamp) \ + modules/objfmts/xdf/$(DEPDIR)/$(am__dirstamp) +libyasm/$(am__dirstamp): + @$(MKDIR_P) libyasm + @: > libyasm/$(am__dirstamp) +libyasm/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) libyasm/$(DEPDIR) + @: > libyasm/$(DEPDIR)/$(am__dirstamp) +libyasm/assocdat.$(OBJEXT): libyasm/$(am__dirstamp) \ + libyasm/$(DEPDIR)/$(am__dirstamp) +libyasm/bitvect.$(OBJEXT): libyasm/$(am__dirstamp) \ + libyasm/$(DEPDIR)/$(am__dirstamp) +libyasm/bc-align.$(OBJEXT): libyasm/$(am__dirstamp) \ + libyasm/$(DEPDIR)/$(am__dirstamp) +libyasm/bc-data.$(OBJEXT): libyasm/$(am__dirstamp) \ + libyasm/$(DEPDIR)/$(am__dirstamp) +libyasm/bc-incbin.$(OBJEXT): libyasm/$(am__dirstamp) \ + libyasm/$(DEPDIR)/$(am__dirstamp) +libyasm/bc-org.$(OBJEXT): libyasm/$(am__dirstamp) \ + libyasm/$(DEPDIR)/$(am__dirstamp) +libyasm/bc-reserve.$(OBJEXT): libyasm/$(am__dirstamp) \ + libyasm/$(DEPDIR)/$(am__dirstamp) +libyasm/bytecode.$(OBJEXT): libyasm/$(am__dirstamp) \ + libyasm/$(DEPDIR)/$(am__dirstamp) +libyasm/errwarn.$(OBJEXT): libyasm/$(am__dirstamp) \ + libyasm/$(DEPDIR)/$(am__dirstamp) +libyasm/expr.$(OBJEXT): libyasm/$(am__dirstamp) \ + libyasm/$(DEPDIR)/$(am__dirstamp) +libyasm/file.$(OBJEXT): libyasm/$(am__dirstamp) \ + libyasm/$(DEPDIR)/$(am__dirstamp) +libyasm/floatnum.$(OBJEXT): libyasm/$(am__dirstamp) \ + libyasm/$(DEPDIR)/$(am__dirstamp) +libyasm/hamt.$(OBJEXT): libyasm/$(am__dirstamp) \ + libyasm/$(DEPDIR)/$(am__dirstamp) +libyasm/insn.$(OBJEXT): libyasm/$(am__dirstamp) \ + libyasm/$(DEPDIR)/$(am__dirstamp) +libyasm/intnum.$(OBJEXT): libyasm/$(am__dirstamp) \ + libyasm/$(DEPDIR)/$(am__dirstamp) +libyasm/inttree.$(OBJEXT): libyasm/$(am__dirstamp) \ + libyasm/$(DEPDIR)/$(am__dirstamp) +libyasm/linemap.$(OBJEXT): libyasm/$(am__dirstamp) \ + libyasm/$(DEPDIR)/$(am__dirstamp) +libyasm/md5.$(OBJEXT): libyasm/$(am__dirstamp) \ + libyasm/$(DEPDIR)/$(am__dirstamp) +libyasm/mergesort.$(OBJEXT): libyasm/$(am__dirstamp) \ + libyasm/$(DEPDIR)/$(am__dirstamp) +libyasm/phash.$(OBJEXT): libyasm/$(am__dirstamp) \ + libyasm/$(DEPDIR)/$(am__dirstamp) +libyasm/section.$(OBJEXT): libyasm/$(am__dirstamp) \ + libyasm/$(DEPDIR)/$(am__dirstamp) +libyasm/strcasecmp.$(OBJEXT): libyasm/$(am__dirstamp) \ + libyasm/$(DEPDIR)/$(am__dirstamp) +libyasm/strsep.$(OBJEXT): libyasm/$(am__dirstamp) \ + libyasm/$(DEPDIR)/$(am__dirstamp) +libyasm/symrec.$(OBJEXT): libyasm/$(am__dirstamp) \ + libyasm/$(DEPDIR)/$(am__dirstamp) +libyasm/valparam.$(OBJEXT): libyasm/$(am__dirstamp) \ + libyasm/$(DEPDIR)/$(am__dirstamp) +libyasm/value.$(OBJEXT): libyasm/$(am__dirstamp) \ + libyasm/$(DEPDIR)/$(am__dirstamp) +libyasm/xmalloc.$(OBJEXT): libyasm/$(am__dirstamp) \ + libyasm/$(DEPDIR)/$(am__dirstamp) +libyasm/xstrdup.$(OBJEXT): libyasm/$(am__dirstamp) \ + libyasm/$(DEPDIR)/$(am__dirstamp) + +libyasm.a: $(libyasm_a_OBJECTS) $(libyasm_a_DEPENDENCIES) $(EXTRA_libyasm_a_DEPENDENCIES) + $(AM_V_at)-rm -f libyasm.a + $(AM_V_AR)$(libyasm_a_AR) libyasm.a $(libyasm_a_OBJECTS) $(libyasm_a_LIBADD) + $(AM_V_at)$(RANLIB) libyasm.a +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ + fi; \ + for p in $$list; do echo "$$p $$p"; done | \ + sed 's/$(EXEEXT)$$//' | \ + while read p p1; do if test -f $$p \ + ; then echo "$$p"; echo "$$p"; else :; fi; \ + done | \ + sed -e 'p;s,.*/,,;n;h' \ + -e 's|.*|.|' \ + -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ + sed 'N;N;N;s,\n, ,g' | \ + $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ + { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ + if ($$2 == $$4) files[d] = files[d] " " $$1; \ + else { print "f", $$3 "/" $$4, $$1; } } \ + END { for (d in files) print "f", d, files[d] }' | \ + while read type dir files; do \ + if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ + test -z "$$files" || { \ + echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ + $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ + } \ + ; done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + files=`for p in $$list; do echo "$$p"; done | \ + sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ + -e 's/$$/$(EXEEXT)/' \ + `; \ + test -n "$$list" || exit 0; \ + echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(bindir)" && rm -f $$files + +clean-binPROGRAMS: + -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) + +clean-checkPROGRAMS: + -test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS) + +clean-noinstPROGRAMS: + -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) +libyasm/tests/$(am__dirstamp): + @$(MKDIR_P) libyasm/tests + @: > libyasm/tests/$(am__dirstamp) +libyasm/tests/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) libyasm/tests/$(DEPDIR) + @: > libyasm/tests/$(DEPDIR)/$(am__dirstamp) +libyasm/tests/bitvect_test.$(OBJEXT): libyasm/tests/$(am__dirstamp) \ + libyasm/tests/$(DEPDIR)/$(am__dirstamp) + +bitvect_test$(EXEEXT): $(bitvect_test_OBJECTS) $(bitvect_test_DEPENDENCIES) $(EXTRA_bitvect_test_DEPENDENCIES) + @rm -f bitvect_test$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(bitvect_test_OBJECTS) $(bitvect_test_LDADD) $(LIBS) +libyasm/tests/combpath_test.$(OBJEXT): libyasm/tests/$(am__dirstamp) \ + libyasm/tests/$(DEPDIR)/$(am__dirstamp) + +combpath_test$(EXEEXT): $(combpath_test_OBJECTS) $(combpath_test_DEPENDENCIES) $(EXTRA_combpath_test_DEPENDENCIES) + @rm -f combpath_test$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(combpath_test_OBJECTS) $(combpath_test_LDADD) $(LIBS) +libyasm/tests/floatnum_test.$(OBJEXT): libyasm/tests/$(am__dirstamp) \ + libyasm/tests/$(DEPDIR)/$(am__dirstamp) + +floatnum_test$(EXEEXT): $(floatnum_test_OBJECTS) $(floatnum_test_DEPENDENCIES) $(EXTRA_floatnum_test_DEPENDENCIES) + @rm -f floatnum_test$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(floatnum_test_OBJECTS) $(floatnum_test_LDADD) $(LIBS) + +genmacro$(EXEEXT): $(genmacro_OBJECTS) $(genmacro_DEPENDENCIES) $(EXTRA_genmacro_DEPENDENCIES) + @rm -f genmacro$(EXEEXT) + $(AM_V_GEN)$(genmacro_LINK) $(genmacro_OBJECTS) $(genmacro_LDADD) $(LIBS) + +genmodule$(EXEEXT): $(genmodule_OBJECTS) $(genmodule_DEPENDENCIES) $(EXTRA_genmodule_DEPENDENCIES) + @rm -f genmodule$(EXEEXT) + $(AM_V_GEN)$(genmodule_LINK) $(genmodule_OBJECTS) $(genmodule_LDADD) $(LIBS) + +genperf$(EXEEXT): $(genperf_OBJECTS) $(genperf_DEPENDENCIES) $(EXTRA_genperf_DEPENDENCIES) + @rm -f genperf$(EXEEXT) + $(AM_V_GEN)$(genperf_LINK) $(genperf_OBJECTS) $(genperf_LDADD) $(LIBS) + +genstring$(EXEEXT): $(genstring_OBJECTS) $(genstring_DEPENDENCIES) $(EXTRA_genstring_DEPENDENCIES) + @rm -f genstring$(EXEEXT) + $(AM_V_GEN)$(genstring_LINK) $(genstring_OBJECTS) $(genstring_LDADD) $(LIBS) + +genversion$(EXEEXT): $(genversion_OBJECTS) $(genversion_DEPENDENCIES) $(EXTRA_genversion_DEPENDENCIES) + @rm -f genversion$(EXEEXT) + $(AM_V_GEN)$(genversion_LINK) $(genversion_OBJECTS) $(genversion_LDADD) $(LIBS) +libyasm/tests/leb128_test.$(OBJEXT): libyasm/tests/$(am__dirstamp) \ + libyasm/tests/$(DEPDIR)/$(am__dirstamp) + +leb128_test$(EXEEXT): $(leb128_test_OBJECTS) $(leb128_test_DEPENDENCIES) $(EXTRA_leb128_test_DEPENDENCIES) + @rm -f leb128_test$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(leb128_test_OBJECTS) $(leb128_test_LDADD) $(LIBS) + +re2c$(EXEEXT): $(re2c_OBJECTS) $(re2c_DEPENDENCIES) $(EXTRA_re2c_DEPENDENCIES) + @rm -f re2c$(EXEEXT) + $(AM_V_GEN)$(re2c_LINK) $(re2c_OBJECTS) $(re2c_LDADD) $(LIBS) +libyasm/tests/splitpath_test.$(OBJEXT): libyasm/tests/$(am__dirstamp) \ + libyasm/tests/$(DEPDIR)/$(am__dirstamp) + +splitpath_test$(EXEEXT): $(splitpath_test_OBJECTS) $(splitpath_test_DEPENDENCIES) $(EXTRA_splitpath_test_DEPENDENCIES) + @rm -f splitpath_test$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(splitpath_test_OBJECTS) $(splitpath_test_LDADD) $(LIBS) + +test_hd$(EXEEXT): $(test_hd_OBJECTS) $(test_hd_DEPENDENCIES) $(EXTRA_test_hd_DEPENDENCIES) + @rm -f test_hd$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(test_hd_OBJECTS) $(test_hd_LDADD) $(LIBS) +libyasm/tests/uncstring_test.$(OBJEXT): libyasm/tests/$(am__dirstamp) \ + libyasm/tests/$(DEPDIR)/$(am__dirstamp) + +uncstring_test$(EXEEXT): $(uncstring_test_OBJECTS) $(uncstring_test_DEPENDENCIES) $(EXTRA_uncstring_test_DEPENDENCIES) + @rm -f uncstring_test$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(uncstring_test_OBJECTS) $(uncstring_test_LDADD) $(LIBS) +frontends/vsyasm/$(am__dirstamp): + @$(MKDIR_P) frontends/vsyasm + @: > frontends/vsyasm/$(am__dirstamp) +frontends/vsyasm/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) frontends/vsyasm/$(DEPDIR) + @: > frontends/vsyasm/$(DEPDIR)/$(am__dirstamp) +frontends/vsyasm/vsyasm.$(OBJEXT): frontends/vsyasm/$(am__dirstamp) \ + frontends/vsyasm/$(DEPDIR)/$(am__dirstamp) +frontends/yasm/$(am__dirstamp): + @$(MKDIR_P) frontends/yasm + @: > frontends/yasm/$(am__dirstamp) +frontends/yasm/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) frontends/yasm/$(DEPDIR) + @: > frontends/yasm/$(DEPDIR)/$(am__dirstamp) +frontends/yasm/yasm-options.$(OBJEXT): frontends/yasm/$(am__dirstamp) \ + frontends/yasm/$(DEPDIR)/$(am__dirstamp) + +vsyasm$(EXEEXT): $(vsyasm_OBJECTS) $(vsyasm_DEPENDENCIES) $(EXTRA_vsyasm_DEPENDENCIES) + @rm -f vsyasm$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(vsyasm_OBJECTS) $(vsyasm_LDADD) $(LIBS) +frontends/yasm/yasm.$(OBJEXT): frontends/yasm/$(am__dirstamp) \ + frontends/yasm/$(DEPDIR)/$(am__dirstamp) + +yasm$(EXEEXT): $(yasm_OBJECTS) $(yasm_DEPENDENCIES) $(EXTRA_yasm_DEPENDENCIES) + @rm -f yasm$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(yasm_OBJECTS) $(yasm_LDADD) $(LIBS) +frontends/tasm/$(am__dirstamp): + @$(MKDIR_P) frontends/tasm + @: > frontends/tasm/$(am__dirstamp) +frontends/tasm/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) frontends/tasm/$(DEPDIR) + @: > frontends/tasm/$(DEPDIR)/$(am__dirstamp) +frontends/tasm/tasm.$(OBJEXT): frontends/tasm/$(am__dirstamp) \ + frontends/tasm/$(DEPDIR)/$(am__dirstamp) +frontends/tasm/tasm-options.$(OBJEXT): frontends/tasm/$(am__dirstamp) \ + frontends/tasm/$(DEPDIR)/$(am__dirstamp) + +ytasm$(EXEEXT): $(ytasm_OBJECTS) $(ytasm_DEPENDENCIES) $(EXTRA_ytasm_DEPENDENCIES) + @rm -f ytasm$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(ytasm_OBJECTS) $(ytasm_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + -rm -f frontends/tasm/*.$(OBJEXT) + -rm -f frontends/vsyasm/*.$(OBJEXT) + -rm -f frontends/yasm/*.$(OBJEXT) + -rm -f libyasm/*.$(OBJEXT) + -rm -f libyasm/tests/*.$(OBJEXT) + -rm -f modules/arch/lc3b/*.$(OBJEXT) + -rm -f modules/arch/x86/*.$(OBJEXT) + -rm -f modules/dbgfmts/codeview/*.$(OBJEXT) + -rm -f modules/dbgfmts/dwarf2/*.$(OBJEXT) + -rm -f modules/dbgfmts/null/*.$(OBJEXT) + -rm -f modules/dbgfmts/stabs/*.$(OBJEXT) + -rm -f modules/listfmts/nasm/*.$(OBJEXT) + -rm -f modules/objfmts/bin/*.$(OBJEXT) + -rm -f modules/objfmts/coff/*.$(OBJEXT) + -rm -f modules/objfmts/dbg/*.$(OBJEXT) + -rm -f modules/objfmts/elf/*.$(OBJEXT) + -rm -f modules/objfmts/macho/*.$(OBJEXT) + -rm -f modules/objfmts/rdf/*.$(OBJEXT) + -rm -f modules/objfmts/xdf/*.$(OBJEXT) + -rm -f modules/parsers/gas/*.$(OBJEXT) + -rm -f modules/parsers/nasm/*.$(OBJEXT) + -rm -f modules/preprocs/cpp/*.$(OBJEXT) + -rm -f modules/preprocs/gas/*.$(OBJEXT) + -rm -f modules/preprocs/nasm/*.$(OBJEXT) + -rm -f modules/preprocs/raw/*.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gas-token.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lc3bid.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/module.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nasm-token.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_hd.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/x86cpu.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/x86regtmod.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@frontends/tasm/$(DEPDIR)/tasm-options.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@frontends/tasm/$(DEPDIR)/tasm.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@frontends/vsyasm/$(DEPDIR)/vsyasm.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@frontends/yasm/$(DEPDIR)/yasm-options.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@frontends/yasm/$(DEPDIR)/yasm.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libyasm/$(DEPDIR)/assocdat.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libyasm/$(DEPDIR)/bc-align.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libyasm/$(DEPDIR)/bc-data.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libyasm/$(DEPDIR)/bc-incbin.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libyasm/$(DEPDIR)/bc-org.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libyasm/$(DEPDIR)/bc-reserve.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libyasm/$(DEPDIR)/bitvect.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libyasm/$(DEPDIR)/bytecode.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libyasm/$(DEPDIR)/errwarn.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libyasm/$(DEPDIR)/expr.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libyasm/$(DEPDIR)/file.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libyasm/$(DEPDIR)/floatnum.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libyasm/$(DEPDIR)/hamt.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libyasm/$(DEPDIR)/insn.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libyasm/$(DEPDIR)/intnum.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libyasm/$(DEPDIR)/inttree.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libyasm/$(DEPDIR)/linemap.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libyasm/$(DEPDIR)/md5.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libyasm/$(DEPDIR)/mergesort.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libyasm/$(DEPDIR)/phash.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libyasm/$(DEPDIR)/section.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libyasm/$(DEPDIR)/strcasecmp.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libyasm/$(DEPDIR)/strsep.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libyasm/$(DEPDIR)/symrec.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libyasm/$(DEPDIR)/valparam.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libyasm/$(DEPDIR)/value.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libyasm/$(DEPDIR)/xmalloc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libyasm/$(DEPDIR)/xstrdup.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libyasm/tests/$(DEPDIR)/bitvect_test.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libyasm/tests/$(DEPDIR)/combpath_test.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libyasm/tests/$(DEPDIR)/floatnum_test.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libyasm/tests/$(DEPDIR)/leb128_test.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libyasm/tests/$(DEPDIR)/splitpath_test.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@libyasm/tests/$(DEPDIR)/uncstring_test.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/arch/lc3b/$(DEPDIR)/lc3barch.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/arch/lc3b/$(DEPDIR)/lc3bbc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/arch/x86/$(DEPDIR)/x86arch.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/arch/x86/$(DEPDIR)/x86bc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/arch/x86/$(DEPDIR)/x86expr.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/arch/x86/$(DEPDIR)/x86id.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/dbgfmts/codeview/$(DEPDIR)/cv-dbgfmt.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/dbgfmts/codeview/$(DEPDIR)/cv-symline.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/dbgfmts/codeview/$(DEPDIR)/cv-type.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/dbgfmts/dwarf2/$(DEPDIR)/dwarf2-aranges.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/dbgfmts/dwarf2/$(DEPDIR)/dwarf2-dbgfmt.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/dbgfmts/dwarf2/$(DEPDIR)/dwarf2-info.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/dbgfmts/dwarf2/$(DEPDIR)/dwarf2-line.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/dbgfmts/null/$(DEPDIR)/null-dbgfmt.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/dbgfmts/stabs/$(DEPDIR)/stabs-dbgfmt.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/listfmts/nasm/$(DEPDIR)/nasm-listfmt.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/objfmts/bin/$(DEPDIR)/bin-objfmt.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/objfmts/coff/$(DEPDIR)/coff-objfmt.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/objfmts/coff/$(DEPDIR)/win64-except.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/objfmts/dbg/$(DEPDIR)/dbg-objfmt.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/objfmts/elf/$(DEPDIR)/elf-objfmt.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/objfmts/elf/$(DEPDIR)/elf-x86-amd64.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/objfmts/elf/$(DEPDIR)/elf-x86-x32.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/objfmts/elf/$(DEPDIR)/elf-x86-x86.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/objfmts/elf/$(DEPDIR)/elf.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/objfmts/macho/$(DEPDIR)/macho-objfmt.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/objfmts/rdf/$(DEPDIR)/rdf-objfmt.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/objfmts/xdf/$(DEPDIR)/xdf-objfmt.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/parsers/gas/$(DEPDIR)/gas-parse-intel.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/parsers/gas/$(DEPDIR)/gas-parse.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/parsers/gas/$(DEPDIR)/gas-parser.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/parsers/nasm/$(DEPDIR)/nasm-parse.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/parsers/nasm/$(DEPDIR)/nasm-parser.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/preprocs/cpp/$(DEPDIR)/cpp-preproc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/preprocs/gas/$(DEPDIR)/gas-eval.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/preprocs/gas/$(DEPDIR)/gas-preproc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/preprocs/nasm/$(DEPDIR)/nasm-eval.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/preprocs/nasm/$(DEPDIR)/nasm-pp.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/preprocs/nasm/$(DEPDIR)/nasm-preproc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/preprocs/nasm/$(DEPDIR)/nasmlib.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@modules/preprocs/raw/$(DEPDIR)/raw-preproc.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< + +.c.obj: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` +install-man1: $(dist_man_MANS) $(notrans_dist_man_MANS) + @$(NORMAL_INSTALL) + @list1=''; \ + list2='$(notrans_dist_man_MANS)'; \ + test -n "$(man1dir)" \ + && test -n "`echo $$list1$$list2`" \ + || exit 0; \ + echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ + { for i in $$list1; do echo "$$i"; done; \ + if test -n "$$list2"; then \ + for i in $$list2; do echo "$$i"; done \ + | sed -n '/\.1[a-z]*$$/p'; \ + fi; \ + } | while read p; do \ + if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; echo "$$p"; \ + done | \ + sed 'n;s,.*/,,;p;s,\.[^1][0-9a-z]*$$,.1,' | \ + sed 'N;N;s,\n, ,g' | { \ + list=; while read file base inst; do \ + if test "$$base" = "$$inst"; then list="$$list $$file"; else \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ + fi; \ + done; \ + for i in $$list; do echo "$$i"; done | $(am__base_list) | \ + while read files; do \ + test -z "$$files" || { \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ + done; } + @list1=''; \ + list2='$(dist_man_MANS)'; \ + test -n "$(man1dir)" \ + && test -n "`echo $$list1$$list2`" \ + || exit 0; \ + echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ + { for i in $$list1; do echo "$$i"; done; \ + if test -n "$$list2"; then \ + for i in $$list2; do echo "$$i"; done \ + | sed -n '/\.1[a-z]*$$/p'; \ + fi; \ + } | while read p; do \ + if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; echo "$$p"; \ + done | \ + sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ + sed 'N;N;s,\n, ,g' | { \ + list=; while read file base inst; do \ + if test "$$base" = "$$inst"; then list="$$list $$file"; else \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ + fi; \ + done; \ + for i in $$list; do echo "$$i"; done | $(am__base_list) | \ + while read files; do \ + test -z "$$files" || { \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ + done; } + +uninstall-man1: + @$(NORMAL_UNINSTALL) + @list=''; test -n "$(man1dir)" || exit 0; \ + files=`{ for i in $$list; do echo "$$i"; done; \ + l2='$(notrans_dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \ + sed -n '/\.1[a-z]*$$/p'; \ + } | sed 's,.*/,,;s,\.[^1][0-9a-z]*$$,.1,'`; \ + dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) + @list=''; test -n "$(man1dir)" || exit 0; \ + files=`{ for i in $$list; do echo "$$i"; done; \ + l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \ + sed -n '/\.1[a-z]*$$/p'; \ + } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ + dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) +install-man7: $(dist_man_MANS) $(notrans_dist_man_MANS) + @$(NORMAL_INSTALL) + @list1=''; \ + list2='$(notrans_dist_man_MANS)'; \ + test -n "$(man7dir)" \ + && test -n "`echo $$list1$$list2`" \ + || exit 0; \ + echo " $(MKDIR_P) '$(DESTDIR)$(man7dir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(man7dir)" || exit 1; \ + { for i in $$list1; do echo "$$i"; done; \ + if test -n "$$list2"; then \ + for i in $$list2; do echo "$$i"; done \ + | sed -n '/\.7[a-z]*$$/p'; \ + fi; \ + } | while read p; do \ + if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; echo "$$p"; \ + done | \ + sed 'n;s,.*/,,;p;s,\.[^7][0-9a-z]*$$,.7,' | \ + sed 'N;N;s,\n, ,g' | { \ + list=; while read file base inst; do \ + if test "$$base" = "$$inst"; then list="$$list $$file"; else \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man7dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man7dir)/$$inst" || exit $$?; \ + fi; \ + done; \ + for i in $$list; do echo "$$i"; done | $(am__base_list) | \ + while read files; do \ + test -z "$$files" || { \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man7dir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(man7dir)" || exit $$?; }; \ + done; } + @list1=''; \ + list2='$(dist_man_MANS)'; \ + test -n "$(man7dir)" \ + && test -n "`echo $$list1$$list2`" \ + || exit 0; \ + echo " $(MKDIR_P) '$(DESTDIR)$(man7dir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(man7dir)" || exit 1; \ + { for i in $$list1; do echo "$$i"; done; \ + if test -n "$$list2"; then \ + for i in $$list2; do echo "$$i"; done \ + | sed -n '/\.7[a-z]*$$/p'; \ + fi; \ + } | while read p; do \ + if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; echo "$$p"; \ + done | \ + sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^7][0-9a-z]*$$,7,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ + sed 'N;N;s,\n, ,g' | { \ + list=; while read file base inst; do \ + if test "$$base" = "$$inst"; then list="$$list $$file"; else \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man7dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man7dir)/$$inst" || exit $$?; \ + fi; \ + done; \ + for i in $$list; do echo "$$i"; done | $(am__base_list) | \ + while read files; do \ + test -z "$$files" || { \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man7dir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(man7dir)" || exit $$?; }; \ + done; } + +uninstall-man7: + @$(NORMAL_UNINSTALL) + @list=''; test -n "$(man7dir)" || exit 0; \ + files=`{ for i in $$list; do echo "$$i"; done; \ + l2='$(notrans_dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \ + sed -n '/\.7[a-z]*$$/p'; \ + } | sed 's,.*/,,;s,\.[^7][0-9a-z]*$$,.7,'`; \ + dir='$(DESTDIR)$(man7dir)'; $(am__uninstall_files_from_dir) + @list=''; test -n "$(man7dir)" || exit 0; \ + files=`{ for i in $$list; do echo "$$i"; done; \ + l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \ + sed -n '/\.7[a-z]*$$/p'; \ + } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^7][0-9a-z]*$$,7,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ + dir='$(DESTDIR)$(man7dir)'; $(am__uninstall_files_from_dir) +install-includeHEADERS: $(include_HEADERS) + @$(NORMAL_INSTALL) + @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(includedir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(includedir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \ + done + +uninstall-includeHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir) +install-modincludeHEADERS: $(modinclude_HEADERS) + @$(NORMAL_INSTALL) + @list='$(modinclude_HEADERS)'; test -n "$(modincludedir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(modincludedir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(modincludedir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(modincludedir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(modincludedir)" || exit $$?; \ + done + +uninstall-modincludeHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(modinclude_HEADERS)'; test -n "$(modincludedir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(modincludedir)'; $(am__uninstall_files_from_dir) +install-nodist_includeHEADERS: $(nodist_include_HEADERS) + @$(NORMAL_INSTALL) + @list='$(nodist_include_HEADERS)'; test -n "$(includedir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(includedir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(includedir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \ + done + +uninstall-nodist_includeHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(nodist_include_HEADERS)'; test -n "$(includedir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir) + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscope: cscope.files + test ! -s cscope.files \ + || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) +clean-cscope: + -rm -f cscope.files +cscope.files: clean-cscope cscopelist +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + -rm -f cscope.out cscope.in.out cscope.po.out cscope.files + +# Recover from deleted '.trs' file; this should ensure that +# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create +# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells +# to avoid problems with "make -n". +.log.trs: + rm -f $< $@ + $(MAKE) $(AM_MAKEFLAGS) $< + +# Leading 'am--fnord' is there to ensure the list of targets does not +# expand to empty, as could happen e.g. with make check TESTS=''. +am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) +am--force-recheck: + @: + +$(TEST_SUITE_LOG): $(TEST_LOGS) + @$(am__set_TESTS_bases); \ + am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ + redo_bases=`for i in $$bases; do \ + am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ + done`; \ + if test -n "$$redo_bases"; then \ + redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ + redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ + if $(am__make_dryrun); then :; else \ + rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ + fi; \ + fi; \ + if test -n "$$am__remaking_logs"; then \ + echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ + "recursion detected" >&2; \ + else \ + am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ + fi; \ + if $(am__make_dryrun); then :; else \ + st=0; \ + errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ + for i in $$redo_bases; do \ + test -f $$i.trs && test -r $$i.trs \ + || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ + test -f $$i.log && test -r $$i.log \ + || { echo "$$errmsg $$i.log" >&2; st=1; }; \ + done; \ + test $$st -eq 0 || exit 1; \ + fi + @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ + ws='[ ]'; \ + results=`for b in $$bases; do echo $$b.trs; done`; \ + test -n "$$results" || results=/dev/null; \ + all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ + pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ + fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ + skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ + xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ + xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ + error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ + if test `expr $$fail + $$xpass + $$error` -eq 0; then \ + success=true; \ + else \ + success=false; \ + fi; \ + br='==================='; br=$$br$$br$$br$$br; \ + result_count () \ + { \ + if test x"$$1" = x"--maybe-color"; then \ + maybe_colorize=yes; \ + elif test x"$$1" = x"--no-color"; then \ + maybe_colorize=no; \ + else \ + echo "$@: invalid 'result_count' usage" >&2; exit 4; \ + fi; \ + shift; \ + desc=$$1 count=$$2; \ + if test $$maybe_colorize = yes && test $$count -gt 0; then \ + color_start=$$3 color_end=$$std; \ + else \ + color_start= color_end=; \ + fi; \ + echo "$${color_start}# $$desc $$count$${color_end}"; \ + }; \ + create_testsuite_report () \ + { \ + result_count $$1 "TOTAL:" $$all "$$brg"; \ + result_count $$1 "PASS: " $$pass "$$grn"; \ + result_count $$1 "SKIP: " $$skip "$$blu"; \ + result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ + result_count $$1 "FAIL: " $$fail "$$red"; \ + result_count $$1 "XPASS:" $$xpass "$$red"; \ + result_count $$1 "ERROR:" $$error "$$mgn"; \ + }; \ + { \ + echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ + $(am__rst_title); \ + create_testsuite_report --no-color; \ + echo; \ + echo ".. contents:: :depth: 2"; \ + echo; \ + for b in $$bases; do echo $$b; done \ + | $(am__create_global_log); \ + } >$(TEST_SUITE_LOG).tmp || exit 1; \ + mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ + if $$success; then \ + col="$$grn"; \ + else \ + col="$$red"; \ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ + echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ + if $$success; then :; else \ + echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ + if test -n "$(PACKAGE_BUGREPORT)"; then \ + echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ + fi; \ + echo "$$col$$br$$std"; \ + fi; \ + $$success || exit 1 + +check-TESTS: + @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list + @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list + @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) + @set +e; $(am__set_TESTS_bases); \ + log_list=`for i in $$bases; do echo $$i.log; done`; \ + trs_list=`for i in $$bases; do echo $$i.trs; done`; \ + log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ + $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ + exit $$?; +recheck: all $(check_PROGRAMS) + @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) + @set +e; $(am__set_TESTS_bases); \ + bases=`for i in $$bases; do echo $$i; done \ + | $(am__list_recheck_tests)` || exit 1; \ + log_list=`for i in $$bases; do echo $$i.log; done`; \ + log_list=`echo $$log_list`; \ + $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ + am__force_recheck=am--force-recheck \ + TEST_LOGS="$$log_list"; \ + exit $$? +tools/python-yasm/tests/python_test.sh.log: tools/python-yasm/tests/python_test.sh + @p='tools/python-yasm/tests/python_test.sh'; \ + b='tools/python-yasm/tests/python_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +modules/arch/x86/tests/x86_test.sh.log: modules/arch/x86/tests/x86_test.sh + @p='modules/arch/x86/tests/x86_test.sh'; \ + b='modules/arch/x86/tests/x86_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +modules/arch/x86/tests/gas32/x86_gas32_test.sh.log: modules/arch/x86/tests/gas32/x86_gas32_test.sh + @p='modules/arch/x86/tests/gas32/x86_gas32_test.sh'; \ + b='modules/arch/x86/tests/gas32/x86_gas32_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +modules/arch/x86/tests/gas64/x86_gas64_test.sh.log: modules/arch/x86/tests/gas64/x86_gas64_test.sh + @p='modules/arch/x86/tests/gas64/x86_gas64_test.sh'; \ + b='modules/arch/x86/tests/gas64/x86_gas64_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +modules/arch/lc3b/tests/lc3b_test.sh.log: modules/arch/lc3b/tests/lc3b_test.sh + @p='modules/arch/lc3b/tests/lc3b_test.sh'; \ + b='modules/arch/lc3b/tests/lc3b_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +modules/parsers/gas/tests/gas_test.sh.log: modules/parsers/gas/tests/gas_test.sh + @p='modules/parsers/gas/tests/gas_test.sh'; \ + b='modules/parsers/gas/tests/gas_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +modules/parsers/gas/tests/bin/gas_bin_test.sh.log: modules/parsers/gas/tests/bin/gas_bin_test.sh + @p='modules/parsers/gas/tests/bin/gas_bin_test.sh'; \ + b='modules/parsers/gas/tests/bin/gas_bin_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +modules/parsers/nasm/tests/nasm_test.sh.log: modules/parsers/nasm/tests/nasm_test.sh + @p='modules/parsers/nasm/tests/nasm_test.sh'; \ + b='modules/parsers/nasm/tests/nasm_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +modules/parsers/nasm/tests/worphan/nasm_worphan_test.sh.log: modules/parsers/nasm/tests/worphan/nasm_worphan_test.sh + @p='modules/parsers/nasm/tests/worphan/nasm_worphan_test.sh'; \ + b='modules/parsers/nasm/tests/worphan/nasm_worphan_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +modules/parsers/tasm/tests/tasm_test.sh.log: modules/parsers/tasm/tests/tasm_test.sh + @p='modules/parsers/tasm/tests/tasm_test.sh'; \ + b='modules/parsers/tasm/tests/tasm_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +modules/parsers/tasm/tests/exe/tasm_exe_test.sh.log: modules/parsers/tasm/tests/exe/tasm_exe_test.sh + @p='modules/parsers/tasm/tests/exe/tasm_exe_test.sh'; \ + b='modules/parsers/tasm/tests/exe/tasm_exe_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +modules/preprocs/tasm/tests/tasmpp_test.sh.log: modules/preprocs/tasm/tests/tasmpp_test.sh + @p='modules/preprocs/tasm/tests/tasmpp_test.sh'; \ + b='modules/preprocs/tasm/tests/tasmpp_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +modules/preprocs/nasm/tests/nasmpp_test.sh.log: modules/preprocs/nasm/tests/nasmpp_test.sh + @p='modules/preprocs/nasm/tests/nasmpp_test.sh'; \ + b='modules/preprocs/nasm/tests/nasmpp_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +modules/preprocs/raw/tests/rawpp_test.sh.log: modules/preprocs/raw/tests/rawpp_test.sh + @p='modules/preprocs/raw/tests/rawpp_test.sh'; \ + b='modules/preprocs/raw/tests/rawpp_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +modules/dbgfmts/dwarf2/tests/gen64/dwarf2_gen64_test.sh.log: modules/dbgfmts/dwarf2/tests/gen64/dwarf2_gen64_test.sh + @p='modules/dbgfmts/dwarf2/tests/gen64/dwarf2_gen64_test.sh'; \ + b='modules/dbgfmts/dwarf2/tests/gen64/dwarf2_gen64_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +modules/dbgfmts/dwarf2/tests/pass32/dwarf2_pass32_test.sh.log: modules/dbgfmts/dwarf2/tests/pass32/dwarf2_pass32_test.sh + @p='modules/dbgfmts/dwarf2/tests/pass32/dwarf2_pass32_test.sh'; \ + b='modules/dbgfmts/dwarf2/tests/pass32/dwarf2_pass32_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +modules/dbgfmts/dwarf2/tests/pass64/dwarf2_pass64_test.sh.log: modules/dbgfmts/dwarf2/tests/pass64/dwarf2_pass64_test.sh + @p='modules/dbgfmts/dwarf2/tests/pass64/dwarf2_pass64_test.sh'; \ + b='modules/dbgfmts/dwarf2/tests/pass64/dwarf2_pass64_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +modules/dbgfmts/dwarf2/tests/passwin64/dwarf2_passwin64_test.sh.log: modules/dbgfmts/dwarf2/tests/passwin64/dwarf2_passwin64_test.sh + @p='modules/dbgfmts/dwarf2/tests/passwin64/dwarf2_passwin64_test.sh'; \ + b='modules/dbgfmts/dwarf2/tests/passwin64/dwarf2_passwin64_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +modules/dbgfmts/stabs/tests/stabs_test.sh.log: modules/dbgfmts/stabs/tests/stabs_test.sh + @p='modules/dbgfmts/stabs/tests/stabs_test.sh'; \ + b='modules/dbgfmts/stabs/tests/stabs_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +modules/objfmts/bin/tests/bin_test.sh.log: modules/objfmts/bin/tests/bin_test.sh + @p='modules/objfmts/bin/tests/bin_test.sh'; \ + b='modules/objfmts/bin/tests/bin_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +modules/objfmts/bin/tests/multisect/bin_multi_test.sh.log: modules/objfmts/bin/tests/multisect/bin_multi_test.sh + @p='modules/objfmts/bin/tests/multisect/bin_multi_test.sh'; \ + b='modules/objfmts/bin/tests/multisect/bin_multi_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +modules/objfmts/elf/tests/elf_test.sh.log: modules/objfmts/elf/tests/elf_test.sh + @p='modules/objfmts/elf/tests/elf_test.sh'; \ + b='modules/objfmts/elf/tests/elf_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +modules/objfmts/elf/tests/amd64/elf_amd64_test.sh.log: modules/objfmts/elf/tests/amd64/elf_amd64_test.sh + @p='modules/objfmts/elf/tests/amd64/elf_amd64_test.sh'; \ + b='modules/objfmts/elf/tests/amd64/elf_amd64_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +modules/objfmts/elf/tests/x32/elf_x32_test.sh.log: modules/objfmts/elf/tests/x32/elf_x32_test.sh + @p='modules/objfmts/elf/tests/x32/elf_x32_test.sh'; \ + b='modules/objfmts/elf/tests/x32/elf_x32_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +modules/objfmts/elf/tests/gas32/elf_gas32_test.sh.log: modules/objfmts/elf/tests/gas32/elf_gas32_test.sh + @p='modules/objfmts/elf/tests/gas32/elf_gas32_test.sh'; \ + b='modules/objfmts/elf/tests/gas32/elf_gas32_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +modules/objfmts/elf/tests/gas64/elf_gas64_test.sh.log: modules/objfmts/elf/tests/gas64/elf_gas64_test.sh + @p='modules/objfmts/elf/tests/gas64/elf_gas64_test.sh'; \ + b='modules/objfmts/elf/tests/gas64/elf_gas64_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +modules/objfmts/elf/tests/gasx32/elf_gasx32_test.sh.log: modules/objfmts/elf/tests/gasx32/elf_gasx32_test.sh + @p='modules/objfmts/elf/tests/gasx32/elf_gasx32_test.sh'; \ + b='modules/objfmts/elf/tests/gasx32/elf_gasx32_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +modules/objfmts/coff/tests/coff_test.sh.log: modules/objfmts/coff/tests/coff_test.sh + @p='modules/objfmts/coff/tests/coff_test.sh'; \ + b='modules/objfmts/coff/tests/coff_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +modules/objfmts/macho/tests/gas32/gas_macho32_test.sh.log: modules/objfmts/macho/tests/gas32/gas_macho32_test.sh + @p='modules/objfmts/macho/tests/gas32/gas_macho32_test.sh'; \ + b='modules/objfmts/macho/tests/gas32/gas_macho32_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +modules/objfmts/macho/tests/gas64/gas_macho64_test.sh.log: modules/objfmts/macho/tests/gas64/gas_macho64_test.sh + @p='modules/objfmts/macho/tests/gas64/gas_macho64_test.sh'; \ + b='modules/objfmts/macho/tests/gas64/gas_macho64_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +modules/objfmts/macho/tests/nasm32/macho32_test.sh.log: modules/objfmts/macho/tests/nasm32/macho32_test.sh + @p='modules/objfmts/macho/tests/nasm32/macho32_test.sh'; \ + b='modules/objfmts/macho/tests/nasm32/macho32_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +modules/objfmts/macho/tests/nasm64/macho64_test.sh.log: modules/objfmts/macho/tests/nasm64/macho64_test.sh + @p='modules/objfmts/macho/tests/nasm64/macho64_test.sh'; \ + b='modules/objfmts/macho/tests/nasm64/macho64_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +modules/objfmts/rdf/tests/rdf_test.sh.log: modules/objfmts/rdf/tests/rdf_test.sh + @p='modules/objfmts/rdf/tests/rdf_test.sh'; \ + b='modules/objfmts/rdf/tests/rdf_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +modules/objfmts/win32/tests/win32_test.sh.log: modules/objfmts/win32/tests/win32_test.sh + @p='modules/objfmts/win32/tests/win32_test.sh'; \ + b='modules/objfmts/win32/tests/win32_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +modules/objfmts/win32/tests/gas/win32_gas_test.sh.log: modules/objfmts/win32/tests/gas/win32_gas_test.sh + @p='modules/objfmts/win32/tests/gas/win32_gas_test.sh'; \ + b='modules/objfmts/win32/tests/gas/win32_gas_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +modules/objfmts/win64/tests/win64_test.sh.log: modules/objfmts/win64/tests/win64_test.sh + @p='modules/objfmts/win64/tests/win64_test.sh'; \ + b='modules/objfmts/win64/tests/win64_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +modules/objfmts/win64/tests/gas/win64_gas_test.sh.log: modules/objfmts/win64/tests/gas/win64_gas_test.sh + @p='modules/objfmts/win64/tests/gas/win64_gas_test.sh'; \ + b='modules/objfmts/win64/tests/gas/win64_gas_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +modules/objfmts/xdf/tests/xdf_test.sh.log: modules/objfmts/xdf/tests/xdf_test.sh + @p='modules/objfmts/xdf/tests/xdf_test.sh'; \ + b='modules/objfmts/xdf/tests/xdf_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +bitvect_test.log: bitvect_test$(EXEEXT) + @p='bitvect_test$(EXEEXT)'; \ + b='bitvect_test'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +floatnum_test.log: floatnum_test$(EXEEXT) + @p='floatnum_test$(EXEEXT)'; \ + b='floatnum_test'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +leb128_test.log: leb128_test$(EXEEXT) + @p='leb128_test$(EXEEXT)'; \ + b='leb128_test'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +splitpath_test.log: splitpath_test$(EXEEXT) + @p='splitpath_test$(EXEEXT)'; \ + b='splitpath_test'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +combpath_test.log: combpath_test$(EXEEXT) + @p='combpath_test$(EXEEXT)'; \ + b='combpath_test'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +uncstring_test.log: uncstring_test$(EXEEXT) + @p='uncstring_test$(EXEEXT)'; \ + b='uncstring_test'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +libyasm/tests/libyasm_test.sh.log: libyasm/tests/libyasm_test.sh + @p='libyasm/tests/libyasm_test.sh'; \ + b='libyasm/tests/libyasm_test.sh'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +.test.log: + @p='$<'; \ + $(am__set_b); \ + $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +@am__EXEEXT_TRUE@.test$(EXEEXT).log: +@am__EXEEXT_TRUE@ @p='$<'; \ +@am__EXEEXT_TRUE@ $(am__set_b); \ +@am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ +@am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ +@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ +@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) + +distdir: $(DISTFILES) + $(am__remove_distdir) + test -d "$(distdir)" || mkdir "$(distdir)" + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$(top_distdir)" distdir="$(distdir)" \ + dist-hook + -test -n "$(am__skip_mode_fix)" \ + || find "$(distdir)" -type d ! -perm -755 \ + -exec chmod u+rwx,go+rx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r "$(distdir)" +dist-gzip: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__post_remove_distdir) + +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 + $(am__post_remove_distdir) + +dist-lzip: distdir + tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz + $(am__post_remove_distdir) + +dist-xz: distdir + tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz + $(am__post_remove_distdir) + +dist-tarZ: distdir + @echo WARNING: "Support for shar distribution archives is" \ + "deprecated." >&2 + @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__post_remove_distdir) + +dist-shar: distdir + @echo WARNING: "Support for distribution archives compressed with" \ + "legacy program 'compress' is deprecated." >&2 + @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__post_remove_distdir) + +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__post_remove_distdir) + +dist dist-all: + $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' + $(am__post_remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.lz*) \ + lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ + *.tar.xz*) \ + xz -dc $(distdir).tar.xz | $(am__untar) ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir) + chmod u+w $(distdir) + mkdir $(distdir)/_build $(distdir)/_inst + chmod a-w $(distdir) + test -d $(distdir)/_build || exit 0; \ + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && am__cwd=`pwd` \ + && $(am__cd) $(distdir)/_build \ + && ../configure \ + $(AM_DISTCHECK_CONFIGURE_FLAGS) \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + --srcdir=.. --prefix="$$dc_install_base" \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ + && cd "$$am__cwd" \ + || exit 1 + $(am__post_remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' +distuninstallcheck: + @test -n '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: trying to run $@ with an empty' \ + '$$(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + $(am__cd) '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) + $(MAKE) $(AM_MAKEFLAGS) check-TESTS +check: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) check-recursive +all-am: Makefile $(LIBRARIES) $(PROGRAMS) $(MANS) $(HEADERS) config.h \ + all-local +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man7dir)" "$(DESTDIR)$(includedir)" "$(DESTDIR)$(modincludedir)" "$(DESTDIR)$(includedir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) + -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) + -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + -rm -f frontends/tasm/$(DEPDIR)/$(am__dirstamp) + -rm -f frontends/tasm/$(am__dirstamp) + -rm -f frontends/vsyasm/$(DEPDIR)/$(am__dirstamp) + -rm -f frontends/vsyasm/$(am__dirstamp) + -rm -f frontends/yasm/$(DEPDIR)/$(am__dirstamp) + -rm -f frontends/yasm/$(am__dirstamp) + -rm -f libyasm/$(DEPDIR)/$(am__dirstamp) + -rm -f libyasm/$(am__dirstamp) + -rm -f libyasm/tests/$(DEPDIR)/$(am__dirstamp) + -rm -f libyasm/tests/$(am__dirstamp) + -rm -f modules/arch/lc3b/$(DEPDIR)/$(am__dirstamp) + -rm -f modules/arch/lc3b/$(am__dirstamp) + -rm -f modules/arch/x86/$(DEPDIR)/$(am__dirstamp) + -rm -f modules/arch/x86/$(am__dirstamp) + -rm -f modules/dbgfmts/codeview/$(DEPDIR)/$(am__dirstamp) + -rm -f modules/dbgfmts/codeview/$(am__dirstamp) + -rm -f modules/dbgfmts/dwarf2/$(DEPDIR)/$(am__dirstamp) + -rm -f modules/dbgfmts/dwarf2/$(am__dirstamp) + -rm -f modules/dbgfmts/null/$(DEPDIR)/$(am__dirstamp) + -rm -f modules/dbgfmts/null/$(am__dirstamp) + -rm -f modules/dbgfmts/stabs/$(DEPDIR)/$(am__dirstamp) + -rm -f modules/dbgfmts/stabs/$(am__dirstamp) + -rm -f modules/listfmts/nasm/$(DEPDIR)/$(am__dirstamp) + -rm -f modules/listfmts/nasm/$(am__dirstamp) + -rm -f modules/objfmts/bin/$(DEPDIR)/$(am__dirstamp) + -rm -f modules/objfmts/bin/$(am__dirstamp) + -rm -f modules/objfmts/coff/$(DEPDIR)/$(am__dirstamp) + -rm -f modules/objfmts/coff/$(am__dirstamp) + -rm -f modules/objfmts/dbg/$(DEPDIR)/$(am__dirstamp) + -rm -f modules/objfmts/dbg/$(am__dirstamp) + -rm -f modules/objfmts/elf/$(DEPDIR)/$(am__dirstamp) + -rm -f modules/objfmts/elf/$(am__dirstamp) + -rm -f modules/objfmts/macho/$(DEPDIR)/$(am__dirstamp) + -rm -f modules/objfmts/macho/$(am__dirstamp) + -rm -f modules/objfmts/rdf/$(DEPDIR)/$(am__dirstamp) + -rm -f modules/objfmts/rdf/$(am__dirstamp) + -rm -f modules/objfmts/xdf/$(DEPDIR)/$(am__dirstamp) + -rm -f modules/objfmts/xdf/$(am__dirstamp) + -rm -f modules/parsers/gas/$(DEPDIR)/$(am__dirstamp) + -rm -f modules/parsers/gas/$(am__dirstamp) + -rm -f modules/parsers/nasm/$(DEPDIR)/$(am__dirstamp) + -rm -f modules/parsers/nasm/$(am__dirstamp) + -rm -f modules/preprocs/cpp/$(DEPDIR)/$(am__dirstamp) + -rm -f modules/preprocs/cpp/$(am__dirstamp) + -rm -f modules/preprocs/gas/$(DEPDIR)/$(am__dirstamp) + -rm -f modules/preprocs/gas/$(am__dirstamp) + -rm -f modules/preprocs/nasm/$(DEPDIR)/$(am__dirstamp) + -rm -f modules/preprocs/nasm/$(am__dirstamp) + -rm -f modules/preprocs/raw/$(DEPDIR)/$(am__dirstamp) + -rm -f modules/preprocs/raw/$(am__dirstamp) + -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." + -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) + -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) +clean: clean-recursive + +clean-am: clean-binPROGRAMS clean-checkPROGRAMS clean-generic \ + clean-libLIBRARIES clean-noinstPROGRAMS mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf ./$(DEPDIR) frontends/tasm/$(DEPDIR) frontends/vsyasm/$(DEPDIR) frontends/yasm/$(DEPDIR) libyasm/$(DEPDIR) libyasm/tests/$(DEPDIR) modules/arch/lc3b/$(DEPDIR) modules/arch/x86/$(DEPDIR) modules/dbgfmts/codeview/$(DEPDIR) modules/dbgfmts/dwarf2/$(DEPDIR) modules/dbgfmts/null/$(DEPDIR) modules/dbgfmts/stabs/$(DEPDIR) modules/listfmts/nasm/$(DEPDIR) modules/objfmts/bin/$(DEPDIR) modules/objfmts/coff/$(DEPDIR) modules/objfmts/dbg/$(DEPDIR) modules/objfmts/elf/$(DEPDIR) modules/objfmts/macho/$(DEPDIR) modules/objfmts/rdf/$(DEPDIR) modules/objfmts/xdf/$(DEPDIR) modules/parsers/gas/$(DEPDIR) modules/parsers/nasm/$(DEPDIR) modules/preprocs/cpp/$(DEPDIR) modules/preprocs/gas/$(DEPDIR) modules/preprocs/nasm/$(DEPDIR) modules/preprocs/raw/$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-hdr distclean-local distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: install-includeHEADERS install-man \ + install-modincludeHEADERS install-nodist_includeHEADERS + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: install-binPROGRAMS install-libLIBRARIES + @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) install-exec-hook +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: install-man1 install-man7 + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -rf ./$(DEPDIR) frontends/tasm/$(DEPDIR) frontends/vsyasm/$(DEPDIR) frontends/yasm/$(DEPDIR) libyasm/$(DEPDIR) libyasm/tests/$(DEPDIR) modules/arch/lc3b/$(DEPDIR) modules/arch/x86/$(DEPDIR) modules/dbgfmts/codeview/$(DEPDIR) modules/dbgfmts/dwarf2/$(DEPDIR) modules/dbgfmts/null/$(DEPDIR) modules/dbgfmts/stabs/$(DEPDIR) modules/listfmts/nasm/$(DEPDIR) modules/objfmts/bin/$(DEPDIR) modules/objfmts/coff/$(DEPDIR) modules/objfmts/dbg/$(DEPDIR) modules/objfmts/elf/$(DEPDIR) modules/objfmts/macho/$(DEPDIR) modules/objfmts/rdf/$(DEPDIR) modules/objfmts/xdf/$(DEPDIR) modules/parsers/gas/$(DEPDIR) modules/parsers/nasm/$(DEPDIR) modules/preprocs/cpp/$(DEPDIR) modules/preprocs/gas/$(DEPDIR) modules/preprocs/nasm/$(DEPDIR) modules/preprocs/raw/$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-compile mostlyclean-generic + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-includeHEADERS \ + uninstall-libLIBRARIES uninstall-man \ + uninstall-modincludeHEADERS uninstall-nodist_includeHEADERS + @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) uninstall-hook +uninstall-man: uninstall-man1 uninstall-man7 + +.MAKE: $(am__recursive_targets) all check check-am install install-am \ + install-exec-am install-strip uninstall-am + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am all-local \ + am--refresh check check-TESTS check-am clean clean-binPROGRAMS \ + clean-checkPROGRAMS clean-cscope clean-generic \ + clean-libLIBRARIES clean-noinstPROGRAMS cscope cscopelist-am \ + ctags ctags-am dist dist-all dist-bzip2 dist-gzip dist-hook \ + dist-lzip dist-shar dist-tarZ dist-xz dist-zip distcheck \ + distclean distclean-compile distclean-generic distclean-hdr \ + distclean-local distclean-tags distcleancheck distdir \ + distuninstallcheck dvi dvi-am html html-am info info-am \ + install install-am install-binPROGRAMS install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-exec-hook install-html install-html-am \ + install-includeHEADERS install-info install-info-am \ + install-libLIBRARIES install-man install-man1 install-man7 \ + install-modincludeHEADERS install-nodist_includeHEADERS \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \ + ps ps-am recheck tags tags-am uninstall uninstall-am \ + uninstall-binPROGRAMS uninstall-hook uninstall-includeHEADERS \ + uninstall-libLIBRARIES uninstall-man uninstall-man1 \ + uninstall-man7 uninstall-modincludeHEADERS \ + uninstall-nodist_includeHEADERS + + +re2c-main.$(OBJEXT): tools/re2c/main.c + $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(DEFAULT_INCLUDES) $(INCLUDES) \ + -c -o $@ `test -f tools/re2c/main.c || echo '$(srcdir)/'`tools/re2c/main.c + +re2c-code.$(OBJEXT): tools/re2c/code.c + $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(DEFAULT_INCLUDES) $(INCLUDES) \ + -c -o $@ `test -f tools/re2c/code.c || echo '$(srcdir)/'`tools/re2c/code.c + +re2c-dfa.$(OBJEXT): tools/re2c/dfa.c + $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(DEFAULT_INCLUDES) $(INCLUDES) \ + -c -o $@ `test -f tools/re2c/dfa.c || echo '$(srcdir)/'`tools/re2c/dfa.c + +re2c-parser.$(OBJEXT): tools/re2c/parser.c + $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(DEFAULT_INCLUDES) $(INCLUDES) \ + -c -o $@ `test -f tools/re2c/parser.c || echo '$(srcdir)/'`tools/re2c/parser.c + +re2c-actions.$(OBJEXT): tools/re2c/actions.c + $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(DEFAULT_INCLUDES) $(INCLUDES) \ + -c -o $@ `test -f tools/re2c/actions.c || echo '$(srcdir)/'`tools/re2c/actions.c + +re2c-scanner.$(OBJEXT): tools/re2c/scanner.c + $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(DEFAULT_INCLUDES) $(INCLUDES) \ + -c -o $@ `test -f tools/re2c/scanner.c || echo '$(srcdir)/'`tools/re2c/scanner.c + +re2c-mbo_getopt.$(OBJEXT): tools/re2c/mbo_getopt.c + $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(DEFAULT_INCLUDES) $(INCLUDES) \ + -c -o $@ `test -f tools/re2c/mbo_getopt.c || echo '$(srcdir)/'`tools/re2c/mbo_getopt.c + +re2c-substr.$(OBJEXT): tools/re2c/substr.c + $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(DEFAULT_INCLUDES) $(INCLUDES) \ + -c -o $@ `test -f tools/re2c/substr.c || echo '$(srcdir)/'`tools/re2c/substr.c + +re2c-translate.$(OBJEXT): tools/re2c/translate.c + $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(DEFAULT_INCLUDES) $(INCLUDES) \ + -c -o $@ `test -f tools/re2c/translate.c || echo '$(srcdir)/'`tools/re2c/translate.c + +genmacro.$(OBJEXT): tools/genmacro/genmacro.c + $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(DEFAULT_INCLUDES) $(INCLUDES) \ + -c -o $@ `test -f tools/genmacro/genmacro.c || echo '$(srcdir)/'`tools/genmacro/genmacro.c +.gperf.c: genperf$(EXEEXT) + $(top_builddir)/genperf$(EXEEXT) $< $@ + +genperf.$(OBJEXT): tools/genperf/genperf.c + $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(DEFAULT_INCLUDES) $(INCLUDES) \ + -c -o $@ `test -f tools/genperf/genperf.c || echo '$(srcdir)/'`tools/genperf/genperf.c + +gp-perfect.$(OBJEXT): tools/genperf/perfect.c + $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(DEFAULT_INCLUDES) $(INCLUDES) \ + -c -o $@ `test -f tools/genperf/perfect.c || echo '$(srcdir)/'`tools/genperf/perfect.c + +gp-phash.$(OBJEXT): libyasm/phash.c + $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(DEFAULT_INCLUDES) $(INCLUDES) \ + -c -o $@ `test -f libyasm/phash.c || echo '$(srcdir)/'`libyasm/phash.c + +gp-xmalloc.$(OBJEXT): libyasm/xmalloc.c + $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(DEFAULT_INCLUDES) $(INCLUDES) \ + -c -o $@ `test -f libyasm/xmalloc.c || echo '$(srcdir)/'`libyasm/xmalloc.c + +gp-xstrdup.$(OBJEXT): libyasm/xstrdup.c + $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(DEFAULT_INCLUDES) $(INCLUDES) \ + -c -o $@ `test -f libyasm/xstrdup.c || echo '$(srcdir)/'`libyasm/xstrdup.c + +# Use Pyxelator to generate Pyrex function headers. +@HAVE_PYTHON_BINDINGS_TRUE@_yasm.pxi: ${HEADERS} +@HAVE_PYTHON_BINDINGS_TRUE@ @rm -rf .tmp +@HAVE_PYTHON_BINDINGS_TRUE@ @mkdir .tmp +@HAVE_PYTHON_BINDINGS_TRUE@ $(PYTHON) $(srcdir)/tools/python-yasm/pyxelator/wrap_yasm.py \ +@HAVE_PYTHON_BINDINGS_TRUE@ "YASM_DIR=${srcdir}" "CPP=${CPP}" "CPPFLAGS=${CPPFLAGS}" +@HAVE_PYTHON_BINDINGS_TRUE@ @rm -rf .tmp + +# Need to build a local copy of the main Pyrex input file to include _yasm.pxi +# from the build directory. Also need to fixup the other .pxi include paths. +@HAVE_PYTHON_BINDINGS_TRUE@yasm.pyx: $(srcdir)/tools/python-yasm/yasm.pyx +@HAVE_PYTHON_BINDINGS_TRUE@ sed -e 's,^include "\([^_]\),include "${srcdir}/tools/python-yasm/\1,' \ +@HAVE_PYTHON_BINDINGS_TRUE@ $(srcdir)/tools/python-yasm/yasm.pyx > $@ + +# Actually run Cython +@HAVE_PYTHON_BINDINGS_TRUE@yasm_python.c: yasm.pyx _yasm.pxi $(PYBINDING_DEPS) +@HAVE_PYTHON_BINDINGS_TRUE@ $(PYTHON) -c "from Cython.Compiler.Main import main; main(command_line=1)" \ +@HAVE_PYTHON_BINDINGS_TRUE@ -o $@ yasm.pyx + +# Now the Python build magic... +@HAVE_PYTHON_BINDINGS_TRUE@python-setup.txt: Makefile +@HAVE_PYTHON_BINDINGS_TRUE@ echo "includes=${DEFS} ${DEFAULT_INCLUDES} ${INCLUDES} ${AM_CPPFLAGS} ${CPPFLAGS}" > python-setup.txt +@HAVE_PYTHON_BINDINGS_TRUE@ echo "sources=${libyasm_a_SOURCES} ${nodist_libyasm_a_SOURCES}" >> python-setup.txt +@HAVE_PYTHON_BINDINGS_TRUE@ echo "srcdir=${srcdir}" >> python-setup.txt +@HAVE_PYTHON_BINDINGS_TRUE@ echo "gcc=${GCC}" >> python-setup.txt + +@HAVE_PYTHON_BINDINGS_TRUE@.python-build: python-setup.txt yasm_python.c ${libyasm_a_SOURCES} ${nodist_libyasm_a_SOURCES} +@HAVE_PYTHON_BINDINGS_TRUE@ $(PYTHON) `test -f tools/python-yasm/setup.py || echo '$(srcdir)/'`tools/python-yasm/setup.py build +@HAVE_PYTHON_BINDINGS_TRUE@ touch .python-build +@HAVE_PYTHON_BINDINGS_TRUE@python-build: .python-build + +@HAVE_PYTHON_BINDINGS_TRUE@python-install: .python-build +@HAVE_PYTHON_BINDINGS_TRUE@ $(PYTHON) `test -f tools/python-yasm/setup.py || echo '$(srcdir)/'`tools/python-yasm/setup.py install "--install-lib=$(DESTDIR)$(pythondir)" + +@HAVE_PYTHON_BINDINGS_TRUE@python-uninstall: +@HAVE_PYTHON_BINDINGS_TRUE@ rm -f `$(PYTHON) -c "import sys;sys.path.insert(0, '${DESTDIR}${pythondir}'); import yasm; print yasm.__file__"` + +@HAVE_PYTHON_BINDINGS_FALSE@python-build: +@HAVE_PYTHON_BINDINGS_FALSE@python-install: +@HAVE_PYTHON_BINDINGS_FALSE@python-uninstall: + +modules/arch/x86/x86id.c: x86insn_nasm.c x86insn_gas.c x86insns.c + +@HAVE_PYTHON_TRUE@x86insn_nasm.gperf x86insn_gas.gperf x86insns.c: $(srcdir)/modules/arch/x86/gen_x86_insn.py +@HAVE_PYTHON_TRUE@ $(PYTHON) $(srcdir)/modules/arch/x86/gen_x86_insn.py +@HAVE_PYTHON_FALSE@x86insn_nasm.gperf: $(srcdir)/x86insn_nasm.gperf +@HAVE_PYTHON_FALSE@ @echo Python must be installed to regenerate x86 instructions files +@HAVE_PYTHON_FALSE@ cp $(srcdir)/x86insn_nasm.gperf $@ +@HAVE_PYTHON_FALSE@x86insn_gas.gperf: $(srcdir)/x86insn_gas.gperf +@HAVE_PYTHON_FALSE@ @echo Python must be installed to regenerate x86 instructions files +@HAVE_PYTHON_FALSE@ cp $(srcdir)/x86insn_gas.gperf $@ + +# Use suffix rules for gperf files +x86insn_nasm.c: x86insn_nasm.gperf genperf$(EXEEXT) +x86insn_gas.c: x86insn_gas.gperf genperf$(EXEEXT) +x86cpu.c: $(srcdir)/modules/arch/x86/x86cpu.gperf genperf$(EXEEXT) + $(top_builddir)/genperf$(EXEEXT) $(srcdir)/modules/arch/x86/x86cpu.gperf $@ +x86regtmod.c: $(srcdir)/modules/arch/x86/x86regtmod.gperf genperf$(EXEEXT) + $(top_builddir)/genperf$(EXEEXT) $(srcdir)/modules/arch/x86/x86regtmod.gperf $@ + +lc3bid.c: $(srcdir)/modules/arch/lc3b/lc3bid.re re2c$(EXEEXT) + $(top_builddir)/re2c$(EXEEXT) -s -o $@ $(srcdir)/modules/arch/lc3b/lc3bid.re + +@BUILD_MAN_TRUE@yasm_arch.7: modules/arch/yasm_arch.xml +@BUILD_MAN_TRUE@ $(XMLTO) -o $(top_builddir) man $(srcdir)/modules/arch/yasm_arch.xml + +#EXTRA_DIST += modules/listfmts/nasm/tests/Makefile.inc + +#include modules/listfmts/nasm/tests/Makefile.inc + +gas-token.c: $(srcdir)/modules/parsers/gas/gas-token.re re2c$(EXEEXT) + $(top_builddir)/re2c$(EXEEXT) -b -o $@ $(srcdir)/modules/parsers/gas/gas-token.re + +nasm-token.c: $(srcdir)/modules/parsers/nasm/nasm-token.re re2c$(EXEEXT) + $(top_builddir)/re2c$(EXEEXT) -b -o $@ $(srcdir)/modules/parsers/nasm/nasm-token.re + +$(top_srcdir)/modules/parsers/nasm/nasm-parser.c: nasm-macros.c + +nasm-macros.c: $(srcdir)/modules/parsers/nasm/nasm-std.mac genmacro$(EXEEXT) + $(top_builddir)/genmacro$(EXEEXT) $@ nasm_standard_mac $(srcdir)/modules/parsers/nasm/nasm-std.mac + +@BUILD_MAN_TRUE@yasm_parsers.7: modules/parsers/yasm_parsers.xml +@BUILD_MAN_TRUE@ $(XMLTO) -o $(top_builddir) man $(srcdir)/modules/parsers/yasm_parsers.xml + +$(top_srcdir)/modules/preprocs/nasm/nasm-preproc.c: nasm-version.c + +nasm-version.c: version.mac genmacro$(EXEEXT) + $(top_builddir)/genmacro$(EXEEXT) $@ nasm_version_mac version.mac + +version.mac: genversion$(EXEEXT) + $(top_builddir)/genversion$(EXEEXT) $@ + +genversion.$(OBJEXT): modules/preprocs/nasm/genversion.c + $(CC_FOR_BUILD) $(DEFAULT_INCLUDES) $(INCLUDES) -c -o $@ `test -f modules/preprocs/nasm/genversion.c || echo '$(srcdir)/'`modules/preprocs/nasm/genversion.c + +#EXTRA_DIST += modules/preprocs/gas/tests/rawpp_test.sh +#EXTRA_DIST += modules/preprocs/gas/tests/longline.asm +#EXTRA_DIST += modules/preprocs/gas/tests/longline.hex + +#EXTRA_DIST += modules/dbgfmts/codeview/tests/Makefile.inc +#include modules/dbgfmts/codeview/tests/Makefile.inc + +@BUILD_MAN_TRUE@yasm_dbgfmts.7: modules/dbgfmts/yasm_dbgfmts.xml +@BUILD_MAN_TRUE@ $(XMLTO) -o $(top_builddir) man $(srcdir)/modules/dbgfmts/yasm_dbgfmts.xml + +$(top_srcdir)/modules/objfmts/coff/coff-objfmt.c: win64-nasm.c win64-gas.c + +win64-nasm.c: $(srcdir)/modules/objfmts/coff/win64-nasm.mac genmacro$(EXEEXT) + $(top_builddir)/genmacro$(EXEEXT) $@ win64_nasm_stdmac $(srcdir)/modules/objfmts/coff/win64-nasm.mac + +win64-gas.c: $(srcdir)/modules/objfmts/coff/win64-gas.mac genmacro$(EXEEXT) + $(top_builddir)/genmacro$(EXEEXT) $@ win64_gas_stdmac $(srcdir)/modules/objfmts/coff/win64-gas.mac + +@BUILD_MAN_TRUE@yasm_objfmts.7: modules/objfmts/yasm_objfmts.xml +@BUILD_MAN_TRUE@ $(XMLTO) -o $(top_builddir) man $(srcdir)/modules/objfmts/yasm_objfmts.xml + +module.c: $(top_srcdir)/libyasm/module.in genmodule$(EXEEXT) Makefile + $(top_builddir)/genmodule$(EXEEXT) $(top_srcdir)/libyasm/module.in Makefile + +genmodule.$(OBJEXT): libyasm/genmodule.c + $(CC_FOR_BUILD) $(DEFAULT_INCLUDES) $(INCLUDES) -c -o $@ `test -f libyasm/genmodule.c || echo '$(srcdir)/'`libyasm/genmodule.c + +@BUILD_MAN_TRUE@yasm.1: frontends/yasm/yasm.xml +@BUILD_MAN_TRUE@ $(XMLTO) -o $(top_builddir) man $(srcdir)/frontends/yasm/yasm.xml + +$(srcdir)/frontends/yasm/yasm.c: license.c + +license.c: $(srcdir)/COPYING genstring$(EXEEXT) + $(top_builddir)/genstring$(EXEEXT) license_msg $@ $(srcdir)/COPYING + +$(srcdir)/frontends/vsyasm/vsyasm.c: license.c + +dist-hook: YASM-VERSION-FILE YASM-VERSION.h + cp YASM-VERSION-FILE $(distdir)/version + cp YASM-VERSION.h $(distdir)/Mkfiles/dj/ + cp YASM-VERSION.h $(distdir)/Mkfiles/vc9/ + cp YASM-VERSION.h $(distdir)/Mkfiles/vc10/ + cp YASM-VERSION.h $(distdir)/Mkfiles/vc12/ + +YASM-VERSION-FILE: $(top_srcdir)/YASM-VERSION-GEN.sh + $(top_srcdir)/YASM-VERSION-GEN.sh + +distclean-local: + -rm -rf results +@HAVE_PYTHON_TRUE@ -rm -rf build + +# Until gets fixed libyasm cross-build for target system +# use fixinstall-yasm-XXX make targets +all-local: python-build +install-exec-hook: python-install +uninstall-hook: python-uninstall + +genstring.$(OBJEXT): genstring.c + $(CC_FOR_BUILD) $(DEFAULT_INCLUDES) $(INCLUDES) -c -o $@ `test -f genstring.c || echo '$(srcdir)/'`genstring.c + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/Mkfiles/dj/YASM-VERSION.h b/Mkfiles/dj/YASM-VERSION.h new file mode 100644 index 00000000..8624b44f --- /dev/null +++ b/Mkfiles/dj/YASM-VERSION.h @@ -0,0 +1,2 @@ +#define PACKAGE_STRING "yasm 1.3.0" +#define PACKAGE_VERSION "1.3.0" diff --git a/Mkfiles/nightly-build.pl b/Mkfiles/nightly-build.pl deleted file mode 100644 index 0a029d92..00000000 --- a/Mkfiles/nightly-build.pl +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/perl -use POSIX qw(strftime); - -$|++; - -my $version = '0.0.1'; -my $todaydate = strftime "%Y%m%d", localtime; -my $snapshot_dir = "/home/yasm/public_html/snapshots/$todaydate"; -my $cvs_dir = '/usr/local/cvs2/yasm/chrooted-cvs/cvs'; -my $build_dir = '/home/yasm/build'; - -# Create snapshot directory -system('mkdir', $snapshot_dir); -# Relink "latest" symlink -system('rm', "$snapshot_dir/../latest"); -system('ln', '-s', $snapshot_dir, "$snapshot_dir/../latest"); -system('rm', "$snapshot_dir/../../latest"); -system('ln', '-s', $snapshot_dir, "$snapshot_dir/../../latest"); - -# Build CVS tree tarball -chdir("$cvs_dir/..") || die "Could not change to CVS directory"; -system('tar', '-czf', "$snapshot_dir/yasm-cvstree.tar.gz", 'cvs') == 0 - or die "CVS tree tarball build failed: $?."; - -# Build CVS checkout tarball -chdir($build_dir) || die "Could not change to build directory"; -system('chmod', '-R', 'u+w', 'yasm') == 0 - or die "Could not chmod old CVS checkout directory: $?."; -system('rm', '-Rf', 'yasm') == 0 - or die "Could not remove old CVS checkout directory: $?."; -system('mkdir', 'yasm') == 0 - or die "Could not create CVS checkout directory: $?."; -chdir('yasm') || die "Could not change to CVS checkout directory."; -system('cvs', '-q', "-d$cvs_dir", 'checkout', '.') == 0 - or die "CVS checkout failed: $?."; -chdir('..'); -system('tar', '-czf', "$snapshot_dir/yasm-cvs.tar.gz", 'yasm') == 0 - or die "CVS checkout tarball build failed: $?."; -chdir('yasm'); - -# Update and build distribution tarball -system("./autogen.sh >$snapshot_dir/autogen-log.txt 2>$snapshot_dir/autogen-errwarn.txt") == 0 - or die "autogen.sh failed: $?."; -system("gmake distcheck >$snapshot_dir/make-log.txt 2>$snapshot_dir/make-errwarn.txt") == 0 - or die "build failed: $?."; -system("cp *.tar.gz $snapshot_dir/") == 0 - or die "dist tarball copy failed."; diff --git a/Mkfiles/vc10/YASM-VERSION.h b/Mkfiles/vc10/YASM-VERSION.h new file mode 100644 index 00000000..8624b44f --- /dev/null +++ b/Mkfiles/vc10/YASM-VERSION.h @@ -0,0 +1,2 @@ +#define PACKAGE_STRING "yasm 1.3.0" +#define PACKAGE_VERSION "1.3.0" diff --git a/Mkfiles/vc10/genversion/runpre.bat b/Mkfiles/vc10/genversion/runpre.bat deleted file mode 100644 index fdd15708..00000000 --- a/Mkfiles/vc10/genversion/runpre.bat +++ /dev/null @@ -1,2 +0,0 @@ -cd ..\..\.. -YASM-VERSION-GEN.bat diff --git a/Mkfiles/vc12/YASM-VERSION.h b/Mkfiles/vc12/YASM-VERSION.h new file mode 100644 index 00000000..8624b44f --- /dev/null +++ b/Mkfiles/vc12/YASM-VERSION.h @@ -0,0 +1,2 @@ +#define PACKAGE_STRING "yasm 1.3.0" +#define PACKAGE_VERSION "1.3.0" diff --git a/Mkfiles/vc12/config.h b/Mkfiles/vc12/config.h new file mode 100644 index 00000000..8515ac5a --- /dev/null +++ b/Mkfiles/vc12/config.h @@ -0,0 +1,170 @@ +#include "YASM-VERSION.h" +#define yasm__splitpath(path, tail) yasm__splitpath_win(path, tail) +#define yasm__abspath(path) yasm__abspath_win(path) +#define yasm__combpath(from, to) yasm__combpath_win(from, to) + +/* Command name to run C preprocessor */ +#define CPP_PROG "cpp" + +/* */ +/* #undef ENABLE_NLS */ + +/* Define if you have the `abort' function. */ +#define HAVE_ABORT 1 + +/* */ +/* #undef HAVE_CATGETS */ + +/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the + CoreFoundation framework. */ +/* #undef HAVE_CFLOCALECOPYCURRENT */ + +/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in + the CoreFoundation framework. */ +/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ + +/* Define if the GNU dcgettext() function is already present or preinstalled. + */ +/* #undef HAVE_DCGETTEXT */ + +/* Define to 1 if you have the <direct.h> header file. */ +#define HAVE_DIRECT_H 1 + +/* Define to 1 if you have the `getcwd' function. */ +#define HAVE_GETCWD 1 + +/* */ +/* #undef HAVE_GETTEXT */ + +/* Define if you have the GNU C Library */ +/* #undef HAVE_GNU_C_LIBRARY */ + +/* Define if you have the iconv() function. */ +/* #undef HAVE_ICONV */ + +/* Define if you have the <inttypes.h> header file. */ +/* #undef HAVE_INTTYPES_H */ + +/* */ +/* #undef HAVE_LC_MESSAGES */ + +/* Define to 1 if you have the <libgen.h> header file. */ +/* #undef HAVE_LIBGEN_H */ + +/* Define if you have the <memory.h> header file. */ +/* #undef HAVE_MEMORY_H */ + +/* Define if you have the `mergesort' function. */ +/* #undef HAVE_MERGESORT */ + +/* Define to 1 if you have the `popen' function. */ +/* #undef HAVE_POPEN */ + +/* Define if you have the <stdint.h> header file. */ +/* #undef HAVE_STDINT_H */ + +/* Define if you have the <stdlib.h> header file. */ +#define HAVE_STDLIB_H 1 + +/* */ +/* #undef HAVE_STPCPY */ + +/* Define if you have the `strcasecmp' function. */ +/* #undef HAVE_STRCASECMP */ + +/* Define if you have the `strcmpi' function. */ +/* #undef HAVE_STRCMPI */ + +/* Define if you have the `stricmp' function. */ +/* #undefine HAVE_STRICMP */ + +/* Define if you have the <strings.h> header file. */ +/* #undef HAVE_STRINGS_H */ + +/* Define if you have the <string.h> header file. */ +#define HAVE_STRING_H 1 + +/* Define if you have the `strncasecmp' function. */ +/* #undef HAVE_STRNCASECMP */ + +/* Define if you have the `strsep' function. */ +/* #undef HAVE_STRSEP */ + +/* Define if you have the <sys/stat.h> header file. */ +/* #undef HAVE_SYS_STAT_H */ + +/* Define if you have the <sys/types.h> header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define if you have the `toascii' function. */ +#define HAVE_TOASCII 1 +#define toascii __toascii + +/* Define if you have the <unistd.h> header file. */ +/* #undef HAVE_UNISTD_H */ + +/* Define to 1 if you have the `vsnprintf' function. */ +/* #undef HAVE_VSNPRINTF */ + +/* Define to 1 if you have the `_stricmp' function. */ +#define HAVE__STRICMP 1 + +/* Name of package */ +#define PACKAGE "yasm" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "bug-yasm@tortall.net" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "yasm" + +/* Define to the full name and version of this package. */ +/*#define PACKAGE_STRING "yasm HEAD"*/ + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "yasm" + +/* Define to the version of this package. */ +/*#define PACKAGE_VERSION "HEAD"*/ + +/* Define if the C compiler supports function prototypes. */ +#define PROTOTYPES 1 + +/* The size of a `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of a `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of a `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of a `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of a `void*', as computed by sizeof. */ +/* #undef SIZEOF_VOIDP */ + +/* Define if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +#define VERSION "HEAD" + +/* Define if using the dmalloc debugging malloc package */ +/* #undef WITH_DMALLOC */ + +/* Define like PROTOTYPES; this can be used by system headers. */ +#define __PROTOTYPES 1 + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define as `__inline' if that's what the C compiler calls it, or to nothing + if it is not supported. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to `unsigned' if <sys/types.h> doesn't define. */ +/* #undef size_t */ diff --git a/Mkfiles/vc12/crt_secure_no_deprecate.props b/Mkfiles/vc12/crt_secure_no_deprecate.props new file mode 100644 index 00000000..777d6d0a --- /dev/null +++ b/Mkfiles/vc12/crt_secure_no_deprecate.props @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <_ProjectFileVersion>10.0.21006.1</_ProjectFileVersion> + </PropertyGroup> + <ItemDefinitionGroup> + <ClCompile> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ClCompile> + </ItemDefinitionGroup> +</Project>
\ No newline at end of file diff --git a/Mkfiles/vc12/crt_secure_no_deprecate.vsprops b/Mkfiles/vc12/crt_secure_no_deprecate.vsprops new file mode 100644 index 00000000..56ab506f --- /dev/null +++ b/Mkfiles/vc12/crt_secure_no_deprecate.vsprops @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioPropertySheet + ProjectType="Visual C++" + Version="8.00" + Name="crt_secure_no_deprecate" + > + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE" + /> +</VisualStudioPropertySheet> diff --git a/Mkfiles/vc12/libyasm/libyasm.vcxproj b/Mkfiles/vc12/libyasm/libyasm.vcxproj new file mode 100644 index 00000000..f258e027 --- /dev/null +++ b/Mkfiles/vc12/libyasm/libyasm.vcxproj @@ -0,0 +1,277 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{29FE7874-1256-4AD6-B889-68E399DC9608}</ProjectGuid> + <RootNamespace>libyasm</RootNamespace> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + <UseOfMfc>false</UseOfMfc> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + <UseOfMfc>false</UseOfMfc> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + <UseOfMfc>false</UseOfMfc> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + <UseOfMfc>false</UseOfMfc> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> + <Import Project="..\crt_secure_no_deprecate.props" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> + <Import Project="..\crt_secure_no_deprecate.props" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> + <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> + <Import Project="..\crt_secure_no_deprecate.props" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> + <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> + <Import Project="..\crt_secure_no_deprecate.props" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.21006.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</IntDir> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\</IntDir> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <Optimization>Full</Optimization> + <InlineFunctionExpansion>Default</InlineFunctionExpansion> + <AdditionalIncludeDirectories>..;../../..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>NDEBUG;WIN32;_LIB;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <FunctionLevelLinking>true</FunctionLevelLinking> + <PrecompiledHeader> + </PrecompiledHeader> + <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> + <ObjectFileName>$(IntDir)</ObjectFileName> + <ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName> + <WarningLevel>Level3</WarningLevel> + <SuppressStartupBanner>true</SuppressStartupBanner> + <CompileAs>Default</CompileAs> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x0409</Culture> + </ResourceCompile> + <Lib> + <OutputFile>$(OutDir)libyasm.lib</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + </Lib> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <Midl> + <TargetEnvironment>X64</TargetEnvironment> + </Midl> + <ClCompile> + <Optimization>Full</Optimization> + <InlineFunctionExpansion>Default</InlineFunctionExpansion> + <AdditionalIncludeDirectories>..;../../..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>NDEBUG;_LIB;HAVE_CONFIG_H;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <FunctionLevelLinking>true</FunctionLevelLinking> + <PrecompiledHeader> + </PrecompiledHeader> + <PrecompiledHeaderOutputFile> + </PrecompiledHeaderOutputFile> + <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> + <ObjectFileName>$(IntDir)</ObjectFileName> + <ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName> + <WarningLevel>Level3</WarningLevel> + <SuppressStartupBanner>true</SuppressStartupBanner> + <CompileAs>Default</CompileAs> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x0409</Culture> + </ResourceCompile> + <Lib> + <OutputFile>$(OutDir)libyasm.lib</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + </Lib> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>..;../../..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_DEBUG;WIN32;_LIB;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> + <ObjectFileName>$(IntDir)</ObjectFileName> + <ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName> + <WarningLevel>Level3</WarningLevel> + <SuppressStartupBanner>true</SuppressStartupBanner> + <CompileAs>Default</CompileAs> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x0409</Culture> + </ResourceCompile> + <Lib> + <OutputFile>$(OutDir)libyasm.lib</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + </Lib> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <Midl> + <TargetEnvironment>X64</TargetEnvironment> + </Midl> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>..;../../..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_DEBUG;_LIB;HAVE_CONFIG_H;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <PrecompiledHeaderOutputFile> + </PrecompiledHeaderOutputFile> + <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> + <ObjectFileName>$(IntDir)</ObjectFileName> + <ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName> + <WarningLevel>Level3</WarningLevel> + <SuppressStartupBanner>true</SuppressStartupBanner> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <CompileAs>Default</CompileAs> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x0409</Culture> + </ResourceCompile> + <Lib> + <OutputFile>$(OutDir)libyasm.lib</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + </Lib> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="..\..\..\libyasm\assocdat.c" /> + <ClCompile Include="..\..\..\libyasm\bc-align.c" /> + <ClCompile Include="..\..\..\libyasm\bc-data.c" /> + <ClCompile Include="..\..\..\libyasm\bc-incbin.c" /> + <ClCompile Include="..\..\..\libyasm\bc-org.c" /> + <ClCompile Include="..\..\..\libyasm\bc-reserve.c" /> + <ClCompile Include="..\..\..\libyasm\bitvect.c" /> + <ClCompile Include="..\..\..\libyasm\bytecode.c" /> + <ClCompile Include="..\..\..\libyasm\errwarn.c" /> + <ClCompile Include="..\..\..\libyasm\expr.c" /> + <ClCompile Include="..\..\..\libyasm\file.c" /> + <ClCompile Include="..\..\..\libyasm\floatnum.c" /> + <ClCompile Include="..\..\..\libyasm\hamt.c" /> + <ClCompile Include="..\..\..\libyasm\insn.c" /> + <ClCompile Include="..\..\..\libyasm\intnum.c" /> + <ClCompile Include="..\..\..\libyasm\inttree.c" /> + <ClCompile Include="..\..\..\libyasm\linemap.c" /> + <ClCompile Include="..\..\..\libyasm\md5.c" /> + <ClCompile Include="..\..\..\libyasm\mergesort.c" /> + <ClCompile Include="..\..\..\module.c" /> + <ClCompile Include="..\..\..\libyasm\phash.c" /> + <ClCompile Include="..\..\..\libyasm\section.c" /> + <ClCompile Include="..\..\..\libyasm\strcasecmp.c" /> + <ClCompile Include="..\..\..\libyasm\strsep.c" /> + <ClCompile Include="..\..\..\libyasm\symrec.c" /> + <ClCompile Include="..\..\..\libyasm\valparam.c" /> + <ClCompile Include="..\..\..\libyasm\value.c" /> + <ClCompile Include="..\..\..\libyasm\xmalloc.c" /> + <ClCompile Include="..\..\..\libyasm\xstrdup.c" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\..\libyasm.h" /> + <ClInclude Include="..\..\..\libyasm\file.h" /> + <ClInclude Include="..\..\..\libyasm\arch.h" /> + <ClInclude Include="..\..\..\libyasm\assocdat.h" /> + <ClInclude Include="..\..\..\libyasm\bitvect.h" /> + <ClInclude Include="..\..\..\libyasm\bytecode.h" /> + <ClInclude Include="..\..\..\libyasm\compat-queue.h" /> + <ClInclude Include="..\..\..\libyasm\coretype.h" /> + <ClInclude Include="..\..\..\libyasm\dbgfmt.h" /> + <ClInclude Include="..\..\..\libyasm\errwarn.h" /> + <ClInclude Include="..\..\..\libyasm\expr.h" /> + <ClInclude Include="..\..\..\libyasm\floatnum.h" /> + <ClInclude Include="..\..\..\libyasm\hamt.h" /> + <ClInclude Include="..\..\..\libyasm\insn.h" /> + <ClInclude Include="..\..\..\libyasm\intnum.h" /> + <ClInclude Include="..\..\..\libyasm\inttree.h" /> + <ClInclude Include="..\..\..\libyasm\linemap.h" /> + <ClInclude Include="..\..\..\libyasm\listfmt.h" /> + <ClInclude Include="..\..\..\libyasm\md5.h" /> + <ClInclude Include="..\..\..\libyasm\module.h" /> + <ClInclude Include="..\..\..\libyasm\objfmt.h" /> + <ClInclude Include="..\..\..\libyasm\parser.h" /> + <ClInclude Include="..\..\..\libyasm\phash.h" /> + <ClInclude Include="..\..\..\libyasm\preproc.h" /> + <ClInclude Include="..\..\..\libyasm\section.h" /> + <ClInclude Include="..\..\..\libyasm\symrec.h" /> + <ClInclude Include="..\..\..\libyasm\valparam.h" /> + <ClInclude Include="..\..\..\libyasm\value.h" /> + <ClInclude Include="..\..\..\util.h" /> + <ClInclude Include="..\config.h" /> + <ClInclude Include="..\libyasm-stdint.h" /> + </ItemGroup> + <ItemGroup> + <None Include="..\..\..\libyasm\module.in" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\genmodule\genmodule.vcxproj"> + <Project>{f0e8b707-00c5-4ff2-b8ef-7c39817132a0}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/Mkfiles/vc12/libyasm/libyasm.vcxproj.filters b/Mkfiles/vc12/libyasm/libyasm.vcxproj.filters new file mode 100644 index 00000000..9bdf13a4 --- /dev/null +++ b/Mkfiles/vc12/libyasm/libyasm.vcxproj.filters @@ -0,0 +1,200 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Header Files"> + <UniqueIdentifier>{4ca3b698-9d01-4e4e-ae00-5c98da045efe}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl</Extensions> + </Filter> + <Filter Include="Source Files"> + <UniqueIdentifier>{68607062-982d-4251-9a1a-30f76474983d}</UniqueIdentifier> + <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\..\..\libyasm\assocdat.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\libyasm\bc-align.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\libyasm\bc-data.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\libyasm\bc-incbin.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\libyasm\bc-org.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\libyasm\bc-reserve.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\libyasm\bitvect.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\libyasm\bytecode.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\libyasm\errwarn.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\libyasm\expr.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\libyasm\file.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\libyasm\floatnum.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\libyasm\hamt.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\libyasm\insn.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\libyasm\intnum.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\libyasm\inttree.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\libyasm\linemap.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\libyasm\md5.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\libyasm\mergesort.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\libyasm\phash.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\libyasm\section.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\libyasm\strcasecmp.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\libyasm\strsep.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\libyasm\symrec.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\libyasm\valparam.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\libyasm\value.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\libyasm\xmalloc.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\libyasm\xstrdup.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\module.c"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\..\libyasm\arch.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\libyasm\assocdat.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\libyasm\bitvect.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\libyasm\bytecode.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\libyasm\compat-queue.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\libyasm\coretype.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\libyasm\dbgfmt.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\libyasm\errwarn.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\libyasm\expr.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\libyasm\file.h"> + <Filter>Source Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\libyasm\floatnum.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\libyasm\hamt.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\libyasm\insn.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\libyasm\intnum.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\libyasm\inttree.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\libyasm\linemap.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\libyasm\md5.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\libyasm\objfmt.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\libyasm\parser.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\libyasm\phash.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\libyasm\preproc.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\libyasm\section.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\libyasm\symrec.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\libyasm\valparam.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\libyasm\value.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\config.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\libyasm-stdint.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\libyasm.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\libyasm\listfmt.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\libyasm\module.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\util.h"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> + <ItemGroup> + <None Include="..\..\..\libyasm\module.in" /> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/Mkfiles/vc12/modules/modules.vcxproj b/Mkfiles/vc12/modules/modules.vcxproj new file mode 100644 index 00000000..1385bb61 --- /dev/null +++ b/Mkfiles/vc12/modules/modules.vcxproj @@ -0,0 +1,324 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{D715A3D4-EFAA-442E-AD8B-5B4FF64E1DD6}</ProjectGuid> + <RootNamespace>modules</RootNamespace> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + <UseOfMfc>false</UseOfMfc> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + <UseOfMfc>false</UseOfMfc> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + <UseOfMfc>false</UseOfMfc> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + <UseOfMfc>false</UseOfMfc> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> + <Import Project="..\crt_secure_no_deprecate.props" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> + <Import Project="..\crt_secure_no_deprecate.props" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> + <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> + <Import Project="..\crt_secure_no_deprecate.props" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> + <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> + <Import Project="..\crt_secure_no_deprecate.props" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.21006.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</IntDir> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\</IntDir> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <Optimization>Full</Optimization> + <InlineFunctionExpansion>Default</InlineFunctionExpansion> + <AdditionalIncludeDirectories>..;../../..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>NDEBUG;WIN32;_LIB;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <FunctionLevelLinking>true</FunctionLevelLinking> + <PrecompiledHeader> + </PrecompiledHeader> + <PrecompiledHeaderOutputFile> + </PrecompiledHeaderOutputFile> + <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> + <ObjectFileName>$(IntDir)</ObjectFileName> + <ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName> + <WarningLevel>Level3</WarningLevel> + <SuppressStartupBanner>true</SuppressStartupBanner> + <CompileAs>Default</CompileAs> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x0409</Culture> + </ResourceCompile> + <Lib> + <OutputFile>$(OutDir)modules.lib</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + </Lib> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <PreBuildEvent> + <Command> + </Command> + </PreBuildEvent> + <Midl> + <TargetEnvironment>X64</TargetEnvironment> + </Midl> + <ClCompile> + <Optimization>Full</Optimization> + <InlineFunctionExpansion>Default</InlineFunctionExpansion> + <AdditionalIncludeDirectories>..;../../..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>NDEBUG;_LIB;HAVE_CONFIG_H;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <FunctionLevelLinking>true</FunctionLevelLinking> + <PrecompiledHeader> + </PrecompiledHeader> + <PrecompiledHeaderOutputFile> + </PrecompiledHeaderOutputFile> + <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> + <ObjectFileName>$(IntDir)</ObjectFileName> + <ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName> + <WarningLevel>Level3</WarningLevel> + <SuppressStartupBanner>true</SuppressStartupBanner> + <CompileAs>Default</CompileAs> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x0409</Culture> + </ResourceCompile> + <Lib> + <OutputFile>$(OutDir)modules.lib</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + </Lib> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>..;../../..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_DEBUG;WIN32;_LIB;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <PrecompiledHeaderOutputFile> + </PrecompiledHeaderOutputFile> + <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> + <ObjectFileName>$(IntDir)</ObjectFileName> + <ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName> + <WarningLevel>Level3</WarningLevel> + <SuppressStartupBanner>true</SuppressStartupBanner> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <CompileAs>Default</CompileAs> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x0409</Culture> + </ResourceCompile> + <Lib> + <OutputFile>$(OutDir)modules.lib</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + </Lib> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <Midl> + <TargetEnvironment>X64</TargetEnvironment> + </Midl> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>..;../../..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_DEBUG;_LIB;HAVE_CONFIG_H;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <PrecompiledHeaderOutputFile> + </PrecompiledHeaderOutputFile> + <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> + <ObjectFileName>$(IntDir)</ObjectFileName> + <ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName> + <WarningLevel>Level3</WarningLevel> + <SuppressStartupBanner>true</SuppressStartupBanner> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <CompileAs>Default</CompileAs> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x0409</Culture> + </ResourceCompile> + <Lib> + <OutputFile>$(OutDir)modules.lib</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + </Lib> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="..\..\..\modules\arch\lc3b\lc3barch.c" /> + <ClCompile Include="..\..\..\modules\arch\lc3b\lc3bbc.c" /> + <ClCompile Include="..\..\..\lc3bid.c" /> + <ClCompile Include="..\..\..\modules\arch\x86\x86arch.c" /> + <ClCompile Include="..\..\..\modules\arch\x86\x86bc.c" /> + <ClCompile Include="..\..\..\modules\objfmts\elf\elf-x86-x32.c" /> + <ClCompile Include="..\..\..\modules\parsers\gas\gas-parse-intel.c" /> + <ClCompile Include="..\..\..\modules\preprocs\gas\gas-eval.c" /> + <ClCompile Include="..\..\..\modules\preprocs\gas\gas-preproc.c" /> + <ClCompile Include="..\..\..\x86cpu.c" /> + <ClCompile Include="..\..\..\modules\arch\x86\x86expr.c" /> + <ClCompile Include="..\..\..\modules\arch\x86\x86id.c" /> + <ClCompile Include="..\..\..\x86regtmod.c" /> + <ClCompile Include="..\..\..\modules\dbgfmts\codeview\cv-dbgfmt.c" /> + <ClCompile Include="..\..\..\modules\dbgfmts\codeview\cv-symline.c" /> + <ClCompile Include="..\..\..\modules\dbgfmts\codeview\cv-type.c" /> + <ClCompile Include="..\..\..\modules\dbgfmts\dwarf2\dwarf2-aranges.c" /> + <ClCompile Include="..\..\..\modules\dbgfmts\dwarf2\dwarf2-dbgfmt.c" /> + <ClCompile Include="..\..\..\modules\dbgfmts\dwarf2\dwarf2-info.c" /> + <ClCompile Include="..\..\..\modules\dbgfmts\dwarf2\dwarf2-line.c" /> + <ClCompile Include="..\..\..\modules\dbgfmts\null\null-dbgfmt.c" /> + <ClCompile Include="..\..\..\modules\dbgfmts\stabs\stabs-dbgfmt.c" /> + <ClCompile Include="..\..\..\modules\objfmts\bin\bin-objfmt.c" /> + <ClCompile Include="..\..\..\modules\objfmts\coff\coff-objfmt.c" /> + <ClCompile Include="..\..\..\modules\objfmts\dbg\dbg-objfmt.c" /> + <ClCompile Include="..\..\..\modules\objfmts\elf\elf-objfmt.c" /> + <ClCompile Include="..\..\..\modules\objfmts\elf\elf-x86-amd64.c" /> + <ClCompile Include="..\..\..\modules\objfmts\elf\elf-x86-x86.c" /> + <ClCompile Include="..\..\..\modules\objfmts\elf\elf.c" /> + <ClCompile Include="..\..\..\modules\objfmts\macho\macho-objfmt.c" /> + <ClCompile Include="..\..\..\modules\objfmts\rdf\rdf-objfmt.c" /> + <ClCompile Include="..\..\..\modules\objfmts\coff\win64-except.c" /> + <ClCompile Include="..\..\..\modules\objfmts\xdf\xdf-objfmt.c" /> + <ClCompile Include="..\..\..\modules\parsers\gas\gas-parse.c" /> + <ClCompile Include="..\..\..\modules\parsers\gas\gas-parser.c" /> + <ClCompile Include="..\..\..\gas-token.c" /> + <ClCompile Include="..\..\..\modules\parsers\nasm\nasm-parse.c" /> + <ClCompile Include="..\..\..\modules\parsers\nasm\nasm-parser.c" /> + <ClCompile Include="..\..\..\nasm-token.c" /> + <ClCompile Include="..\..\..\modules\preprocs\nasm\nasm-eval.c" /> + <ClCompile Include="..\..\..\modules\preprocs\nasm\nasm-pp.c" /> + <ClCompile Include="..\..\..\modules\preprocs\nasm\nasm-preproc.c" /> + <ClCompile Include="..\..\..\modules\preprocs\nasm\nasmlib.c" /> + <ClCompile Include="..\..\..\modules\preprocs\raw\raw-preproc.c" /> + <ClCompile Include="..\..\..\modules\preprocs\cpp\cpp-preproc.c" /> + <ClCompile Include="..\..\..\modules\listfmts\nasm\nasm-listfmt.c" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\..\libyasm.h" /> + <ClInclude Include="..\..\..\libyasm\arch.h" /> + <ClInclude Include="..\..\..\libyasm\bitvect.h" /> + <ClInclude Include="..\..\..\libyasm\bytecode.h" /> + <ClInclude Include="..\..\..\libyasm\compat-queue.h" /> + <ClInclude Include="..\..\..\libyasm\coretype.h" /> + <ClInclude Include="..\..\..\libyasm\dbgfmt.h" /> + <ClInclude Include="..\..\..\libyasm\errwarn.h" /> + <ClInclude Include="..\..\..\libyasm\expr.h" /> + <ClInclude Include="..\..\..\libyasm\file.h" /> + <ClInclude Include="..\..\..\libyasm\floatnum.h" /> + <ClInclude Include="..\..\..\libyasm\hamt.h" /> + <ClInclude Include="..\..\..\libyasm\insn.h" /> + <ClInclude Include="..\..\..\libyasm\intnum.h" /> + <ClInclude Include="..\..\..\libyasm\linemap.h" /> + <ClInclude Include="..\..\..\libyasm\listfmt.h" /> + <ClInclude Include="..\..\..\libyasm\md5.h" /> + <ClInclude Include="..\..\..\libyasm\module.h" /> + <ClInclude Include="..\..\..\libyasm\objfmt.h" /> + <ClInclude Include="..\..\..\libyasm\parser.h" /> + <ClInclude Include="..\..\..\libyasm\phash.h" /> + <ClInclude Include="..\..\..\libyasm\preproc.h" /> + <ClInclude Include="..\..\..\libyasm\section.h" /> + <ClInclude Include="..\..\..\libyasm\symrec.h" /> + <ClInclude Include="..\..\..\libyasm\valparam.h" /> + <ClInclude Include="..\..\..\libyasm\value.h" /> + <ClInclude Include="..\..\..\modules\arch\lc3b\lc3barch.h" /> + <ClInclude Include="..\..\..\modules\arch\x86\x86arch.h" /> + <ClInclude Include="..\..\..\modules\dbgfmts\codeview\cv-dbgfmt.h" /> + <ClInclude Include="..\..\..\modules\dbgfmts\dwarf2\dwarf2-dbgfmt.h" /> + <ClInclude Include="..\..\..\modules\objfmts\coff\coff-objfmt.h" /> + <ClInclude Include="..\..\..\modules\objfmts\elf\elf-machine.h" /> + <ClInclude Include="..\..\..\modules\objfmts\elf\elf.h" /> + <ClInclude Include="..\..\..\modules\parsers\gas\gas-parser.h" /> + <ClInclude Include="..\..\..\modules\parsers\nasm\nasm-parser-struct.h" /> + <ClInclude Include="..\..\..\modules\parsers\nasm\nasm-parser.h" /> + <ClInclude Include="..\..\..\modules\preprocs\gas\gas-eval.h" /> + <ClInclude Include="..\..\..\modules\preprocs\nasm\nasm-eval.h" /> + <ClInclude Include="..\..\..\modules\preprocs\nasm\nasm-pp.h" /> + <ClInclude Include="..\..\..\modules\preprocs\nasm\nasm.h" /> + <ClInclude Include="..\..\..\modules\preprocs\nasm\nasmlib.h" /> + <ClInclude Include="..\..\..\util.h" /> + <ClInclude Include="..\config.h" /> + <ClInclude Include="..\libyasm-stdint.h" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\genmacro\genmacro.vcxproj"> + <Project>{225700a5-07b8-434e-ad61-555278bf6733}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + <ProjectReference Include="..\genperf\genperf.vcxproj"> + <Project>{c45a8b59-8b59-4d5d-a8e8-fb090f8dd619}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + <ProjectReference Include="..\libyasm\libyasm.vcxproj"> + <Project>{29fe7874-1256-4ad6-b889-68e399dc9608}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + <ProjectReference Include="..\re2c\re2c.vcxproj"> + <Project>{3c58be13-50a3-4583-984d-d8902b3d7713}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/Mkfiles/vc12/modules/modules.vcxproj.filters b/Mkfiles/vc12/modules/modules.vcxproj.filters new file mode 100644 index 00000000..e6ff3add --- /dev/null +++ b/Mkfiles/vc12/modules/modules.vcxproj.filters @@ -0,0 +1,256 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{39c89f91-d860-4396-a49f-86b8b7a51c33}</UniqueIdentifier> + <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions> + </Filter> + <Filter Include="Source Files\arch"> + <UniqueIdentifier>{be0cdf28-cbed-4774-b3cc-b63e4e3fa0a9}</UniqueIdentifier> + </Filter> + <Filter Include="Source Files\dbgfmts"> + <UniqueIdentifier>{491cc60a-889b-4f53-aae9-f4d7d6aa667a}</UniqueIdentifier> + </Filter> + <Filter Include="Source Files\listfmts"> + <UniqueIdentifier>{c084015d-3c3e-4379-8746-ae5cffcec79e}</UniqueIdentifier> + </Filter> + <Filter Include="Source Files\listfmts\nasm"> + <UniqueIdentifier>{3333e0b3-e95f-44f6-9000-58d4da368360}</UniqueIdentifier> + </Filter> + <Filter Include="Source Files\objfmts"> + <UniqueIdentifier>{528f2955-ceba-4691-a36c-054f119e3dcc}</UniqueIdentifier> + </Filter> + <Filter Include="Source Files\parsers"> + <UniqueIdentifier>{81686d52-eb71-4d4a-a830-66c45afb808f}</UniqueIdentifier> + </Filter> + <Filter Include="Source Files\preprocs"> + <UniqueIdentifier>{98fe1e43-3794-4639-bf29-14b0c569754f}</UniqueIdentifier> + </Filter> + <Filter Include="Source Files\preprocs\cpp"> + <UniqueIdentifier>{6b3956d4-0bff-4e8e-af61-a7e59b476fa4}</UniqueIdentifier> + </Filter> + <Filter Include="Source Files\preprocs\gas"> + <UniqueIdentifier>{446fad62-ac17-49e9-8263-33481f04f182}</UniqueIdentifier> + </Filter> + <Filter Include="Source Files\preprocs\nasm"> + <UniqueIdentifier>{33fb7fc8-61f9-428d-9c94-7a4912fbb678}</UniqueIdentifier> + </Filter> + <Filter Include="Source Files\preprocs\raw"> + <UniqueIdentifier>{48fc77ec-7d78-4c0a-bfc2-9aa76faf5d7f}</UniqueIdentifier> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\..\..\gas-token.c"> + <Filter>Source Files\parsers</Filter> + </ClCompile> + <ClCompile Include="..\..\..\lc3bid.c"> + <Filter>Source Files\arch</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\arch\lc3b\lc3barch.c"> + <Filter>Source Files\arch</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\arch\lc3b\lc3bbc.c"> + <Filter>Source Files\arch</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\arch\x86\x86arch.c"> + <Filter>Source Files\arch</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\arch\x86\x86bc.c"> + <Filter>Source Files\arch</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\arch\x86\x86expr.c"> + <Filter>Source Files\arch</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\arch\x86\x86id.c"> + <Filter>Source Files\arch</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\dbgfmts\codeview\cv-dbgfmt.c"> + <Filter>Source Files\dbgfmts</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\dbgfmts\codeview\cv-symline.c"> + <Filter>Source Files\dbgfmts</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\dbgfmts\codeview\cv-type.c"> + <Filter>Source Files\dbgfmts</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\dbgfmts\dwarf2\dwarf2-aranges.c"> + <Filter>Source Files\dbgfmts</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\dbgfmts\dwarf2\dwarf2-dbgfmt.c"> + <Filter>Source Files\dbgfmts</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\dbgfmts\dwarf2\dwarf2-info.c"> + <Filter>Source Files\dbgfmts</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\dbgfmts\dwarf2\dwarf2-line.c"> + <Filter>Source Files\dbgfmts</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\dbgfmts\null\null-dbgfmt.c"> + <Filter>Source Files\dbgfmts</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\dbgfmts\stabs\stabs-dbgfmt.c"> + <Filter>Source Files\dbgfmts</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\listfmts\nasm\nasm-listfmt.c"> + <Filter>Source Files\listfmts\nasm</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\objfmts\bin\bin-objfmt.c"> + <Filter>Source Files\objfmts</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\objfmts\coff\coff-objfmt.c"> + <Filter>Source Files\objfmts</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\objfmts\coff\win64-except.c"> + <Filter>Source Files\objfmts</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\objfmts\dbg\dbg-objfmt.c"> + <Filter>Source Files\objfmts</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\objfmts\elf\elf-objfmt.c"> + <Filter>Source Files\objfmts</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\objfmts\elf\elf-x86-amd64.c"> + <Filter>Source Files\objfmts</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\objfmts\elf\elf-x86-x86.c"> + <Filter>Source Files\objfmts</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\objfmts\elf\elf.c"> + <Filter>Source Files\objfmts</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\objfmts\macho\macho-objfmt.c"> + <Filter>Source Files\objfmts</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\objfmts\rdf\rdf-objfmt.c"> + <Filter>Source Files\objfmts</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\objfmts\xdf\xdf-objfmt.c"> + <Filter>Source Files\objfmts</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\parsers\gas\gas-parse-intel.c"> + <Filter>Source Files\parsers</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\parsers\gas\gas-parse.c"> + <Filter>Source Files\parsers</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\parsers\gas\gas-parser.c"> + <Filter>Source Files\parsers</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\parsers\nasm\nasm-parse.c"> + <Filter>Source Files\parsers</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\parsers\nasm\nasm-parser.c"> + <Filter>Source Files\parsers</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\preprocs\cpp\cpp-preproc.c"> + <Filter>Source Files\preprocs\cpp</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\preprocs\gas\gas-eval.c"> + <Filter>Source Files\preprocs\gas</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\preprocs\gas\gas-preproc.c"> + <Filter>Source Files\preprocs\gas</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\preprocs\nasm\nasm-eval.c"> + <Filter>Source Files\preprocs\nasm</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\preprocs\nasm\nasm-pp.c"> + <Filter>Source Files\preprocs\nasm</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\preprocs\nasm\nasm-preproc.c"> + <Filter>Source Files\preprocs\nasm</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\preprocs\nasm\nasmlib.c"> + <Filter>Source Files\preprocs\nasm</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\preprocs\raw\raw-preproc.c"> + <Filter>Source Files\preprocs\raw</Filter> + </ClCompile> + <ClCompile Include="..\..\..\nasm-token.c"> + <Filter>Source Files\parsers</Filter> + </ClCompile> + <ClCompile Include="..\..\..\x86cpu.c"> + <Filter>Source Files\arch</Filter> + </ClCompile> + <ClCompile Include="..\..\..\x86regtmod.c"> + <Filter>Source Files\arch</Filter> + </ClCompile> + <ClCompile Include="..\..\..\modules\objfmts\elf\elf-x86-x32.c"> + <Filter>Source Files\objfmts</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\..\modules\arch\lc3b\lc3barch.h"> + <Filter>Source Files\arch</Filter> + </ClInclude> + <ClInclude Include="..\..\..\modules\arch\x86\x86arch.h"> + <Filter>Source Files\arch</Filter> + </ClInclude> + <ClInclude Include="..\..\..\modules\dbgfmts\codeview\cv-dbgfmt.h"> + <Filter>Source Files\dbgfmts</Filter> + </ClInclude> + <ClInclude Include="..\..\..\modules\dbgfmts\dwarf2\dwarf2-dbgfmt.h"> + <Filter>Source Files\dbgfmts</Filter> + </ClInclude> + <ClInclude Include="..\..\..\modules\objfmts\coff\coff-objfmt.h"> + <Filter>Source Files\objfmts</Filter> + </ClInclude> + <ClInclude Include="..\..\..\modules\objfmts\elf\elf-machine.h"> + <Filter>Source Files\objfmts</Filter> + </ClInclude> + <ClInclude Include="..\..\..\modules\objfmts\elf\elf.h"> + <Filter>Source Files\objfmts</Filter> + </ClInclude> + <ClInclude Include="..\..\..\modules\parsers\gas\gas-parser.h"> + <Filter>Source Files\parsers</Filter> + </ClInclude> + <ClInclude Include="..\..\..\modules\parsers\nasm\nasm-parser.h"> + <Filter>Source Files\parsers</Filter> + </ClInclude> + <ClInclude Include="..\..\..\modules\preprocs\gas\gas-eval.h"> + <Filter>Source Files\preprocs\gas</Filter> + </ClInclude> + <ClInclude Include="..\..\..\modules\preprocs\nasm\nasm-eval.h"> + <Filter>Source Files\preprocs\nasm</Filter> + </ClInclude> + <ClInclude Include="..\..\..\modules\preprocs\nasm\nasm-pp.h"> + <Filter>Source Files\preprocs\nasm</Filter> + </ClInclude> + <ClInclude Include="..\..\..\modules\preprocs\nasm\nasm.h"> + <Filter>Source Files\preprocs\nasm</Filter> + </ClInclude> + <ClInclude Include="..\..\..\modules\preprocs\nasm\nasmlib.h"> + <Filter>Source Files\preprocs\nasm</Filter> + </ClInclude> + <ClInclude Include="..\..\..\libyasm\arch.h" /> + <ClInclude Include="..\..\..\libyasm\bitvect.h" /> + <ClInclude Include="..\..\..\libyasm\bytecode.h" /> + <ClInclude Include="..\..\..\libyasm\compat-queue.h" /> + <ClInclude Include="..\config.h" /> + <ClInclude Include="..\..\..\libyasm\coretype.h" /> + <ClInclude Include="..\..\..\libyasm\dbgfmt.h" /> + <ClInclude Include="..\..\..\libyasm\errwarn.h" /> + <ClInclude Include="..\..\..\libyasm\expr.h" /> + <ClInclude Include="..\..\..\libyasm\file.h" /> + <ClInclude Include="..\..\..\libyasm\floatnum.h" /> + <ClInclude Include="..\..\..\libyasm\hamt.h" /> + <ClInclude Include="..\..\..\libyasm\insn.h" /> + <ClInclude Include="..\..\..\libyasm\intnum.h" /> + <ClInclude Include="..\libyasm-stdint.h" /> + <ClInclude Include="..\..\..\libyasm.h" /> + <ClInclude Include="..\..\..\libyasm\listfmt.h" /> + <ClInclude Include="..\..\..\libyasm\md5.h" /> + <ClInclude Include="..\..\..\libyasm\module.h" /> + <ClInclude Include="..\..\..\modules\parsers\nasm\nasm-parser-struct.h" /> + <ClInclude Include="..\..\..\libyasm\objfmt.h" /> + <ClInclude Include="..\..\..\libyasm\parser.h" /> + <ClInclude Include="..\..\..\libyasm\phash.h" /> + <ClInclude Include="..\..\..\libyasm\preproc.h" /> + <ClInclude Include="..\..\..\libyasm\value.h" /> + <ClInclude Include="..\..\..\libyasm\valparam.h" /> + <ClInclude Include="..\..\..\libyasm\symrec.h" /> + <ClInclude Include="..\..\..\libyasm\linemap.h" /> + <ClInclude Include="..\..\..\libyasm\section.h" /> + <ClInclude Include="..\..\..\util.h" /> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/Mkfiles/vc12/out_copy_rename.bat b/Mkfiles/vc12/out_copy_rename.bat new file mode 100644 index 00000000..3179b59a --- /dev/null +++ b/Mkfiles/vc12/out_copy_rename.bat @@ -0,0 +1,42 @@ +@echo off +if not exist %1 goto nofile +if exist %2 goto copy + +echo creating directory %2 +md %2 > nul + +:copy +set str=%2 +for /f "useback tokens=*" %%a in ('%str%') do set str=%%~a +set str=%str:~-1% +if %str% == "\" goto hasbackslash + +if not exist %2\%3 goto cpy +fc %1 %2\%3 > nul && if not %errorlevel 1 goto exit +echo overwriting %2\%3 with %1 +copy %1 %2\%3 > nul +goto exit + +:cpy +echo copying %1 to %2\%3 +copy %1 %2\%3 > nul +goto exit + +:hasbackslash +if not exist %2%3 goto cpy2 +fc %1 %2%3 > nul && if not %errorlevel 1 goto exit +echo overwriting %2%3 with %1 +copy %1 %2%3 > nul +goto exit + +:cpy2 +echo copying %1 to %2%3 +copy %1 %2%3 > nul +goto exit + +:nofile +echo %1 not found + +:exit + + diff --git a/Mkfiles/vc12/readme.vc12.txt b/Mkfiles/vc12/readme.vc12.txt new file mode 100644 index 00000000..10c84f1a --- /dev/null +++ b/Mkfiles/vc12/readme.vc12.txt @@ -0,0 +1,106 @@ +Building YASM with Microsoft Visual Studio 2010 (C/C++ v10) +----------------------------------------------------------- + +This note describes how to build YASM using Microsoft Visual +Studio 2013 (C/C++ v12). + +1. YASM Download +---------------- + +First YASM needs to be downloaded and the files placed within +a suitable directory, which will be called <yasm> here but can +be named and located as you wish. + +2. Building YASM with Microsoft 2013 (VC12) +------------------------------------------- + +Now locate and double click on the yasm.sln solution file in +the 'Mkfiles/vc12' subdirectory to open the build project in +the Visual Studio 2010 IDE and then select: + + win32 or x64 build + release or debug build + +as appropriate to build the YASM binaries that you need. + +4. Using YASM with Visual Sudio 2013 and VC++ version 12 +-------------------------------------------------------- + +The YASM version vsyasm.exe is designed specifically for use +with the 2010 and later versions of Visual Studio. To tell +Visual Studio where to find vsyasm.exe, the environment +variable YASMPATH can be set to the absolute path of the +directory in which vsyasm.exe is located (this path should +include the final backslash). + +Alternatively you can find the directory (or directories) +where the VC++ compiler binaries are located and put copies +of the vsyasm.exe binary in these directories. The typical +location on 64-bit Windows is: + +C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin + +On 32-bit Windows it is normally at: + +C:\Program Files\Microsoft Visual Studio 12.0\VC\bin + +Depending on your system you can use either the win32 or the +x64 version of vsyasm.exe, which must be named vsyasm.exe. + +To use the new custom tools facility in Visual Studio 2010, you +need to place a copy of three files - yasm.props, yasm.targets +and yasm.xml - into a location where they can be found by the +Visual Studio build customisation processes. There are several +ways to do this: + + a. put these files in the MSBUILD customisation directory, + which is typically at: + + C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations + + b. put them in a convenient location and set this path in the + 'Build Customisations Search Path' in the Visual Studio + 'Projects and Solutions|VC++ Project Settings' item in + the 'Tools|Options' menu; + + c. put them in a convenient location and set this path in the + 'Build Customisation dialogue (discussed later). + +To use YASM in a project, right click on the project in the Solution +Explorer and select 'Build Customisations..'. This will give you a +dialog box that allows you to select YASM as an assembler (note that +your assembler files need to have the extension '.asm'). If you have +used option c. above, you will need to let the dialogue find them +using the 'Find Existing' button below the dialogue. + +To assemble a file with YASM, select the Property Page for the file +and the select 'Yasm Assembler' in the Tool dialog entry. Then click +'Apply' and an additional property page entry will appear and enable +YASM settings to be established. + +5. A Linker Issue +----------------- + +There appears to be a linker bug in the VC++ linker that prevents +symbols with absolute addresses being linked in DLL builds. This +means, for example, that LEA instructions of the general form: + + lea, rax,[rax+symbol] + +cannot be used for DLL builds. The following general form +has to be used instead: + + lea rcx,[symbol wrt rip] + lea rax,[rax+rcx] + +This limitation may also cause problems with other instruction +that use absolute addresses. + +6. Acknowledgements +------------------- + +I am most grateful for the fantastic support that Peter Johnson, +YASM's creator, has given me in tracking down issues in using +YASM for the production of Windows x64 code. + + Brian Gladman, 6th April 2013 diff --git a/Mkfiles/vc12/vsyasm.props b/Mkfiles/vc12/vsyasm.props new file mode 100644 index 00000000..80b93c7e --- /dev/null +++ b/Mkfiles/vc12/vsyasm.props @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup + Condition="'$(YASMBeforeTargets)' == '' and '$(YASMAfterTargets)' == '' and '$(ConfigurationType)' != 'Makefile'"> + <YASMBeforeTargets>Midl</YASMBeforeTargets> + <YASMAfterTargets>CustomBuild</YASMAfterTargets> + </PropertyGroup> + <PropertyGroup> + <YASMDependsOn + Condition="'$(ConfigurationType)' != 'Makefile'">_SelectedFiles;$(YASMDependsOn)</YASMDependsOn> + </PropertyGroup> + <PropertyGroup> + <YasmPath Condition= "'$(YASMPATH)' == ''">$(VCInstallDir)bin\</YasmPath> + </PropertyGroup> + <ItemDefinitionGroup> + <YASM> + <Debug>False</Debug> + <ObjectFile>$(IntDir)</ObjectFile> + <PreProc>0</PreProc> + <Parser>0</Parser> + <CommandLineTemplate>"$(YasmPath)"vsyasm.exe -Xvc -f $(Platform) [AllOptions] [AdditionalOptions] [Inputs]</CommandLineTemplate> + <Outputs>%(ObjectFile)</Outputs> + <ExecutionDescription>Assembling %(Filename)%(Extension)</ExecutionDescription> + <ShowOnlyRuleProperties>false</ShowOnlyRuleProperties> + </YASM> + </ItemDefinitionGroup> +</Project>
\ No newline at end of file diff --git a/Mkfiles/vc12/vsyasm.targets b/Mkfiles/vc12/vsyasm.targets new file mode 100644 index 00000000..3c084119 --- /dev/null +++ b/Mkfiles/vc12/vsyasm.targets @@ -0,0 +1,108 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <PropertyPageSchema + Include="$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml" /> + <AvailableItemName + Include="YASM"> + <Targets>_YASM</Targets> + </AvailableItemName> + </ItemGroup> + <UsingTask + TaskName="YASM" + TaskFactory="XamlTaskFactory" + AssemblyName="Microsoft.Build.Tasks.v4.0"> + <Task>$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml</Task> + </UsingTask> + <Target + Name="_YASM" + BeforeTargets="$(YASMBeforeTargets)" + AfterTargets="$(YASMAfterTargets)" + Condition="'@(YASM)' != ''" + DependsOnTargets="$(YASMDependsOn);ComputeYASMOutput" + Outputs="@(YASM->'%(ObjectFile)')" + Inputs="@(YASM);%(YASM.AdditionalDependencies);$(MSBuildProjectFile)"> + <ItemGroup + Condition="'@(SelectedFiles)' != ''"> + <YASM + Remove="@(YASM)" + Condition="'%(Identity)' != '@(SelectedFiles)'" /> + </ItemGroup> + <ItemGroup> + <YASM_tlog + Include="%(YASM.ObjectFile)" + Condition="'%(YASM.ObjectFile)' != '' and '%(YASM.ExcludedFromBuild)' != 'true'"> + <Source>@(YASM, '|')</Source> + </YASM_tlog> + </ItemGroup> + <Message + Importance="High" + Text="%(YASM.ExecutionDescription)" /> + <WriteLinesToFile + Condition="'@(YASM_tlog)' != '' and '%(YASM_tlog.ExcludedFromBuild)' != 'true'" + File="$(IntDir)$(ProjectName).write.1.tlog" + Lines="^%(YASM_tlog.Source);@(YASM_tlog->'%(Fullpath)')" /> + <YASM + Condition="'@(YASM)' != '' and '%(YASM.ExcludedFromBuild)' != 'true'" + CommandLineTemplate="%(YASM.CommandLineTemplate)" + Debug="%(YASM.Debug)" + PreIncludeFile="%(YASM.PreIncludeFile)" + IncludePaths="%(YASM.IncludePaths)" + Defines="%(YASM.Defines)" + UnDefines="%(YASM.UnDefines)" + ObjectFile="%(YASM.ObjectFile)" + ListFile="%(YASM.ListFile)" + MapFile="%(YASM.MapFile)" + ErrorFile="%(YASM.ErrorFile)" + SymbolPrefix="%(YASM.SymbolPrefix)" + SymbolSuffix="%(YASM.SymbolSuffix)" + PreProc="%(YASM.PreProc)" + Parser="%(YASM.Parser)" + AdditionalOptions="%(YASM.AdditionalOptions)" + Inputs="@(YASM)" /> + </Target> + <PropertyGroup> + <ComputeLinkInputsTargets> + $(ComputeLinkInputsTargets); + ComputeYASMOutput; + </ComputeLinkInputsTargets> + <ComputeLibInputsTargets> + $(ComputeLibInputsTargets); + ComputeYASMOutput; + </ComputeLibInputsTargets> + </PropertyGroup> + <Target + Name="ComputeYASMOutput" + Condition="'@(YASM)' != ''"> + <ItemGroup> + <YASMDirsToMake + Condition="'@(YASM)' != '' and '%(YASM.ExcludedFromBuild)' != 'true' and !HasTrailingSlash('%(YASM.ObjectFile)')" + Include="%(YASM.ObjectFile)" /> + <Link + Include="%(YASMDirsToMake.Identity)" + Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" /> + <Lib + Include="%(YASMDirsToMake.Identity)" + Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" /> + <ImpLib + Include="%(YASMDirsToMake.Identity)" + Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" /> + </ItemGroup> + <ItemGroup> + <YASMDirsToMake + Condition="'@(YASM)' != '' and '%(YASM.ExcludedFromBuild)' != 'true' and HasTrailingSlash('%(YASM.ObjectFile)')" + Include="@(YASM->'%(ObjectFile)%(Filename).obj')" /> + <Link + Include="%(YASMDirsToMake.Identity)" + Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" /> + <Lib + Include="%(YASMDirsToMake.Identity)" + Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" /> + <ImpLib + Include="%(YASMDirsToMake.Identity)" + Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'" /> + </ItemGroup> + <MakeDir + Directories="@(YASMDirsToMake->'%(RootDir)%(Directory)')" /> + </Target> +</Project>
\ No newline at end of file diff --git a/Mkfiles/vc12/vsyasm.vcxproj b/Mkfiles/vc12/vsyasm.vcxproj new file mode 100644 index 00000000..b34d8e66 --- /dev/null +++ b/Mkfiles/vc12/vsyasm.vcxproj @@ -0,0 +1,279 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{7FDD85BB-CC86-442B-A425-989B5B296ED5}</ProjectGuid> + <RootNamespace>vsyasm</RootNamespace> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseOfMfc>false</UseOfMfc> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseOfMfc>false</UseOfMfc> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseOfMfc>false</UseOfMfc> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseOfMfc>false</UseOfMfc> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> + <Import Project="crt_secure_no_deprecate.props" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> + <Import Project="crt_secure_no_deprecate.props" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> + <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> + <Import Project="crt_secure_no_deprecate.props" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> + <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> + <Import Project="crt_secure_no_deprecate.props" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.21006.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <Midl> + <TypeLibraryName>$(Platform)\$(Configuration)/yasm.tlb</TypeLibraryName> + <HeaderFileName> + </HeaderFileName> + </Midl> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>.;../..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_DEBUG;WIN32;_LIB;HAVE_CONFIG_H;VC;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <PrecompiledHeaderOutputFile> + </PrecompiledHeaderOutputFile> + <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> + <ObjectFileName>$(IntDir)</ObjectFileName> + <ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName> + <WarningLevel>Level3</WarningLevel> + <SuppressStartupBanner>true</SuppressStartupBanner> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <CompileAs>Default</CompileAs> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x0409</Culture> + </ResourceCompile> + <Link> + <OutputFile>$(OutDir)vsyasm.exe</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <Midl> + <TargetEnvironment>X64</TargetEnvironment> + <TypeLibraryName>$(Platform)\$(Configuration)/yasm.tlb</TypeLibraryName> + <HeaderFileName> + </HeaderFileName> + </Midl> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>.;../..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_DEBUG;_LIB;HAVE_CONFIG_H;VC;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <PrecompiledHeaderOutputFile> + </PrecompiledHeaderOutputFile> + <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> + <ObjectFileName>$(IntDir)</ObjectFileName> + <ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName> + <WarningLevel>Level3</WarningLevel> + <SuppressStartupBanner>true</SuppressStartupBanner> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <CompileAs>Default</CompileAs> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x0409</Culture> + </ResourceCompile> + <Link> + <OutputFile>$(OutDir)vsyasm.exe</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX64</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <Midl> + <TypeLibraryName>$(Platform)\$(Configuration)/yasm.tlb</TypeLibraryName> + <HeaderFileName> + </HeaderFileName> + </Midl> + <ClCompile> + <Optimization>Full</Optimization> + <InlineFunctionExpansion>Default</InlineFunctionExpansion> + <IntrinsicFunctions>true</IntrinsicFunctions> + <AdditionalIncludeDirectories>.;../..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>NDEBUG;WIN32;_LIB;HAVE_CONFIG_H;VC;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <FunctionLevelLinking>true</FunctionLevelLinking> + <PrecompiledHeader> + </PrecompiledHeader> + <PrecompiledHeaderOutputFile> + </PrecompiledHeaderOutputFile> + <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> + <ObjectFileName>$(IntDir)</ObjectFileName> + <ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName> + <WarningLevel>Level3</WarningLevel> + <SuppressStartupBanner>true</SuppressStartupBanner> + <CompileAs>Default</CompileAs> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x0409</Culture> + </ResourceCompile> + <Link> + <OutputFile>$(OutDir)vsyasm.exe</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <Midl> + <TargetEnvironment>X64</TargetEnvironment> + <TypeLibraryName>$(Platform)\$(Configuration)/yasm.tlb</TypeLibraryName> + <HeaderFileName> + </HeaderFileName> + </Midl> + <ClCompile> + <Optimization>Full</Optimization> + <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> + <AdditionalIncludeDirectories>.;../..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>NDEBUG;_LIB;HAVE_CONFIG_H;VC;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <FunctionLevelLinking>true</FunctionLevelLinking> + <PrecompiledHeader> + </PrecompiledHeader> + <PrecompiledHeaderOutputFile> + </PrecompiledHeaderOutputFile> + <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> + <ObjectFileName>$(IntDir)</ObjectFileName> + <ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName> + <WarningLevel>Level3</WarningLevel> + <SuppressStartupBanner>true</SuppressStartupBanner> + <CompileAs>Default</CompileAs> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x0409</Culture> + </ResourceCompile> + <Link> + <OutputFile>$(OutDir)vsyasm.exe</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + <ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX64</TargetMachine> + <GenerateDebugInformation>true</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="..\..\frontends\vsyasm\vsyasm.c" /> + <ClCompile Include="..\..\frontends\yasm\yasm-options.c" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="libyasm\libyasm.vcxproj"> + <Project>{29fe7874-1256-4ad6-b889-68e399dc9608}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + <ProjectReference Include="modules\modules.vcxproj"> + <Project>{d715a3d4-efaa-442e-ad8b-5b4ff64e1dd6}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\frontends\yasm\yasm-options.h" /> + <ClInclude Include="..\..\frontends\yasm\yasm-plugin.h" /> + <ClInclude Include="..\..\libyasm.h" /> + <ClInclude Include="..\..\libyasm\bitvect.h" /> + <ClInclude Include="..\..\libyasm\compat-queue.h" /> + <ClInclude Include="..\..\util.h" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/Mkfiles/vc12/vsyasm.xml b/Mkfiles/vc12/vsyasm.xml new file mode 100644 index 00000000..cd08cbba --- /dev/null +++ b/Mkfiles/vc12/vsyasm.xml @@ -0,0 +1,283 @@ +<?xml version="1.0" encoding="utf-8"?> +<ProjectSchemaDefinitions xmlns="clr-namespace:Microsoft.Build.Framework.XamlTypes;assembly=Microsoft.Build.Framework" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:transformCallback="Microsoft.Cpp.Dev10.ConvertPropertyCallback"> + <Rule + Name="YASM" + PageTemplate="tool" + DisplayName="Yasm Assembler" + Order="200"> + + <Rule.DataSource> + <DataSource + Persistence="ProjectFile" + ItemType="YASM" /> + </Rule.DataSource> + + <Rule.Categories> + + <Category + Name="General"> + <Category.DisplayName> + <sys:String>General</sys:String> + </Category.DisplayName> + </Category> + + <Category + Name="Symbols"> + <Category.DisplayName> + <sys:String>Symbols</sys:String> + </Category.DisplayName> + </Category> + + <Category + Name="Files"> + <Category.DisplayName> + <sys:String>Files</sys:String> + </Category.DisplayName> + </Category> + + <Category + Name="Command Line" + Subtype="CommandLine"> + <Category.DisplayName> + <sys:String>Command Line</sys:String> + </Category.DisplayName> + </Category> + + </Rule.Categories> + + <StringListProperty + Name="Inputs" + Category="Command Line" + IsRequired="true" + Switch=" "> + <StringListProperty.DataSource> + <DataSource + Persistence="ProjectFile" + ItemType="YASM" + SourceType="Item" /> + </StringListProperty.DataSource> + </StringListProperty> + + <BoolProperty + Name="Debug" + Subcategory="Configuration" + HelpContext="0" + DisplayName="Debug Information" + Description="Generate debugging information" + Switch="-g cv8" /> + + <StringListProperty + Name="IncludePaths" + Subcategory="Configuration" + HelpContext="0" + DisplayName="Include Paths" + Description="Set the paths for any additional include files" + Switch="-i "[value]"" /> + + <StringListProperty + Name="Defines" + Category="Symbols" + Subcategory="Pre-Defined Symbols" + HelpContext="0" + DisplayName="Defined Symbols" + Description="Specify pre-defined symbols ('symbol' or 'symbol = value') " + Switch="-d "[value]"" /> + + <StringListProperty + Name="UnDefines" + Category="Symbols" + Subcategory="Pre-Defined Symbols" + HelpContext="0" + DisplayName="Remove Symbols" + Description="Remove pre-defined symbols " + Switch="-u "[value]"" /> + + <StringProperty + Name="ObjectFile" + Subcategory="Output" + HelpContext="0" + DisplayName="Object File Name" + Description="Select the output file name" + Switch="-o "[value]"" /> + + <StringProperty + Name="ListFile" + Category="Files" + Subcategory="Output" + HelpContext="0" + DisplayName="List File Name" + Description="Select an output listing by setting its file name" + Switch="-l "[value]"" /> + + <StringProperty + Name="PreIncludeFile" + Category="Files" + Subcategory="Configuration" + HelpContext="0" + DisplayName="Pre Include File" + Description="Select a pre-included file by setting its name" + Switch="-P "[value]"" /> + + <StringProperty + Name="MapFile" + Category="Files" + Subcategory="Output" + HelpContext="0" + DisplayName="Map File Name" + Description="Select a map output by setting its file name" + Switch="--mapdir= "[value]"" /> + + <StringProperty + Name="ErrorFile" + Category="Files" + Subcategory="Output" + HelpContext="0" + DisplayName="Error File Name" + Description="Send error/warning messages to a file by setting its name" + Switch="-E "[value]"" /> + + <StringProperty + Name="SymbolPrefix" + Category="Symbols" + Subcategory="Symbols" + HelpContext="0" + DisplayName="External Symbol Prefix" + Description="Prepend symbol to all external symbols" + Switch="--prefix "[value]"" /> + + <StringProperty + Name="SymbolSuffix" + Category="Symbols" + Subcategory="Symbols" + HelpContext="0" + DisplayName="External Symbol Suffix" + Description="Append symbol to all external symbols" + Switch="--suffix "[value]"" /> + + <EnumProperty + Name="PreProc" + Subcategory="Configuration" + HelpContext="0" + DisplayName="Pre-Processor" + Description="Select the pre-processor ('nasm' or 'raw')"> + <EnumValue + Name="0" + DisplayName="Nasm " + Switch="-rnasm" /> + <EnumValue + Name="1" + DisplayName="Raw" + Switch="-rraw" /> + </EnumProperty> + + <EnumProperty + Name="Parser" + Subcategory="Configuration" + HelpContext="0" + DisplayName="Parser" + Description="Select the parser for Intel ('nasm') or AT&T ( 'gas') syntax"> + <EnumValue + Name="0" + DisplayName="Nasm" + Switch="-pnasm" /> + <EnumValue + Name="1" + DisplayName="Gas" + Switch="-pgas" /> + </EnumProperty> + + <StringProperty + Name="CommandLineTemplate" + DisplayName="Command Line" + Visible="False" + IncludeInCommandLine="False" /> + + <DynamicEnumProperty + Name="YASMBeforeTargets" + Category="General" + EnumProvider="Targets" + IncludeInCommandLine="False"> + <DynamicEnumProperty.DisplayName> + <sys:String>Execute Before</sys:String> + </DynamicEnumProperty.DisplayName> + <DynamicEnumProperty.Description> + <sys:String>Specifies the targets for the build customization to run before.</sys:String> + </DynamicEnumProperty.Description> + <DynamicEnumProperty.ProviderSettings> + <NameValuePair + Name="Exclude" + Value="^YASMBeforeTargets|^Compute" /> + </DynamicEnumProperty.ProviderSettings> + <DynamicEnumProperty.DataSource> + <DataSource + Persistence="ProjectFile" + HasConfigurationCondition="true" /> + </DynamicEnumProperty.DataSource> + </DynamicEnumProperty> + + <DynamicEnumProperty + Name="YASMAfterTargets" + Category="General" + EnumProvider="Targets" + IncludeInCommandLine="False"> + <DynamicEnumProperty.DisplayName> + <sys:String>Execute After</sys:String> + </DynamicEnumProperty.DisplayName> + <DynamicEnumProperty.Description> + <sys:String>Specifies the targets for the build customization to run after.</sys:String> + </DynamicEnumProperty.Description> + <DynamicEnumProperty.ProviderSettings> + <NameValuePair + Name="Exclude" + Value="^YASMAfterTargets|^Compute" /> + </DynamicEnumProperty.ProviderSettings> + <DynamicEnumProperty.DataSource> + <DataSource + Persistence="ProjectFile" + ItemType="" + HasConfigurationCondition="true" /> + </DynamicEnumProperty.DataSource> + </DynamicEnumProperty> + + <StringListProperty + Name="Outputs" + DisplayName="Outputs" + Visible="False" + IncludeInCommandLine="False" /> + + <StringProperty + Name="ExecutionDescription" + DisplayName="Execution Description" + Visible="False" + IncludeInCommandLine="False" /> + + <StringListProperty + Name="AdditionalDependencies" + DisplayName="Additional Dependencies" + IncludeInCommandLine="False" + Visible="true" /> + + <StringProperty + Subtype="AdditionalOptions" + Name="AdditionalOptions" + Category="Command Line"> + <StringProperty.DisplayName> + <sys:String>Additional Options</sys:String> + </StringProperty.DisplayName> + <StringProperty.Description> + <sys:String>Additional Options</sys:String> + </StringProperty.Description> + </StringProperty> + </Rule> + + <ItemType + Name="YASM" + DisplayName="Yasm Assembler" /> + <FileExtension + Name="*.asm" + ContentType="YASM" /> + <ContentType + Name="YASM" + DisplayName="Yasm Assembler" + ItemType="YASM" /> +</ProjectSchemaDefinitions>
\ No newline at end of file diff --git a/Mkfiles/vc12/yasm.sln b/Mkfiles/vc12/yasm.sln new file mode 100644 index 00000000..dec8fd47 --- /dev/null +++ b/Mkfiles/vc12/yasm.sln @@ -0,0 +1,142 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2013 +VisualStudioVersion = 12.0.21005.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{825AC694-358C-4D8D-92DE-33A2691978CE}" + ProjectSection(SolutionItems) = preProject + crt_secure_no_deprecate.vsprops = crt_secure_no_deprecate.vsprops + readme.vc10.txt = readme.vc10.txt + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libyasm", "libyasm\libyasm.vcxproj", "{29FE7874-1256-4AD6-B889-68E399DC9608}" + ProjectSection(ProjectDependencies) = postProject + {B545983B-8EE0-4A7B-A67A-E749EEAE62A2} = {B545983B-8EE0-4A7B-A67A-E749EEAE62A2} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "modules", "modules\modules.vcxproj", "{D715A3D4-EFAA-442E-AD8B-5B4FF64E1DD6}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "yasm", "yasm.vcxproj", "{34EB1BEB-C2D6-4A52-82B7-7ACD714A30D5}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "genmacro", "genmacro\genmacro.vcxproj", "{225700A5-07B8-434E-AD61-555278BF6733}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "genversion", "genversion\genversion.vcxproj", "{B545983B-8EE0-4A7B-A67A-E749EEAE62A2}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "re2c", "re2c\re2c.vcxproj", "{3C58BE13-50A3-4583-984D-D8902B3D7713}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "genperf", "genperf\genperf.vcxproj", "{C45A8B59-8B59-4D5D-A8E8-FB090F8DD619}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "genmodule", "genmodule\genmodule.vcxproj", "{F0E8B707-00C5-4FF2-B8EF-7C39817132A0}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "genstring", "genstring\genstring.vcxproj", "{021CEB0A-F721-4F59-B349-9CEEAF244459}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ytasm", "ytasm.vcxproj", "{2162937B-0DBD-4450-B45F-DF578D8E7508}" + ProjectSection(ProjectDependencies) = postProject + {021CEB0A-F721-4F59-B349-9CEEAF244459} = {021CEB0A-F721-4F59-B349-9CEEAF244459} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vsyasm", "vsyasm.vcxproj", "{7FDD85BB-CC86-442B-A425-989B5B296ED5}" + ProjectSection(ProjectDependencies) = postProject + {021CEB0A-F721-4F59-B349-9CEEAF244459} = {021CEB0A-F721-4F59-B349-9CEEAF244459} + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 + Release|Win32 = Release|Win32 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {29FE7874-1256-4AD6-B889-68E399DC9608}.Debug|Win32.ActiveCfg = Debug|Win32 + {29FE7874-1256-4AD6-B889-68E399DC9608}.Debug|Win32.Build.0 = Debug|Win32 + {29FE7874-1256-4AD6-B889-68E399DC9608}.Debug|x64.ActiveCfg = Debug|x64 + {29FE7874-1256-4AD6-B889-68E399DC9608}.Debug|x64.Build.0 = Debug|x64 + {29FE7874-1256-4AD6-B889-68E399DC9608}.Release|Win32.ActiveCfg = Release|Win32 + {29FE7874-1256-4AD6-B889-68E399DC9608}.Release|Win32.Build.0 = Release|Win32 + {29FE7874-1256-4AD6-B889-68E399DC9608}.Release|x64.ActiveCfg = Release|x64 + {29FE7874-1256-4AD6-B889-68E399DC9608}.Release|x64.Build.0 = Release|x64 + {D715A3D4-EFAA-442E-AD8B-5B4FF64E1DD6}.Debug|Win32.ActiveCfg = Debug|Win32 + {D715A3D4-EFAA-442E-AD8B-5B4FF64E1DD6}.Debug|Win32.Build.0 = Debug|Win32 + {D715A3D4-EFAA-442E-AD8B-5B4FF64E1DD6}.Debug|x64.ActiveCfg = Debug|x64 + {D715A3D4-EFAA-442E-AD8B-5B4FF64E1DD6}.Debug|x64.Build.0 = Debug|x64 + {D715A3D4-EFAA-442E-AD8B-5B4FF64E1DD6}.Release|Win32.ActiveCfg = Release|Win32 + {D715A3D4-EFAA-442E-AD8B-5B4FF64E1DD6}.Release|Win32.Build.0 = Release|Win32 + {D715A3D4-EFAA-442E-AD8B-5B4FF64E1DD6}.Release|x64.ActiveCfg = Release|x64 + {D715A3D4-EFAA-442E-AD8B-5B4FF64E1DD6}.Release|x64.Build.0 = Release|x64 + {34EB1BEB-C2D6-4A52-82B7-7ACD714A30D5}.Debug|Win32.ActiveCfg = Debug|Win32 + {34EB1BEB-C2D6-4A52-82B7-7ACD714A30D5}.Debug|Win32.Build.0 = Debug|Win32 + {34EB1BEB-C2D6-4A52-82B7-7ACD714A30D5}.Debug|x64.ActiveCfg = Debug|x64 + {34EB1BEB-C2D6-4A52-82B7-7ACD714A30D5}.Debug|x64.Build.0 = Debug|x64 + {34EB1BEB-C2D6-4A52-82B7-7ACD714A30D5}.Release|Win32.ActiveCfg = Release|Win32 + {34EB1BEB-C2D6-4A52-82B7-7ACD714A30D5}.Release|Win32.Build.0 = Release|Win32 + {34EB1BEB-C2D6-4A52-82B7-7ACD714A30D5}.Release|x64.ActiveCfg = Release|x64 + {34EB1BEB-C2D6-4A52-82B7-7ACD714A30D5}.Release|x64.Build.0 = Release|x64 + {225700A5-07B8-434E-AD61-555278BF6733}.Debug|Win32.ActiveCfg = Debug|Win32 + {225700A5-07B8-434E-AD61-555278BF6733}.Debug|Win32.Build.0 = Debug|Win32 + {225700A5-07B8-434E-AD61-555278BF6733}.Debug|x64.ActiveCfg = Debug|Win32 + {225700A5-07B8-434E-AD61-555278BF6733}.Debug|x64.Build.0 = Debug|Win32 + {225700A5-07B8-434E-AD61-555278BF6733}.Release|Win32.ActiveCfg = Release|Win32 + {225700A5-07B8-434E-AD61-555278BF6733}.Release|Win32.Build.0 = Release|Win32 + {225700A5-07B8-434E-AD61-555278BF6733}.Release|x64.ActiveCfg = Release|x64 + {225700A5-07B8-434E-AD61-555278BF6733}.Release|x64.Build.0 = Release|x64 + {B545983B-8EE0-4A7B-A67A-E749EEAE62A2}.Debug|Win32.ActiveCfg = Debug|Win32 + {B545983B-8EE0-4A7B-A67A-E749EEAE62A2}.Debug|Win32.Build.0 = Debug|Win32 + {B545983B-8EE0-4A7B-A67A-E749EEAE62A2}.Debug|x64.ActiveCfg = Debug|Win32 + {B545983B-8EE0-4A7B-A67A-E749EEAE62A2}.Debug|x64.Build.0 = Debug|Win32 + {B545983B-8EE0-4A7B-A67A-E749EEAE62A2}.Release|Win32.ActiveCfg = Release|Win32 + {B545983B-8EE0-4A7B-A67A-E749EEAE62A2}.Release|Win32.Build.0 = Release|Win32 + {B545983B-8EE0-4A7B-A67A-E749EEAE62A2}.Release|x64.ActiveCfg = Release|x64 + {B545983B-8EE0-4A7B-A67A-E749EEAE62A2}.Release|x64.Build.0 = Release|x64 + {3C58BE13-50A3-4583-984D-D8902B3D7713}.Debug|Win32.ActiveCfg = Debug|Win32 + {3C58BE13-50A3-4583-984D-D8902B3D7713}.Debug|Win32.Build.0 = Debug|Win32 + {3C58BE13-50A3-4583-984D-D8902B3D7713}.Debug|x64.ActiveCfg = Debug|Win32 + {3C58BE13-50A3-4583-984D-D8902B3D7713}.Debug|x64.Build.0 = Debug|Win32 + {3C58BE13-50A3-4583-984D-D8902B3D7713}.Release|Win32.ActiveCfg = Release|Win32 + {3C58BE13-50A3-4583-984D-D8902B3D7713}.Release|Win32.Build.0 = Release|Win32 + {3C58BE13-50A3-4583-984D-D8902B3D7713}.Release|x64.ActiveCfg = Release|x64 + {3C58BE13-50A3-4583-984D-D8902B3D7713}.Release|x64.Build.0 = Release|x64 + {C45A8B59-8B59-4D5D-A8E8-FB090F8DD619}.Debug|Win32.ActiveCfg = Debug|Win32 + {C45A8B59-8B59-4D5D-A8E8-FB090F8DD619}.Debug|Win32.Build.0 = Debug|Win32 + {C45A8B59-8B59-4D5D-A8E8-FB090F8DD619}.Debug|x64.ActiveCfg = Debug|Win32 + {C45A8B59-8B59-4D5D-A8E8-FB090F8DD619}.Debug|x64.Build.0 = Debug|Win32 + {C45A8B59-8B59-4D5D-A8E8-FB090F8DD619}.Release|Win32.ActiveCfg = Release|Win32 + {C45A8B59-8B59-4D5D-A8E8-FB090F8DD619}.Release|Win32.Build.0 = Release|Win32 + {C45A8B59-8B59-4D5D-A8E8-FB090F8DD619}.Release|x64.ActiveCfg = Release|x64 + {C45A8B59-8B59-4D5D-A8E8-FB090F8DD619}.Release|x64.Build.0 = Release|x64 + {F0E8B707-00C5-4FF2-B8EF-7C39817132A0}.Debug|Win32.ActiveCfg = Debug|Win32 + {F0E8B707-00C5-4FF2-B8EF-7C39817132A0}.Debug|Win32.Build.0 = Debug|Win32 + {F0E8B707-00C5-4FF2-B8EF-7C39817132A0}.Debug|x64.ActiveCfg = Debug|Win32 + {F0E8B707-00C5-4FF2-B8EF-7C39817132A0}.Debug|x64.Build.0 = Debug|Win32 + {F0E8B707-00C5-4FF2-B8EF-7C39817132A0}.Release|Win32.ActiveCfg = Release|Win32 + {F0E8B707-00C5-4FF2-B8EF-7C39817132A0}.Release|Win32.Build.0 = Release|Win32 + {F0E8B707-00C5-4FF2-B8EF-7C39817132A0}.Release|x64.ActiveCfg = Release|x64 + {F0E8B707-00C5-4FF2-B8EF-7C39817132A0}.Release|x64.Build.0 = Release|x64 + {021CEB0A-F721-4F59-B349-9CEEAF244459}.Debug|Win32.ActiveCfg = Debug|Win32 + {021CEB0A-F721-4F59-B349-9CEEAF244459}.Debug|Win32.Build.0 = Debug|Win32 + {021CEB0A-F721-4F59-B349-9CEEAF244459}.Debug|x64.ActiveCfg = Debug|Win32 + {021CEB0A-F721-4F59-B349-9CEEAF244459}.Debug|x64.Build.0 = Debug|Win32 + {021CEB0A-F721-4F59-B349-9CEEAF244459}.Release|Win32.ActiveCfg = Release|Win32 + {021CEB0A-F721-4F59-B349-9CEEAF244459}.Release|Win32.Build.0 = Release|Win32 + {021CEB0A-F721-4F59-B349-9CEEAF244459}.Release|x64.ActiveCfg = Release|x64 + {021CEB0A-F721-4F59-B349-9CEEAF244459}.Release|x64.Build.0 = Release|x64 + {2162937B-0DBD-4450-B45F-DF578D8E7508}.Debug|Win32.ActiveCfg = Debug|Win32 + {2162937B-0DBD-4450-B45F-DF578D8E7508}.Debug|Win32.Build.0 = Debug|Win32 + {2162937B-0DBD-4450-B45F-DF578D8E7508}.Debug|x64.ActiveCfg = Debug|x64 + {2162937B-0DBD-4450-B45F-DF578D8E7508}.Debug|x64.Build.0 = Debug|x64 + {2162937B-0DBD-4450-B45F-DF578D8E7508}.Release|Win32.ActiveCfg = Release|Win32 + {2162937B-0DBD-4450-B45F-DF578D8E7508}.Release|Win32.Build.0 = Release|Win32 + {2162937B-0DBD-4450-B45F-DF578D8E7508}.Release|x64.ActiveCfg = Release|x64 + {2162937B-0DBD-4450-B45F-DF578D8E7508}.Release|x64.Build.0 = Release|x64 + {7FDD85BB-CC86-442B-A425-989B5B296ED5}.Debug|Win32.ActiveCfg = Debug|Win32 + {7FDD85BB-CC86-442B-A425-989B5B296ED5}.Debug|Win32.Build.0 = Debug|Win32 + {7FDD85BB-CC86-442B-A425-989B5B296ED5}.Debug|x64.ActiveCfg = Debug|x64 + {7FDD85BB-CC86-442B-A425-989B5B296ED5}.Debug|x64.Build.0 = Debug|x64 + {7FDD85BB-CC86-442B-A425-989B5B296ED5}.Release|Win32.ActiveCfg = Release|Win32 + {7FDD85BB-CC86-442B-A425-989B5B296ED5}.Release|Win32.Build.0 = Release|Win32 + {7FDD85BB-CC86-442B-A425-989B5B296ED5}.Release|x64.ActiveCfg = Release|x64 + {7FDD85BB-CC86-442B-A425-989B5B296ED5}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Mkfiles/vc12/yasm.vcxproj b/Mkfiles/vc12/yasm.vcxproj new file mode 100644 index 00000000..18672491 --- /dev/null +++ b/Mkfiles/vc12/yasm.vcxproj @@ -0,0 +1,283 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{34EB1BEB-C2D6-4A52-82B7-7ACD714A30D5}</ProjectGuid> + <RootNamespace>yasm</RootNamespace> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseOfMfc>false</UseOfMfc> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseOfMfc>false</UseOfMfc> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseOfMfc>false</UseOfMfc> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseOfMfc>false</UseOfMfc> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> + <Import Project="crt_secure_no_deprecate.props" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> + <Import Project="crt_secure_no_deprecate.props" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> + <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> + <Import Project="crt_secure_no_deprecate.props" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> + <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> + <Import Project="crt_secure_no_deprecate.props" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.21006.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <Midl> + <TypeLibraryName>$(Platform)\$(Configuration)/yasm.tlb</TypeLibraryName> + <HeaderFileName> + </HeaderFileName> + </Midl> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>.;../..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_DEBUG;WIN32;_LIB;HAVE_CONFIG_H;VC;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <PrecompiledHeaderOutputFile> + </PrecompiledHeaderOutputFile> + <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> + <ObjectFileName>$(IntDir)</ObjectFileName> + <ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName> + <WarningLevel>Level3</WarningLevel> + <SuppressStartupBanner>true</SuppressStartupBanner> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <CompileAs>Default</CompileAs> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x0409</Culture> + </ResourceCompile> + <Link> + <OutputFile>$(OutDir)yasm.exe</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <Midl> + <TargetEnvironment>X64</TargetEnvironment> + <TypeLibraryName>$(Platform)\$(Configuration)/yasm.tlb</TypeLibraryName> + <HeaderFileName> + </HeaderFileName> + </Midl> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>.;../..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_DEBUG;_LIB;HAVE_CONFIG_H;VC;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <PrecompiledHeaderOutputFile> + </PrecompiledHeaderOutputFile> + <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> + <ObjectFileName>$(IntDir)</ObjectFileName> + <ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName> + <WarningLevel>Level3</WarningLevel> + <SuppressStartupBanner>true</SuppressStartupBanner> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <CompileAs>Default</CompileAs> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x0409</Culture> + </ResourceCompile> + <Link> + <OutputFile>$(OutDir)yasm.exe</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX64</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <Midl> + <TypeLibraryName>$(Platform)\$(Configuration)/yasm.tlb</TypeLibraryName> + <HeaderFileName> + </HeaderFileName> + </Midl> + <ClCompile> + <Optimization>Full</Optimization> + <InlineFunctionExpansion>Default</InlineFunctionExpansion> + <IntrinsicFunctions>true</IntrinsicFunctions> + <AdditionalIncludeDirectories>.;../..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>NDEBUG;WIN32;_LIB;HAVE_CONFIG_H;VC;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <FunctionLevelLinking>true</FunctionLevelLinking> + <PrecompiledHeader> + </PrecompiledHeader> + <PrecompiledHeaderOutputFile> + </PrecompiledHeaderOutputFile> + <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> + <ObjectFileName>$(IntDir)</ObjectFileName> + <ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName> + <WarningLevel>Level3</WarningLevel> + <SuppressStartupBanner>true</SuppressStartupBanner> + <CompileAs>Default</CompileAs> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x0409</Culture> + </ResourceCompile> + <Link> + <OutputFile>$(OutDir)yasm.exe</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <Midl> + <TargetEnvironment>X64</TargetEnvironment> + <TypeLibraryName>$(Platform)\$(Configuration)/yasm.tlb</TypeLibraryName> + <HeaderFileName> + </HeaderFileName> + </Midl> + <ClCompile> + <Optimization>Full</Optimization> + <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> + <AdditionalIncludeDirectories>.;../..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>NDEBUG;_LIB;HAVE_CONFIG_H;VC;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <FunctionLevelLinking>true</FunctionLevelLinking> + <PrecompiledHeader> + </PrecompiledHeader> + <PrecompiledHeaderOutputFile> + </PrecompiledHeaderOutputFile> + <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> + <ObjectFileName>$(IntDir)</ObjectFileName> + <ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName> + <WarningLevel>Level3</WarningLevel> + <SuppressStartupBanner>true</SuppressStartupBanner> + <CompileAs>Default</CompileAs> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x0409</Culture> + </ResourceCompile> + <Link> + <OutputFile>$(OutDir)yasm.exe</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + <ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX64</TargetMachine> + <GenerateDebugInformation>true</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="..\..\frontends\yasm\yasm-options.c" /> + <ClCompile Include="..\..\frontends\yasm\yasm.c" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\frontends\yasm\yasm-options.h" /> + <ClInclude Include="..\..\frontends\yasm\yasm-plugin.h" /> + <ClInclude Include="..\..\libyasm.h" /> + <ClInclude Include="..\..\libyasm\bitvect.h" /> + <ClInclude Include="..\..\libyasm\compat-queue.h" /> + <ClInclude Include="..\..\util.h" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="genstring\genstring.vcxproj"> + <Project>{021ceb0a-f721-4f59-b349-9ceeaf244459}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + <ProjectReference Include="libyasm\libyasm.vcxproj"> + <Project>{29fe7874-1256-4ad6-b889-68e399dc9608}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + <ProjectReference Include="modules\modules.vcxproj"> + <Project>{d715a3d4-efaa-442e-ad8b-5b4ff64e1dd6}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/Mkfiles/vc12/yasm.vcxproj.filters b/Mkfiles/vc12/yasm.vcxproj.filters new file mode 100644 index 00000000..04941c22 --- /dev/null +++ b/Mkfiles/vc12/yasm.vcxproj.filters @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Header Files"> + <UniqueIdentifier>{51f0d88e-1373-4bf8-a72e-c79706d37f8b}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl</Extensions> + </Filter> + <Filter Include="Source Files"> + <UniqueIdentifier>{db67b411-6f59-462c-9c20-75024c6b3912}</UniqueIdentifier> + <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\..\frontends\yasm\yasm-options.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\frontends\yasm\yasm.c"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\frontends\yasm\yasm-options.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\libyasm\compat-queue.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\libyasm.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\libyasm\bitvect.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\util.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\frontends\yasm\yasm-plugin.h"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/Mkfiles/vc12/ytasm.vcxproj b/Mkfiles/vc12/ytasm.vcxproj new file mode 100644 index 00000000..24d1869e --- /dev/null +++ b/Mkfiles/vc12/ytasm.vcxproj @@ -0,0 +1,278 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{2162937B-0DBD-4450-B45F-DF578D8E7508}</ProjectGuid> + <RootNamespace>ytasm</RootNamespace> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseOfMfc>false</UseOfMfc> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseOfMfc>false</UseOfMfc> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseOfMfc>false</UseOfMfc> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseOfMfc>false</UseOfMfc> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> + <Import Project="crt_secure_no_deprecate.props" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> + <Import Project="crt_secure_no_deprecate.props" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> + <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> + <Import Project="crt_secure_no_deprecate.props" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" /> + <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> + <Import Project="crt_secure_no_deprecate.props" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.21006.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <Midl> + <TypeLibraryName>$(Platform)\$(Configuration)/yasm.tlb</TypeLibraryName> + <HeaderFileName> + </HeaderFileName> + </Midl> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>.;../..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_DEBUG;WIN32;_LIB;HAVE_CONFIG_H;VC;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <PrecompiledHeaderOutputFile> + </PrecompiledHeaderOutputFile> + <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> + <ObjectFileName>$(IntDir)</ObjectFileName> + <ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName> + <WarningLevel>Level3</WarningLevel> + <SuppressStartupBanner>true</SuppressStartupBanner> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <CompileAs>Default</CompileAs> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x0409</Culture> + </ResourceCompile> + <Link> + <OutputFile>$(OutDir)ytasm.exe</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <Midl> + <TargetEnvironment>X64</TargetEnvironment> + <TypeLibraryName>$(Platform)\$(Configuration)/yasm.tlb</TypeLibraryName> + <HeaderFileName> + </HeaderFileName> + </Midl> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>.;../..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_DEBUG;_LIB;HAVE_CONFIG_H;VC;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <PrecompiledHeaderOutputFile> + </PrecompiledHeaderOutputFile> + <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> + <ObjectFileName>$(IntDir)</ObjectFileName> + <ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName> + <WarningLevel>Level3</WarningLevel> + <SuppressStartupBanner>true</SuppressStartupBanner> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <CompileAs>Default</CompileAs> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x0409</Culture> + </ResourceCompile> + <Link> + <OutputFile>$(OutDir)ytasm.exe</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX64</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <Midl> + <TypeLibraryName>$(Platform)\$(Configuration)/yasm.tlb</TypeLibraryName> + <HeaderFileName> + </HeaderFileName> + </Midl> + <ClCompile> + <Optimization>Full</Optimization> + <InlineFunctionExpansion>Default</InlineFunctionExpansion> + <IntrinsicFunctions>true</IntrinsicFunctions> + <AdditionalIncludeDirectories>.;../..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>NDEBUG;WIN32;_LIB;HAVE_CONFIG_H;VC;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <FunctionLevelLinking>true</FunctionLevelLinking> + <PrecompiledHeader> + </PrecompiledHeader> + <PrecompiledHeaderOutputFile> + </PrecompiledHeaderOutputFile> + <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> + <ObjectFileName>$(IntDir)</ObjectFileName> + <ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName> + <WarningLevel>Level3</WarningLevel> + <SuppressStartupBanner>true</SuppressStartupBanner> + <CompileAs>Default</CompileAs> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x0409</Culture> + </ResourceCompile> + <Link> + <OutputFile>$(OutDir)ytasm.exe</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <Midl> + <TargetEnvironment>X64</TargetEnvironment> + <TypeLibraryName>$(Platform)\$(Configuration)/yasm.tlb</TypeLibraryName> + <HeaderFileName> + </HeaderFileName> + </Midl> + <ClCompile> + <Optimization>Full</Optimization> + <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> + <AdditionalIncludeDirectories>.;../..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>NDEBUG;_LIB;HAVE_CONFIG_H;VC;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <FunctionLevelLinking>true</FunctionLevelLinking> + <PrecompiledHeader> + </PrecompiledHeader> + <PrecompiledHeaderOutputFile> + </PrecompiledHeaderOutputFile> + <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> + <ObjectFileName>$(IntDir)</ObjectFileName> + <ProgramDataBaseFileName>$(IntDir)</ProgramDataBaseFileName> + <WarningLevel>Level3</WarningLevel> + <SuppressStartupBanner>true</SuppressStartupBanner> + <CompileAs>Default</CompileAs> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x0409</Culture> + </ResourceCompile> + <Link> + <OutputFile>$(OutDir)ytasm.exe</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + <ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile> + <SubSystem>Console</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX64</TargetMachine> + <GenerateDebugInformation>true</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="..\..\frontends\tasm\tasm-options.c" /> + <ClCompile Include="..\..\frontends\tasm\tasm.c" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\frontends\tasm\tasm-options.h" /> + <ClInclude Include="..\..\libyasm.h" /> + <ClInclude Include="..\..\libyasm\bitvect.h" /> + <ClInclude Include="..\..\libyasm\compat-queue.h" /> + <ClInclude Include="..\..\util.h" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="libyasm\libyasm.vcxproj"> + <Project>{29fe7874-1256-4ad6-b889-68e399dc9608}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + <ProjectReference Include="modules\modules.vcxproj"> + <Project>{d715a3d4-efaa-442e-ad8b-5b4ff64e1dd6}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/Mkfiles/vc9/YASM-VERSION.h b/Mkfiles/vc9/YASM-VERSION.h new file mode 100644 index 00000000..8624b44f --- /dev/null +++ b/Mkfiles/vc9/YASM-VERSION.h @@ -0,0 +1,2 @@ +#define PACKAGE_STRING "yasm 1.3.0" +#define PACKAGE_VERSION "1.3.0" diff --git a/Mkfiles/vc9/genversion/runpre.bat b/Mkfiles/vc9/genversion/runpre.bat deleted file mode 100644 index fdd15708..00000000 --- a/Mkfiles/vc9/genversion/runpre.bat +++ /dev/null @@ -1,2 +0,0 @@ -cd ..\..\.. -YASM-VERSION-GEN.bat diff --git a/YASM-VERSION-GEN.bat b/YASM-VERSION-GEN.bat deleted file mode 100644 index 92bb97e6..00000000 --- a/YASM-VERSION-GEN.bat +++ /dev/null @@ -1,38 +0,0 @@ -@echo off -if exist version goto haveversion - -set errorlevel=0 -set _my_= -for /f "usebackq tokens=1*" %%f in (`reg query HKCU\Software\TortoiseGit /v MSysGit`) do (set _my_=%%f %%g) -if %errorlevel% neq 0 goto notfound -if "%_my_%" == "" goto notfound - -rem Using the shell script version (calling Git) ... -set _gitbin_=%_my_:*REG_SZ=% -for /f "tokens=* delims= " %%a in ("%_gitbin_%") do set _gitbin_=%%a -set OLDPATH=%PATH% -set PATH=%_gitbin_%;%PATH% -"%_gitbin_%\sh" YASM-VERSION-GEN.sh "%_gitbin_%" -set PATH=%OLDPATH% -exit /b - -:notfound -rem Could not find Git ... -set _ver_= -for /f "usebackq tokens=2 delims==" %%a in (`%SystemRoot%\system32\find "DEF_VER=" ^<YASM-VERSION-GEN.sh`) do (set _ver_=%%a) -set _ver_=%_ver_:~1% -goto output - -:haveversion -set /p _ver_=<version -goto output - -:output -set /p _oldver_=<YASM-VERSION-FILE -set _oldver_=%_oldver_:~,-1% -if "%_ver_%" == "%_oldver_%" exit /b -echo %_ver_% -echo %_ver_% > YASM-VERSION-FILE -echo #define PACKAGE_STRING "yasm %_ver_%" > YASM-VERSION.h -echo #define PACKAGE_VERSION "%_ver_%" >> YASM-VERSION.h - diff --git a/YASM-VERSION-GEN.sh b/YASM-VERSION-GEN.sh index 3a9f7436..33469507 100755 --- a/YASM-VERSION-GEN.sh +++ b/YASM-VERSION-GEN.sh @@ -1,7 +1,7 @@ #!/bin/sh YVF=YASM-VERSION-FILE -DEF_VER=v1.2.0 +DEF_VER=v1.3.0 LF=' ' diff --git a/aclocal.m4 b/aclocal.m4 new file mode 100644 index 00000000..30b76b86 --- /dev/null +++ b/aclocal.m4 @@ -0,0 +1,1511 @@ +# generated automatically by aclocal 1.14.1 -*- Autoconf -*- + +# Copyright (C) 1996-2013 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, +[m4_warning([this file was generated for autoconf 2.69. +You have another version of autoconf. It may work, but is not guaranteed to. +If you have problems, you may need to regenerate the build system entirely. +To do so, use the procedure documented by the package, typically 'autoreconf'.])]) + +# intlmacosx.m4 serial 5 (gettext-0.18.2) +dnl Copyright (C) 2004-2013 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Checks for special options needed on Mac OS X. +dnl Defines INTL_MACOSX_LIBS. +AC_DEFUN([gt_INTL_MACOSX], +[ + dnl Check for API introduced in Mac OS X 10.2. + AC_CACHE_CHECK([for CFPreferencesCopyAppValue], + [gt_cv_func_CFPreferencesCopyAppValue], + [gt_save_LIBS="$LIBS" + LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include <CoreFoundation/CFPreferences.h>]], + [[CFPreferencesCopyAppValue(NULL, NULL)]])], + [gt_cv_func_CFPreferencesCopyAppValue=yes], + [gt_cv_func_CFPreferencesCopyAppValue=no]) + LIBS="$gt_save_LIBS"]) + if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then + AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1], + [Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) + fi + dnl Check for API introduced in Mac OS X 10.3. + AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent], + [gt_save_LIBS="$LIBS" + LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include <CoreFoundation/CFLocale.h>]], + [[CFLocaleCopyCurrent();]])], + [gt_cv_func_CFLocaleCopyCurrent=yes], + [gt_cv_func_CFLocaleCopyCurrent=no]) + LIBS="$gt_save_LIBS"]) + if test $gt_cv_func_CFLocaleCopyCurrent = yes; then + AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1], + [Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) + fi + INTL_MACOSX_LIBS= + if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then + INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" + fi + AC_SUBST([INTL_MACOSX_LIBS]) +]) + +# Copyright (C) 2002-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +# (This private macro should not be called outside this file.) +AC_DEFUN([AM_AUTOMAKE_VERSION], +[am__api_version='1.14' +dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to +dnl require some minimum version. Point them to the right macro. +m4_if([$1], [1.14.1], [], + [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl +]) + +# _AM_AUTOCONF_VERSION(VERSION) +# ----------------------------- +# aclocal traces this macro to find the Autoconf version. +# This is a private macro too. Using m4_define simplifies +# the logic in aclocal, which can simply ignore this definition. +m4_define([_AM_AUTOCONF_VERSION], []) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. +# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], +[AM_AUTOMAKE_VERSION([1.14.1])dnl +m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) + +# AM_AUX_DIR_EXPAND -*- Autoconf -*- + +# Copyright (C) 2001-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to +# '$srcdir', '$srcdir/..', or '$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is '.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[dnl Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50])dnl +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` +]) + +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright (C) 1997-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ([2.52])dnl + m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE])dnl +AC_SUBST([$1_FALSE])dnl +_AM_SUBST_NOTMAKE([$1_TRUE])dnl +_AM_SUBST_NOTMAKE([$1_FALSE])dnl +m4_define([_AM_COND_VALUE_$1], [$2])dnl +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([[conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]]) +fi])]) + +# Copyright (C) 1999-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + + +# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], + [$1], [CXX], [depcc="$CXX" am_compiler_list=], + [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], + [$1], [UPC], [depcc="$UPC" am_compiler_list=], + [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + am__universal=false + m4_case([$1], [CC], + [case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac], + [CXX], + [case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac]) + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with '-c' and '-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES. +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE([dependency-tracking], [dnl +AS_HELP_STRING( + [--enable-dependency-tracking], + [do not reject slow dependency extractors]) +AS_HELP_STRING( + [--disable-dependency-tracking], + [speeds up one-time build])]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' + am__nodep='_no' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH])dnl +_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl +AC_SUBST([am__nodep])dnl +_AM_SUBST_NOTMAKE([am__nodep])dnl +]) + +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright (C) 1999-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[{ + # Older Autoconf quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. + case $CONFIG_FILES in + *\'*) eval set x "$CONFIG_FILES" ;; + *) set x $CONFIG_FILES ;; + esac + shift + for mf + do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named 'Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # Grep'ing the whole file is not good either: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running 'make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "$am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done + done +} +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking +# is enabled. FIXME. This creates each '.P' file that we will +# need in order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +]) + + +# Copyright (C) 1996-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +AC_DEFUN([AM_WITH_DMALLOC], +[AC_MSG_CHECKING([if malloc debugging is wanted]) +AC_ARG_WITH([dmalloc], +[AS_HELP_STRING([--with-dmalloc], + [use dmalloc, as in http://www.dmalloc.com])], +[if test "$withval" = yes; then + AC_MSG_RESULT([yes]) + AC_DEFINE([WITH_DMALLOC], [1], + [Define if using the dmalloc debugging malloc package]) + LIBS="$LIBS -ldmalloc" + LDFLAGS="$LDFLAGS -g" +else + AC_MSG_RESULT([no]) +fi], [AC_MSG_RESULT([no])]) +]) + +# Do all the work for Automake. -*- Autoconf -*- + +# Copyright (C) 1996-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This macro actually does too much. Some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. +m4_define([AC_PROG_CC], +m4_defn([AC_PROG_CC]) +[_AM_PROG_CC_C_O +]) + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.65])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[AC_DIAGNOSE([obsolete], + [$0: two- and three-arguments forms are deprecated.]) +m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl +dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. +m4_if( + m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), + [ok:ok],, + [m4_fatal([AC_INIT should be called with package and version arguments])])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) + AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) +AM_MISSING_PROG([AUTOCONF], [autoconf]) +AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) +AM_MISSING_PROG([AUTOHEADER], [autoheader]) +AM_MISSING_PROG([MAKEINFO], [makeinfo]) +AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl +AC_REQUIRE([AC_PROG_MKDIR_P])dnl +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html> +# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html> +AC_SUBST([mkdir_p], ['$(MKDIR_P)']) +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl +_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], + [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES([CC])], + [m4_define([AC_PROG_CC], + m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES([CXX])], + [m4_define([AC_PROG_CXX], + m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJC], + [_AM_DEPENDENCIES([OBJC])], + [m4_define([AC_PROG_OBJC], + m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], + [_AM_DEPENDENCIES([OBJCXX])], + [m4_define([AC_PROG_OBJCXX], + m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl +]) +AC_REQUIRE([AM_SILENT_RULES])dnl +dnl The testsuite driver may need to know about EXEEXT, so add the +dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This +dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. +AC_CONFIG_COMMANDS_PRE(dnl +[m4_provide_if([_AM_COMPILER_EXEEXT], + [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl + +# POSIX will say in a future version that running "rm -f" with no argument +# is OK; and we want to be able to make that assumption in our Makefile +# recipes. So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else + cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present. This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542> + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message. This +can help us improve future automake versions. + +END + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then + echo 'Configuration will proceed anyway, since you have set the' >&2 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 + echo >&2 + else + cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: <http://www.gnu.org/software/coreutils/>. + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END + AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) + fi +fi]) + +dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not +dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further +dnl mangled by Autoconf and run in a shell conditional statement. +m4_define([_AC_COMPILER_EXEEXT], +m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_arg=$1 +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) + +# Copyright (C) 2001-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +if test x"${install_sh}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; + *) + install_sh="\${SHELL} $am_aux_dir/install-sh" + esac +fi +AC_SUBST([install_sh])]) + +# Copyright (C) 2003-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Add --enable-maintainer-mode option to configure. -*- Autoconf -*- +# From Jim Meyering + +# Copyright (C) 1996-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_MAINTAINER_MODE([DEFAULT-MODE]) +# ---------------------------------- +# Control maintainer-specific portions of Makefiles. +# Default is to disable them, unless 'enable' is passed literally. +# For symmetry, 'disable' may be passed as well. Anyway, the user +# can override the default with the --enable/--disable switch. +AC_DEFUN([AM_MAINTAINER_MODE], +[m4_case(m4_default([$1], [disable]), + [enable], [m4_define([am_maintainer_other], [disable])], + [disable], [m4_define([am_maintainer_other], [enable])], + [m4_define([am_maintainer_other], [enable]) + m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])]) +AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) + dnl maintainer-mode's default is 'disable' unless 'enable' is passed + AC_ARG_ENABLE([maintainer-mode], + [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode], + am_maintainer_other[ make rules and dependencies not useful + (and sometimes confusing) to the casual installer])], + [USE_MAINTAINER_MODE=$enableval], + [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes])) + AC_MSG_RESULT([$USE_MAINTAINER_MODE]) + AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes]) + MAINT=$MAINTAINER_MODE_TRUE + AC_SUBST([MAINT])dnl +] +) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_MAKE_INCLUDE() +# ----------------- +# Check to see how make treats includes. +AC_DEFUN([AM_MAKE_INCLUDE], +[am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo this is the am__doit target +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# Ignore all kinds of additional output from 'make'. +case `$am_make -s -f confmf 2> /dev/null` in #( +*the\ am__doit\ target*) + am__include=include + am__quote= + _am_result=GNU + ;; +esac +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + case `$am_make -s -f confmf 2> /dev/null` in #( + *the\ am__doit\ target*) + am__include=.include + am__quote="\"" + _am_result=BSD + ;; + esac +fi +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) +rm -f confinc confmf +]) + +# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- + +# Copyright (C) 1997-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it is modern enough. +# If it is, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([missing])dnl +if test x"${MISSING+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; + *) + MISSING="\${SHELL} $am_aux_dir/missing" ;; + esac +fi +# Use eval to expand $SHELL +if eval "$MISSING --is-lightweight"; then + am_missing_run="$MISSING " +else + am_missing_run= + AC_MSG_WARN(['missing' script is too old or missing]) +fi +]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright (C) 2001-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# -------------------- +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), [1])]) + +# _AM_SET_OPTIONS(OPTIONS) +# ------------------------ +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# Copyright (C) 1999-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_PROG_CC_C_O +# --------------- +# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC +# to automatically call this. +AC_DEFUN([_AM_PROG_CC_C_O], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([compile])dnl +AC_LANG_PUSH([C])dnl +AC_CACHE_CHECK( + [whether $CC understands -c and -o together], + [am_cv_prog_cc_c_o], + [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i]) +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +AC_LANG_POP([C])]) + +# For backward compatibility. +AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) + +# Copyright (C) 1999-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + + +# AM_PATH_PYTHON([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# --------------------------------------------------------------------------- +# Adds support for distributing Python modules and packages. To +# install modules, copy them to $(pythondir), using the python_PYTHON +# automake variable. To install a package with the same name as the +# automake package, install to $(pkgpythondir), or use the +# pkgpython_PYTHON automake variable. +# +# The variables $(pyexecdir) and $(pkgpyexecdir) are provided as +# locations to install python extension modules (shared libraries). +# Another macro is required to find the appropriate flags to compile +# extension modules. +# +# If your package is configured with a different prefix to python, +# users will have to add the install directory to the PYTHONPATH +# environment variable, or create a .pth file (see the python +# documentation for details). +# +# If the MINIMUM-VERSION argument is passed, AM_PATH_PYTHON will +# cause an error if the version of python installed on the system +# doesn't meet the requirement. MINIMUM-VERSION should consist of +# numbers and dots only. +AC_DEFUN([AM_PATH_PYTHON], + [ + dnl Find a Python interpreter. Python versions prior to 2.0 are not + dnl supported. (2.0 was released on October 16, 2000). + m4_define_default([_AM_PYTHON_INTERPRETER_LIST], +[python python2 python3 python3.3 python3.2 python3.1 python3.0 python2.7 dnl + python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0]) + + AC_ARG_VAR([PYTHON], [the Python interpreter]) + + m4_if([$1],[],[ + dnl No version check is needed. + # Find any Python interpreter. + if test -z "$PYTHON"; then + AC_PATH_PROGS([PYTHON], _AM_PYTHON_INTERPRETER_LIST, :) + fi + am_display_PYTHON=python + ], [ + dnl A version check is needed. + if test -n "$PYTHON"; then + # If the user set $PYTHON, use it and don't search something else. + AC_MSG_CHECKING([whether $PYTHON version is >= $1]) + AM_PYTHON_CHECK_VERSION([$PYTHON], [$1], + [AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no]) + AC_MSG_ERROR([Python interpreter is too old])]) + am_display_PYTHON=$PYTHON + else + # Otherwise, try each interpreter until we find one that satisfies + # VERSION. + AC_CACHE_CHECK([for a Python interpreter with version >= $1], + [am_cv_pathless_PYTHON],[ + for am_cv_pathless_PYTHON in _AM_PYTHON_INTERPRETER_LIST none; do + test "$am_cv_pathless_PYTHON" = none && break + AM_PYTHON_CHECK_VERSION([$am_cv_pathless_PYTHON], [$1], [break]) + done]) + # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON. + if test "$am_cv_pathless_PYTHON" = none; then + PYTHON=: + else + AC_PATH_PROG([PYTHON], [$am_cv_pathless_PYTHON]) + fi + am_display_PYTHON=$am_cv_pathless_PYTHON + fi + ]) + + if test "$PYTHON" = :; then + dnl Run any user-specified action, or abort. + m4_default([$3], [AC_MSG_ERROR([no suitable Python interpreter found])]) + else + + dnl Query Python for its version number. Getting [:3] seems to be + dnl the best way to do this; it's what "site.py" does in the standard + dnl library. + + AC_CACHE_CHECK([for $am_display_PYTHON version], [am_cv_python_version], + [am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[[:3]])"`]) + AC_SUBST([PYTHON_VERSION], [$am_cv_python_version]) + + dnl Use the values of $prefix and $exec_prefix for the corresponding + dnl values of PYTHON_PREFIX and PYTHON_EXEC_PREFIX. These are made + dnl distinct variables so they can be overridden if need be. However, + dnl general consensus is that you shouldn't need this ability. + + AC_SUBST([PYTHON_PREFIX], ['${prefix}']) + AC_SUBST([PYTHON_EXEC_PREFIX], ['${exec_prefix}']) + + dnl At times (like when building shared libraries) you may want + dnl to know which OS platform Python thinks this is. + + AC_CACHE_CHECK([for $am_display_PYTHON platform], [am_cv_python_platform], + [am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`]) + AC_SUBST([PYTHON_PLATFORM], [$am_cv_python_platform]) + + # Just factor out some code duplication. + am_python_setup_sysconfig="\ +import sys +# Prefer sysconfig over distutils.sysconfig, for better compatibility +# with python 3.x. See automake bug#10227. +try: + import sysconfig +except ImportError: + can_use_sysconfig = 0 +else: + can_use_sysconfig = 1 +# Can't use sysconfig in CPython 2.7, since it's broken in virtualenvs: +# <https://github.com/pypa/virtualenv/issues/118> +try: + from platform import python_implementation + if python_implementation() == 'CPython' and sys.version[[:3]] == '2.7': + can_use_sysconfig = 0 +except ImportError: + pass" + + dnl Set up 4 directories: + + dnl pythondir -- where to install python scripts. This is the + dnl site-packages directory, not the python standard library + dnl directory like in previous automake betas. This behavior + dnl is more consistent with lispdir.m4 for example. + dnl Query distutils for this directory. + AC_CACHE_CHECK([for $am_display_PYTHON script directory], + [am_cv_python_pythondir], + [if test "x$prefix" = xNONE + then + am_py_prefix=$ac_default_prefix + else + am_py_prefix=$prefix + fi + am_cv_python_pythondir=`$PYTHON -c " +$am_python_setup_sysconfig +if can_use_sysconfig: + sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'}) +else: + from distutils import sysconfig + sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix') +sys.stdout.write(sitedir)"` + case $am_cv_python_pythondir in + $am_py_prefix*) + am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'` + am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"` + ;; + *) + case $am_py_prefix in + /usr|/System*) ;; + *) + am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages + ;; + esac + ;; + esac + ]) + AC_SUBST([pythondir], [$am_cv_python_pythondir]) + + dnl pkgpythondir -- $PACKAGE directory under pythondir. Was + dnl PYTHON_SITE_PACKAGE in previous betas, but this naming is + dnl more consistent with the rest of automake. + + AC_SUBST([pkgpythondir], [\${pythondir}/$PACKAGE]) + + dnl pyexecdir -- directory for installing python extension modules + dnl (shared libraries) + dnl Query distutils for this directory. + AC_CACHE_CHECK([for $am_display_PYTHON extension module directory], + [am_cv_python_pyexecdir], + [if test "x$exec_prefix" = xNONE + then + am_py_exec_prefix=$am_py_prefix + else + am_py_exec_prefix=$exec_prefix + fi + am_cv_python_pyexecdir=`$PYTHON -c " +$am_python_setup_sysconfig +if can_use_sysconfig: + sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_prefix'}) +else: + from distutils import sysconfig + sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_prefix') +sys.stdout.write(sitedir)"` + case $am_cv_python_pyexecdir in + $am_py_exec_prefix*) + am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'` + am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"` + ;; + *) + case $am_py_exec_prefix in + /usr|/System*) ;; + *) + am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages + ;; + esac + ;; + esac + ]) + AC_SUBST([pyexecdir], [$am_cv_python_pyexecdir]) + + dnl pkgpyexecdir -- $(pyexecdir)/$(PACKAGE) + + AC_SUBST([pkgpyexecdir], [\${pyexecdir}/$PACKAGE]) + + dnl Run any user-specified action. + $2 + fi + +]) + + +# AM_PYTHON_CHECK_VERSION(PROG, VERSION, [ACTION-IF-TRUE], [ACTION-IF-FALSE]) +# --------------------------------------------------------------------------- +# Run ACTION-IF-TRUE if the Python interpreter PROG has version >= VERSION. +# Run ACTION-IF-FALSE otherwise. +# This test uses sys.hexversion instead of the string equivalent (first +# word of sys.version), in order to cope with versions such as 2.2c1. +# This supports Python 2.0 or higher. (2.0 was released on October 16, 2000). +AC_DEFUN([AM_PYTHON_CHECK_VERSION], + [prog="import sys +# split strings by '.' and convert to numeric. Append some zeros +# because we need at least 4 digits for the hex conversion. +# map returns an iterator in Python 3.0 and a list in 2.x +minver = list(map(int, '$2'.split('.'))) + [[0, 0, 0]] +minverhex = 0 +# xrange is not present in Python 3.0 and range returns an iterator +for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[[i]] +sys.exit(sys.hexversion < minverhex)" + AS_IF([AM_RUN_LOG([$1 -c "$prog"])], [$3], [$4])]) + +# Copyright (C) 2001-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_RUN_LOG(COMMAND) +# ------------------- +# Run COMMAND, save the exit status in ac_status, and log it. +# (This has been adapted from Autoconf's _AC_RUN_LOG macro.) +AC_DEFUN([AM_RUN_LOG], +[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD + ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + (exit $ac_status); }]) + +# Check to make sure that the build environment is sane. -*- Autoconf -*- + +# Copyright (C) 1996-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Reject unsafe characters in $srcdir or the absolute working directory +# name. Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in + *[[\\\"\#\$\&\'\`$am_lf]]*) + AC_MSG_ERROR([unsafe absolute working directory name]);; +esac +case $srcdir in + *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) + AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; +esac + +# Do 'set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken + alias in your environment]) + fi + if test "$[2]" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT([yes]) +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi +AC_CONFIG_COMMANDS_PRE( + [AC_MSG_CHECKING([that generated files are newer than configure]) + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + AC_MSG_RESULT([done])]) +rm -f conftest.file +]) + +# Copyright (C) 2009-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_SILENT_RULES([DEFAULT]) +# -------------------------- +# Enable less verbose build rules; with the default set to DEFAULT +# ("yes" being less verbose, "no" or empty being verbose). +AC_DEFUN([AM_SILENT_RULES], +[AC_ARG_ENABLE([silent-rules], [dnl +AS_HELP_STRING( + [--enable-silent-rules], + [less verbose build output (undo: "make V=1")]) +AS_HELP_STRING( + [--disable-silent-rules], + [verbose build output (undo: "make V=0")])dnl +]) +case $enable_silent_rules in @%:@ ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; +esac +dnl +dnl A few 'make' implementations (e.g., NonStop OS and NextStep) +dnl do not support nested variable expansions. +dnl See automake bug#9928 and bug#10237. +am_make=${MAKE-make} +AC_CACHE_CHECK([whether $am_make supports nested variables], + [am_cv_make_support_nested_variables], + [if AS_ECHO([['TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi]) +if test $am_cv_make_support_nested_variables = yes; then + dnl Using '$V' instead of '$(V)' breaks IRIX make. + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AC_SUBST([AM_V])dnl +AM_SUBST_NOTMAKE([AM_V])dnl +AC_SUBST([AM_DEFAULT_V])dnl +AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl +AC_SUBST([AM_DEFAULT_VERBOSITY])dnl +AM_BACKSLASH='\' +AC_SUBST([AM_BACKSLASH])dnl +_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl +]) + +# Copyright (C) 2001-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_STRIP +# --------------------- +# One issue with vendor 'install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in "make install-strip", and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using 'strip' when the user +# run "make install-strip". However 'strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the 'STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +# Copyright (C) 2006-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_SUBST_NOTMAKE(VARIABLE) +# --------------------------- +# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. +# This macro is traced by Automake. +AC_DEFUN([_AM_SUBST_NOTMAKE]) + +# AM_SUBST_NOTMAKE(VARIABLE) +# -------------------------- +# Public sister of _AM_SUBST_NOTMAKE. +AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) + +# Check how to create a tarball. -*- Autoconf -*- + +# Copyright (C) 2004-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_PROG_TAR(FORMAT) +# -------------------- +# Check how to create a tarball in format FORMAT. +# FORMAT should be one of 'v7', 'ustar', or 'pax'. +# +# Substitute a variable $(am__tar) that is a command +# writing to stdout a FORMAT-tarball containing the directory +# $tardir. +# tardir=directory && $(am__tar) > result.tar +# +# Substitute a variable $(am__untar) that extract such +# a tarball read from stdin. +# $(am__untar) < result.tar +# +AC_DEFUN([_AM_PROG_TAR], +[# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AC_SUBST([AMTAR], ['$${TAR-tar}']) + +# We'll loop over all known methods to create a tar archive until one works. +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' + +m4_if([$1], [v7], + [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], + + [m4_case([$1], + [ustar], + [# The POSIX 1988 'ustar' format is defined with fixed-size fields. + # There is notably a 21 bits limit for the UID and the GID. In fact, + # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 + # and bug#13588). + am_max_uid=2097151 # 2^21 - 1 + am_max_gid=$am_max_uid + # The $UID and $GID variables are not portable, so we need to resort + # to the POSIX-mandated id(1) utility. Errors in the 'id' calls + # below are definitely unexpected, so allow the users to see them + # (that is, avoid stderr redirection). + am_uid=`id -u || echo unknown` + am_gid=`id -g || echo unknown` + AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) + if test $am_uid -le $am_max_uid; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + _am_tools=none + fi + AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) + if test $am_gid -le $am_max_gid; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + _am_tools=none + fi], + + [pax], + [], + + [m4_fatal([Unknown tar format])]) + + AC_MSG_CHECKING([how to create a $1 tar archive]) + + # Go ahead even if we have the value already cached. We do so because we + # need to set the values for the 'am__tar' and 'am__untar' variables. + _am_tools=${am_cv_prog_tar_$1-$_am_tools} + + for _am_tool in $_am_tools; do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; do + AM_RUN_LOG([$_am_tar --version]) && break + done + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x $1 -w "$$tardir"' + am__tar_='pax -L -x $1 -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' + am__untar='cpio -i -H $1 -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac + + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_$1}" && break + + # tar/untar a dummy directory, and stop if the command works. + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + rm -rf conftest.dir + if test -s conftest.tar; then + AM_RUN_LOG([$am__untar <conftest.tar]) + AM_RUN_LOG([cat conftest.dir/file]) + grep GrepMe conftest.dir/file >/dev/null 2>&1 && break + fi + done + rm -rf conftest.dir + + AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) + AC_MSG_RESULT([$am_cv_prog_tar_$1])]) + +AC_SUBST([am__tar]) +AC_SUBST([am__untar]) +]) # _AM_PROG_TAR + +m4_include([m4/ax_create_stdint_h.m4]) +m4_include([m4/cython.m4]) +m4_include([m4/gettext.m4]) +m4_include([m4/iconv.m4]) +m4_include([m4/lib-ld.m4]) +m4_include([m4/lib-link.m4]) +m4_include([m4/lib-prefix.m4]) +m4_include([m4/nls.m4]) +m4_include([m4/po.m4]) +m4_include([m4/progtest.m4]) +m4_include([m4/pythonhead.m4]) diff --git a/autogen.sh b/autogen.sh deleted file mode 100755 index 12da6aa4..00000000 --- a/autogen.sh +++ /dev/null @@ -1,90 +0,0 @@ -#!/bin/sh -# Run this to set up the build system: configure, makefiles, etc. -# (based on the version in enlightenment's cvs) - -ACLOCAL_FLAGS="-I m4" - -package="yasm" - -srcdir=`dirname $0` -test -z "$srcdir" && srcdir=. - -cd "$srcdir" -DIE=0 - -#(gettextize --version) < /dev/null > /dev/null 2>&1 || { -# echo -# echo "You must have gettext installed to compile $package." -# echo "Download the appropriate package for your system," -# echo "or get the source from one of the GNU ftp sites" -# echo "listed in http://www.gnu.org/order/ftp.html" -# DIE=1 -#} - -(aclocal --version) < /dev/null > /dev/null 2>&1 || { - echo - echo "You must have aclocal installed to compile $package." - echo "Download the appropriate package for your system," - echo "or get the source from one of the GNU ftp sites" - echo "listed in http://www.gnu.org/order/ftp.html" - DIE=1 -} - -(autoconf --version) < /dev/null > /dev/null 2>&1 || { - echo - echo "You must have autoconf installed to compile $package." - echo "Download the appropriate package for your system," - echo "or get the source from one of the GNU ftp sites" - echo "listed in http://www.gnu.org/order/ftp.html" - DIE=1 -} - -(autoheader --version) < /dev/null > /dev/null 2>&1 || { - echo - echo "You must have autoheader installed to compile $package." - echo "Download the appropriate package for your system," - echo "or get the source from one of the GNU ftp sites" - echo "listed in http://www.gnu.org/order/ftp.html" - DIE=1 -} - -(automake --version) < /dev/null > /dev/null 2>&1 || { - echo - echo "You must have automake installed to compile $package." - echo "Download the appropriate package for your system," - echo "or get the source from one of the GNU ftp sites" - echo "listed in http://www.gnu.org/order/ftp.html" - DIE=1 -} - -if test "$DIE" -eq 1; then - exit 1 -fi - -if test -z "$*"; then - echo "I am going to run ./configure with --enable-maintainer-mode" - echo "If you wish to pass any other args to it, please specify them" - echo "on the $0 command line." -fi - -echo "Generating configuration files for $package, please wait...." - -if test ! -d "config"; then - mkdir config -fi - -rm -rf autom4te.cache -rm -f configure config.h config.status config.log stamp-h.in -#echo " gettextize -f --no-changelog" -#echo "N" | gettextize -f --no-changelog || exit 1 -echo " aclocal $ACLOCAL_FLAGS" -aclocal $ACLOCAL_FLAGS || exit 1 -echo " autoheader" -autoheader || exit 1 -echo " automake -a" -automake -a # || exit 1 -echo " autoconf" -autoconf || exit 1 -echo " configure --enable-maintainer-mode $@" -$srcdir/configure --enable-maintainer-mode "$@" || exit 1 - diff --git a/cmake/modules/VersionGen.cmake b/cmake/modules/VersionGen.cmake index 340455b3..f10ce33c 100644 --- a/cmake/modules/VersionGen.cmake +++ b/cmake/modules/VersionGen.cmake @@ -12,7 +12,7 @@ macro (VERSION_GEN _version _version_file _default_version) list (GET _version_strs 0 _version_strs0) if (NOT (${_version_strs0} STREQUAL "")) set (_vn "v${_version_strs0}") - endif (${_version_strs0}) + endif (NOT (${_version_strs0} STREQUAL "")) elseif (EXISTS "${CMAKE_SOURCE_DIR}/.git") execute_process (COMMAND git describe --match "v[0-9]*" --abbrev=4 HEAD RESULT_VARIABLE _git_result diff --git a/config.h.cmake b/config.h.cmake index 50ed93ab..e0026778 100644 --- a/config.h.cmake +++ b/config.h.cmake @@ -2,6 +2,9 @@ #define CMAKE_BUILD 1 +/* Define if shared libs are being built */ +#cmakedefine BUILD_SHARED_LIBS 1 + /* Define if messsage translations are enabled */ #cmakedefine ENABLE_NLS 1 diff --git a/config.h.in b/config.h.in new file mode 100644 index 00000000..22949ec0 --- /dev/null +++ b/config.h.in @@ -0,0 +1,172 @@ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Command name to run C preprocessor */ +#undef CPP_PROG + +/* */ +#undef ENABLE_NLS + +/* Define to 1 if you have the `abort' function. */ +#undef HAVE_ABORT + +/* */ +#undef HAVE_CATGETS + +/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the + CoreFoundation framework. */ +#undef HAVE_CFLOCALECOPYCURRENT + +/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in + the CoreFoundation framework. */ +#undef HAVE_CFPREFERENCESCOPYAPPVALUE + +/* Define if the GNU dcgettext() function is already present or preinstalled. + */ +#undef HAVE_DCGETTEXT + +/* Define to 1 if you have the <direct.h> header file. */ +#undef HAVE_DIRECT_H + +/* Define to 1 if you have the `ftruncate' function. */ +#undef HAVE_FTRUNCATE + +/* Define to 1 if you have the `getcwd' function. */ +#undef HAVE_GETCWD + +/* */ +#undef HAVE_GETTEXT + +/* Define to 1 if you have the GNU C Library */ +#undef HAVE_GNU_C_LIBRARY + +/* Define if you have the iconv() function and it works. */ +#undef HAVE_ICONV + +/* Define to 1 if you have the <inttypes.h> header file. */ +#undef HAVE_INTTYPES_H + +/* */ +#undef HAVE_LC_MESSAGES + +/* Define to 1 if you have the <libgen.h> header file. */ +#undef HAVE_LIBGEN_H + +/* Define to 1 if you have the <memory.h> header file. */ +#undef HAVE_MEMORY_H + +/* Define to 1 if you have the `mergesort' function. */ +#undef HAVE_MERGESORT + +/* Define to 1 if you have the `popen' function. */ +#undef HAVE_POPEN + +/* Define to 1 if you have the <stdint.h> header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the <stdlib.h> header file. */ +#undef HAVE_STDLIB_H + +/* */ +#undef HAVE_STPCPY + +/* Define to 1 if you have the `strcasecmp' function. */ +#undef HAVE_STRCASECMP + +/* Define to 1 if you have the `strcmpi' function. */ +#undef HAVE_STRCMPI + +/* Define to 1 if you have the `stricmp' function. */ +#undef HAVE_STRICMP + +/* Define to 1 if you have the <strings.h> header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the <string.h> header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the `strncasecmp' function. */ +#undef HAVE_STRNCASECMP + +/* Define to 1 if you have the `strsep' function. */ +#undef HAVE_STRSEP + +/* Define to 1 if you have the <sys/stat.h> header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the <sys/types.h> header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the `toascii' function. */ +#undef HAVE_TOASCII + +/* Define to 1 if you have the <unistd.h> header file. */ +#undef HAVE_UNISTD_H + +/* Define to 1 if you have the `vsnprintf' function. */ +#undef HAVE_VSNPRINTF + +/* Define to 1 if you have the `_stricmp' function. */ +#undef HAVE__STRICMP + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the home page for this package. */ +#undef PACKAGE_URL + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to 1 if the C compiler supports function prototypes. */ +#undef PROTOTYPES + +/* The size of `char', as computed by sizeof. */ +#undef SIZEOF_CHAR + +/* The size of `int', as computed by sizeof. */ +#undef SIZEOF_INT + +/* The size of `long', as computed by sizeof. */ +#undef SIZEOF_LONG + +/* The size of `short', as computed by sizeof. */ +#undef SIZEOF_SHORT + +/* The size of `void*', as computed by sizeof. */ +#undef SIZEOF_VOIDP + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Version number of package */ +#undef VERSION + +/* Define if using the dmalloc debugging malloc package */ +#undef WITH_DMALLOC + +/* Define like PROTOTYPES; this can be used by system headers. */ +#undef __PROTOTYPES + +/* Define to empty if `const' does not conform to ANSI C. */ +#undef const + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +#undef inline +#endif + +/* Define to `unsigned int' if <sys/types.h> does not define. */ +#undef size_t diff --git a/config/.gitignore b/config/.gitignore deleted file mode 100644 index 4ea29110..00000000 --- a/config/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -mkinstalldirs -depcomp -compile -missing -install-sh diff --git a/config/compile b/config/compile new file mode 100755 index 00000000..531136b0 --- /dev/null +++ b/config/compile @@ -0,0 +1,347 @@ +#! /bin/sh +# Wrapper for compilers which do not understand '-c -o'. + +scriptversion=2012-10-14.11; # UTC + +# Copyright (C) 1999-2013 Free Software Foundation, Inc. +# Written by Tom Tromey <tromey@cygnus.com>. +# +# This program 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. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# This file is maintained in Automake, please report +# bugs to <bug-automake@gnu.org> or send patches to +# <automake-patches@gnu.org>. + +nl=' +' + +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent tools from complaining about whitespace usage. +IFS=" "" $nl" + +file_conv= + +# func_file_conv build_file lazy +# Convert a $build file to $host form and store it in $file +# Currently only supports Windows hosts. If the determined conversion +# type is listed in (the comma separated) LAZY, no conversion will +# take place. +func_file_conv () +{ + file=$1 + case $file in + / | /[!/]*) # absolute file, and not a UNC file + if test -z "$file_conv"; then + # lazily determine how to convert abs files + case `uname -s` in + MINGW*) + file_conv=mingw + ;; + CYGWIN*) + file_conv=cygwin + ;; + *) + file_conv=wine + ;; + esac + fi + case $file_conv/,$2, in + *,$file_conv,*) + ;; + mingw/*) + file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` + ;; + cygwin/*) + file=`cygpath -m "$file" || echo "$file"` + ;; + wine/*) + file=`winepath -w "$file" || echo "$file"` + ;; + esac + ;; + esac +} + +# func_cl_dashL linkdir +# Make cl look for libraries in LINKDIR +func_cl_dashL () +{ + func_file_conv "$1" + if test -z "$lib_path"; then + lib_path=$file + else + lib_path="$lib_path;$file" + fi + linker_opts="$linker_opts -LIBPATH:$file" +} + +# func_cl_dashl library +# Do a library search-path lookup for cl +func_cl_dashl () +{ + lib=$1 + found=no + save_IFS=$IFS + IFS=';' + for dir in $lib_path $LIB + do + IFS=$save_IFS + if $shared && test -f "$dir/$lib.dll.lib"; then + found=yes + lib=$dir/$lib.dll.lib + break + fi + if test -f "$dir/$lib.lib"; then + found=yes + lib=$dir/$lib.lib + break + fi + if test -f "$dir/lib$lib.a"; then + found=yes + lib=$dir/lib$lib.a + break + fi + done + IFS=$save_IFS + + if test "$found" != yes; then + lib=$lib.lib + fi +} + +# func_cl_wrapper cl arg... +# Adjust compile command to suit cl +func_cl_wrapper () +{ + # Assume a capable shell + lib_path= + shared=: + linker_opts= + for arg + do + if test -n "$eat"; then + eat= + else + case $1 in + -o) + # configure might choose to run compile as 'compile cc -o foo foo.c'. + eat=1 + case $2 in + *.o | *.[oO][bB][jJ]) + func_file_conv "$2" + set x "$@" -Fo"$file" + shift + ;; + *) + func_file_conv "$2" + set x "$@" -Fe"$file" + shift + ;; + esac + ;; + -I) + eat=1 + func_file_conv "$2" mingw + set x "$@" -I"$file" + shift + ;; + -I*) + func_file_conv "${1#-I}" mingw + set x "$@" -I"$file" + shift + ;; + -l) + eat=1 + func_cl_dashl "$2" + set x "$@" "$lib" + shift + ;; + -l*) + func_cl_dashl "${1#-l}" + set x "$@" "$lib" + shift + ;; + -L) + eat=1 + func_cl_dashL "$2" + ;; + -L*) + func_cl_dashL "${1#-L}" + ;; + -static) + shared=false + ;; + -Wl,*) + arg=${1#-Wl,} + save_ifs="$IFS"; IFS=',' + for flag in $arg; do + IFS="$save_ifs" + linker_opts="$linker_opts $flag" + done + IFS="$save_ifs" + ;; + -Xlinker) + eat=1 + linker_opts="$linker_opts $2" + ;; + -*) + set x "$@" "$1" + shift + ;; + *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) + func_file_conv "$1" + set x "$@" -Tp"$file" + shift + ;; + *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) + func_file_conv "$1" mingw + set x "$@" "$file" + shift + ;; + *) + set x "$@" "$1" + shift + ;; + esac + fi + shift + done + if test -n "$linker_opts"; then + linker_opts="-link$linker_opts" + fi + exec "$@" $linker_opts + exit 1 +} + +eat= + +case $1 in + '') + echo "$0: No command. Try '$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: compile [--help] [--version] PROGRAM [ARGS] + +Wrapper for compilers which do not understand '-c -o'. +Remove '-o dest.o' from ARGS, run PROGRAM with the remaining +arguments, and rename the output as expected. + +If you are trying to build a whole package this is not the +right script to run: please start by reading the file 'INSTALL'. + +Report bugs to <bug-automake@gnu.org>. +EOF + exit $? + ;; + -v | --v*) + echo "compile $scriptversion" + exit $? + ;; + cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) + func_cl_wrapper "$@" # Doesn't return... + ;; +esac + +ofile= +cfile= + +for arg +do + if test -n "$eat"; then + eat= + else + case $1 in + -o) + # configure might choose to run compile as 'compile cc -o foo foo.c'. + # So we strip '-o arg' only if arg is an object. + eat=1 + case $2 in + *.o | *.obj) + ofile=$2 + ;; + *) + set x "$@" -o "$2" + shift + ;; + esac + ;; + *.c) + cfile=$1 + set x "$@" "$1" + shift + ;; + *) + set x "$@" "$1" + shift + ;; + esac + fi + shift +done + +if test -z "$ofile" || test -z "$cfile"; then + # If no '-o' option was seen then we might have been invoked from a + # pattern rule where we don't need one. That is ok -- this is a + # normal compilation that the losing compiler can handle. If no + # '.c' file was seen then we are probably linking. That is also + # ok. + exec "$@" +fi + +# Name of file we expect compiler to create. +cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` + +# Create the lock directory. +# Note: use '[/\\:.-]' here to ensure that we don't use the same name +# that we are using for the .o file. Also, base the name on the expected +# object file name, since that is what matters with a parallel build. +lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d +while true; do + if mkdir "$lockdir" >/dev/null 2>&1; then + break + fi + sleep 1 +done +# FIXME: race condition here if user kills between mkdir and trap. +trap "rmdir '$lockdir'; exit 1" 1 2 15 + +# Run the compile. +"$@" +ret=$? + +if test -f "$cofile"; then + test "$cofile" = "$ofile" || mv "$cofile" "$ofile" +elif test -f "${cofile}bj"; then + test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" +fi + +rmdir "$lockdir" +exit $ret + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: diff --git a/config/config.rpath b/config/config.rpath index c547c688..c38b914d 100755 --- a/config/config.rpath +++ b/config/config.rpath @@ -2,7 +2,7 @@ # Output a system dependent set of variables, describing how to set the # run time search path of shared libraries in an executable. # -# Copyright 1996-2007 Free Software Foundation, Inc. +# Copyright 1996-2013 Free Software Foundation, Inc. # Taken from GNU libtool, 2001 # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 # @@ -25,7 +25,7 @@ # known workaround is to choose shorter directory names for the build # directory and/or the installation directory. -# All known linkers require a `.a' archive for static linking (except MSVC, +# All known linkers require a '.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a shrext=.so @@ -47,7 +47,7 @@ for cc_temp in $CC""; do done cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` -# Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC. +# Code taken from libtool.m4's _LT_COMPILER_PIC. wl= if test "$GCC" = yes; then @@ -57,14 +57,7 @@ else aix*) wl='-Wl,' ;; - darwin*) - case $cc_basename in - xlc*) - wl='-Wl,' - ;; - esac - ;; - mingw* | cygwin* | pw32* | os2*) + mingw* | cygwin* | pw32* | os2* | cegcc*) ;; hpux9* | hpux10* | hpux11*) wl='-Wl,' @@ -72,24 +65,37 @@ else irix5* | irix6* | nonstopux*) wl='-Wl,' ;; - newsos6) - ;; - linux* | k*bsd*-gnu) + linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in - icc* | ecc*) + ecc*) wl='-Wl,' ;; - pgcc | pgf77 | pgf90) + icc* | ifort*) + wl='-Wl,' + ;; + lf95*) + wl='-Wl,' + ;; + nagfor*) + wl='-Wl,-Wl,,' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) wl='-Wl,' ;; ccc*) wl='-Wl,' ;; + xl* | bgxl* | bgf* | mpixl*) + wl='-Wl,' + ;; como) wl='-lopt=' ;; *) case `$CC -V 2>&1 | sed 5q` in + *Sun\ F* | *Sun*Fortran*) + wl= + ;; *Sun\ C*) wl='-Wl,' ;; @@ -97,13 +103,24 @@ else ;; esac ;; + newsos6) + ;; + *nto* | *qnx*) + ;; osf3* | osf4* | osf5*) wl='-Wl,' ;; rdos*) ;; solaris*) - wl='-Wl,' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + wl='-Qoption ld ' + ;; + *) + wl='-Wl,' + ;; + esac ;; sunos4*) wl='-Qoption ld ' @@ -124,7 +141,7 @@ else esac fi -# Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS. +# Code taken from libtool.m4's _LT_LINKER_SHLIBS. hardcode_libdir_flag_spec= hardcode_libdir_separator= @@ -132,7 +149,7 @@ hardcode_direct=no hardcode_minus_L=no case "$host_os" in - cygwin* | mingw* | pw32*) + cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. @@ -158,22 +175,21 @@ if test "$with_gnu_ld" = yes; then # option of GNU ld is called -rpath, not --rpath. hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' case "$host_os" in - aix3* | aix4* | aix5*) + aix[3-9]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs=no fi ;; amigaos*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports - # that the semantics of dynamic libraries on AmigaOS, at least up - # to version 4, is to share data among multiple programs linked - # with the same dynamic library. Since this doesn't match the - # behavior of shared libraries on other platforms, we cannot use - # them. - ld_shlibs=no + case "$host_cpu" in + powerpc) + ;; + m68k) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then @@ -182,7 +198,7 @@ if test "$with_gnu_ld" = yes; then ld_shlibs=no fi ;; - cygwin* | mingw* | pw32*) + cygwin* | mingw* | pw32* | cegcc*) # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' @@ -192,11 +208,13 @@ if test "$with_gnu_ld" = yes; then ld_shlibs=no fi ;; + haiku*) + ;; interix[3-9]*) hardcode_direct=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; - gnu* | linux* | k*bsd*-gnu) + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else @@ -254,7 +272,7 @@ else hardcode_direct=unsupported fi ;; - aix4* | aix5*) + aix[4-9]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. @@ -264,7 +282,7 @@ else # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix5*) + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes @@ -319,14 +337,18 @@ else fi ;; amigaos*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - # see comment about different semantics on the GNU ld section - ld_shlibs=no + case "$host_cpu" in + powerpc) + ;; + m68k) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac ;; bsdi[45]*) ;; - cygwin* | mingw* | pw32*) + cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is @@ -336,24 +358,15 @@ else ;; darwin* | rhapsody*) hardcode_direct=no - if test "$GCC" = yes ; then + if { case $cc_basename in ifort*) true;; *) test "$GCC" = yes;; esac; }; then : else - case $cc_basename in - xlc*) - ;; - *) - ld_shlibs=no - ;; - esac + ld_shlibs=no fi ;; dgux*) hardcode_libdir_flag_spec='-L$libdir' ;; - freebsd1*) - ld_shlibs=no - ;; freebsd2.2*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes @@ -414,6 +427,8 @@ else hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; + *nto* | *qnx*) + ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes @@ -494,7 +509,7 @@ else fi # Check dynamic linker characteristics -# Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER. +# Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER. # Unlike libtool.m4, here we don't care about _all_ names of the library, but # only about the one the linker finds when passed -lNAME. This is the last # element of library_names_spec in libtool.m4, or possibly two of them if the @@ -505,11 +520,16 @@ case "$host_os" in aix3*) library_names_spec='$libname.a' ;; - aix4* | aix5*) + aix[4-9]*) library_names_spec='$libname$shrext' ;; amigaos*) - library_names_spec='$libname.a' + case "$host_cpu" in + powerpc*) + library_names_spec='$libname$shrext' ;; + m68k) + library_names_spec='$libname.a' ;; + esac ;; beos*) library_names_spec='$libname$shrext' @@ -517,7 +537,7 @@ case "$host_os" in bsdi[45]*) library_names_spec='$libname$shrext' ;; - cygwin* | mingw* | pw32*) + cygwin* | mingw* | pw32* | cegcc*) shrext=.dll library_names_spec='$libname.dll.a $libname.lib' ;; @@ -528,8 +548,6 @@ case "$host_os" in dgux*) library_names_spec='$libname$shrext' ;; - freebsd1*) - ;; freebsd* | dragonfly*) case "$host_os" in freebsd[123]*) @@ -541,6 +559,9 @@ case "$host_os" in gnu*) library_names_spec='$libname$shrext' ;; + haiku*) + library_names_spec='$libname$shrext' + ;; hpux9* | hpux10* | hpux11*) case $host_cpu in ia64*) @@ -576,7 +597,7 @@ case "$host_os" in ;; linux*oldld* | linux*aout* | linux*coff*) ;; - linux* | k*bsd*-gnu) + linux* | k*bsd*-gnu | kopensolaris*-gnu) library_names_spec='$libname$shrext' ;; knetbsd*-gnu) @@ -588,7 +609,7 @@ case "$host_os" in newsos6) library_names_spec='$libname$shrext' ;; - nto-qnx*) + *nto* | *qnx*) library_names_spec='$libname$shrext' ;; openbsd*) @@ -619,6 +640,9 @@ case "$host_os" in sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) library_names_spec='$libname$shrext' ;; + tpf*) + library_names_spec='$libname$shrext' + ;; uts4*) library_names_spec='$libname$shrext' ;; diff --git a/config/depcomp b/config/depcomp new file mode 100755 index 00000000..4ebd5b3a --- /dev/null +++ b/config/depcomp @@ -0,0 +1,791 @@ +#! /bin/sh +# depcomp - compile a program generating dependencies as side-effects + +scriptversion=2013-05-30.07; # UTC + +# Copyright (C) 1999-2013 Free Software Foundation, Inc. + +# This program 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. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>. + +case $1 in + '') + echo "$0: No command. Try '$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: depcomp [--help] [--version] PROGRAM [ARGS] + +Run PROGRAMS ARGS to compile a file, generating dependencies +as side-effects. + +Environment variables: + depmode Dependency tracking mode. + source Source file read by 'PROGRAMS ARGS'. + object Object file output by 'PROGRAMS ARGS'. + DEPDIR directory where to store dependencies. + depfile Dependency file to output. + tmpdepfile Temporary file to use when outputting dependencies. + libtool Whether libtool is used (yes/no). + +Report bugs to <bug-automake@gnu.org>. +EOF + exit $? + ;; + -v | --v*) + echo "depcomp $scriptversion" + exit $? + ;; +esac + +# Get the directory component of the given path, and save it in the +# global variables '$dir'. Note that this directory component will +# be either empty or ending with a '/' character. This is deliberate. +set_dir_from () +{ + case $1 in + */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;; + *) dir=;; + esac +} + +# Get the suffix-stripped basename of the given path, and save it the +# global variable '$base'. +set_base_from () +{ + base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'` +} + +# If no dependency file was actually created by the compiler invocation, +# we still have to create a dummy depfile, to avoid errors with the +# Makefile "include basename.Plo" scheme. +make_dummy_depfile () +{ + echo "#dummy" > "$depfile" +} + +# Factor out some common post-processing of the generated depfile. +# Requires the auxiliary global variable '$tmpdepfile' to be set. +aix_post_process_depfile () +{ + # If the compiler actually managed to produce a dependency file, + # post-process it. + if test -f "$tmpdepfile"; then + # Each line is of the form 'foo.o: dependency.h'. + # Do two passes, one to just change these to + # $object: dependency.h + # and one to simply output + # dependency.h: + # which is needed to avoid the deleted-header problem. + { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile" + sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile" + } > "$depfile" + rm -f "$tmpdepfile" + else + make_dummy_depfile + fi +} + +# A tabulation character. +tab=' ' +# A newline character. +nl=' +' +# Character ranges might be problematic outside the C locale. +# These definitions help. +upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ +lower=abcdefghijklmnopqrstuvwxyz +digits=0123456789 +alpha=${upper}${lower} + +if test -z "$depmode" || test -z "$source" || test -z "$object"; then + echo "depcomp: Variables source, object and depmode must be set" 1>&2 + exit 1 +fi + +# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. +depfile=${depfile-`echo "$object" | + sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} +tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} + +rm -f "$tmpdepfile" + +# Avoid interferences from the environment. +gccflag= dashmflag= + +# Some modes work just like other modes, but use different flags. We +# parameterize here, but still list the modes in the big case below, +# to make depend.m4 easier to write. Note that we *cannot* use a case +# here, because this file can only contain one case statement. +if test "$depmode" = hp; then + # HP compiler uses -M and no extra arg. + gccflag=-M + depmode=gcc +fi + +if test "$depmode" = dashXmstdout; then + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout +fi + +cygpath_u="cygpath -u -f -" +if test "$depmode" = msvcmsys; then + # This is just like msvisualcpp but w/o cygpath translation. + # Just convert the backslash-escaped backslashes to single forward + # slashes to satisfy depend.m4 + cygpath_u='sed s,\\\\,/,g' + depmode=msvisualcpp +fi + +if test "$depmode" = msvc7msys; then + # This is just like msvc7 but w/o cygpath translation. + # Just convert the backslash-escaped backslashes to single forward + # slashes to satisfy depend.m4 + cygpath_u='sed s,\\\\,/,g' + depmode=msvc7 +fi + +if test "$depmode" = xlc; then + # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. + gccflag=-qmakedep=gcc,-MF + depmode=gcc +fi + +case "$depmode" in +gcc3) +## gcc 3 implements dependency tracking that does exactly what +## we want. Yay! Note: for some reason libtool 1.4 doesn't like +## it if -MD -MP comes after the -MF stuff. Hmm. +## Unfortunately, FreeBSD c89 acceptance of flags depends upon +## the command line argument order; so add the flags where they +## appear in depend2.am. Note that the slowdown incurred here +## affects only configure: in makefiles, %FASTDEP% shortcuts this. + for arg + do + case $arg in + -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; + *) set fnord "$@" "$arg" ;; + esac + shift # fnord + shift # $arg + done + "$@" + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + mv "$tmpdepfile" "$depfile" + ;; + +gcc) +## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. +## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. +## (see the conditional assignment to $gccflag above). +## There are various ways to get dependency output from gcc. Here's +## why we pick this rather obscure method: +## - Don't want to use -MD because we'd like the dependencies to end +## up in a subdir. Having to rename by hand is ugly. +## (We might end up doing this anyway to support other compilers.) +## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like +## -MM, not -M (despite what the docs say). Also, it might not be +## supported by the other compilers which use the 'gcc' depmode. +## - Using -M directly means running the compiler twice (even worse +## than renaming). + if test -z "$gccflag"; then + gccflag=-MD, + fi + "$@" -Wp,"$gccflag$tmpdepfile" + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + # The second -e expression handles DOS-style file names with drive + # letters. + sed -e 's/^[^:]*: / /' \ + -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" +## This next piece of magic avoids the "deleted header file" problem. +## The problem is that when a header file which appears in a .P file +## is deleted, the dependency causes make to die (because there is +## typically no way to rebuild the header). We avoid this by adding +## dummy dependencies for each header file. Too bad gcc doesn't do +## this for us directly. +## Some versions of gcc put a space before the ':'. On the theory +## that the space means something, we add a space to the output as +## well. hp depmode also adds that space, but also prefixes the VPATH +## to the object. Take care to not repeat it in the output. +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +sgi) + if test "$libtool" = yes; then + "$@" "-Wp,-MDupdate,$tmpdepfile" + else + "$@" -MDupdate "$tmpdepfile" + fi + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + + if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files + echo "$object : \\" > "$depfile" + # Clip off the initial element (the dependent). Don't try to be + # clever and replace this with sed code, as IRIX sed won't handle + # lines with more than a fixed number of characters (4096 in + # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; + # the IRIX cc adds comments like '#:fec' to the end of the + # dependency line. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \ + | tr "$nl" ' ' >> "$depfile" + echo >> "$depfile" + # The second pass generates a dummy entry for each header file. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> "$depfile" + else + make_dummy_depfile + fi + rm -f "$tmpdepfile" + ;; + +xlc) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +aix) + # The C for AIX Compiler uses -M and outputs the dependencies + # in a .u file. In older versions, this file always lives in the + # current directory. Also, the AIX compiler puts '$object:' at the + # start of each line; $object doesn't have directory information. + # Version 6 uses the directory in both cases. + set_dir_from "$object" + set_base_from "$object" + if test "$libtool" = yes; then + tmpdepfile1=$dir$base.u + tmpdepfile2=$base.u + tmpdepfile3=$dir.libs/$base.u + "$@" -Wc,-M + else + tmpdepfile1=$dir$base.u + tmpdepfile2=$dir$base.u + tmpdepfile3=$dir$base.u + "$@" -M + fi + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + do + test -f "$tmpdepfile" && break + done + aix_post_process_depfile + ;; + +tcc) + # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26 + # FIXME: That version still under development at the moment of writing. + # Make that this statement remains true also for stable, released + # versions. + # It will wrap lines (doesn't matter whether long or short) with a + # trailing '\', as in: + # + # foo.o : \ + # foo.c \ + # foo.h \ + # + # It will put a trailing '\' even on the last line, and will use leading + # spaces rather than leading tabs (at least since its commit 0394caf7 + # "Emit spaces for -MD"). + "$@" -MD -MF "$tmpdepfile" + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'. + # We have to change lines of the first kind to '$object: \'. + sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile" + # And for each line of the second kind, we have to emit a 'dep.h:' + # dummy dependency, to avoid the deleted-header problem. + sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile" + rm -f "$tmpdepfile" + ;; + +## The order of this option in the case statement is important, since the +## shell code in configure will try each of these formats in the order +## listed in this file. A plain '-MD' option would be understood by many +## compilers, so we must ensure this comes after the gcc and icc options. +pgcc) + # Portland's C compiler understands '-MD'. + # Will always output deps to 'file.d' where file is the root name of the + # source file under compilation, even if file resides in a subdirectory. + # The object file name does not affect the name of the '.d' file. + # pgcc 10.2 will output + # foo.o: sub/foo.c sub/foo.h + # and will wrap long lines using '\' : + # foo.o: sub/foo.c ... \ + # sub/foo.h ... \ + # ... + set_dir_from "$object" + # Use the source, not the object, to determine the base name, since + # that's sadly what pgcc will do too. + set_base_from "$source" + tmpdepfile=$base.d + + # For projects that build the same source file twice into different object + # files, the pgcc approach of using the *source* file root name can cause + # problems in parallel builds. Use a locking strategy to avoid stomping on + # the same $tmpdepfile. + lockdir=$base.d-lock + trap " + echo '$0: caught signal, cleaning up...' >&2 + rmdir '$lockdir' + exit 1 + " 1 2 13 15 + numtries=100 + i=$numtries + while test $i -gt 0; do + # mkdir is a portable test-and-set. + if mkdir "$lockdir" 2>/dev/null; then + # This process acquired the lock. + "$@" -MD + stat=$? + # Release the lock. + rmdir "$lockdir" + break + else + # If the lock is being held by a different process, wait + # until the winning process is done or we timeout. + while test -d "$lockdir" && test $i -gt 0; do + sleep 1 + i=`expr $i - 1` + done + fi + i=`expr $i - 1` + done + trap - 1 2 13 15 + if test $i -le 0; then + echo "$0: failed to acquire lock after $numtries attempts" >&2 + echo "$0: check lockdir '$lockdir'" >&2 + exit 1 + fi + + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each line is of the form `foo.o: dependent.h', + # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \ + | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp2) + # The "hp" stanza above does not work with aCC (C++) and HP's ia64 + # compilers, which have integrated preprocessors. The correct option + # to use with these is +Maked; it writes dependencies to a file named + # 'foo.d', which lands next to the object file, wherever that + # happens to be. + # Much of this is similar to the tru64 case; see comments there. + set_dir_from "$object" + set_base_from "$object" + if test "$libtool" = yes; then + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir.libs/$base.d + "$@" -Wc,+Maked + else + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir$base.d + "$@" +Maked + fi + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile1" "$tmpdepfile2" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" + do + test -f "$tmpdepfile" && break + done + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile" + # Add 'dependent.h:' lines. + sed -ne '2,${ + s/^ *// + s/ \\*$// + s/$/:/ + p + }' "$tmpdepfile" >> "$depfile" + else + make_dummy_depfile + fi + rm -f "$tmpdepfile" "$tmpdepfile2" + ;; + +tru64) + # The Tru64 compiler uses -MD to generate dependencies as a side + # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in 'foo.d' instead, so we check for that too. + # Subdirectories are respected. + set_dir_from "$object" + set_base_from "$object" + + if test "$libtool" = yes; then + # Libtool generates 2 separate objects for the 2 libraries. These + # two compilations output dependencies in $dir.libs/$base.o.d and + # in $dir$base.o.d. We have to check for both files, because + # one of the two compilations can be disabled. We should prefer + # $dir$base.o.d over $dir.libs/$base.o.d because the latter is + # automatically cleaned when .libs/ is deleted, while ignoring + # the former would cause a distcleancheck panic. + tmpdepfile1=$dir$base.o.d # libtool 1.5 + tmpdepfile2=$dir.libs/$base.o.d # Likewise. + tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504 + "$@" -Wc,-MD + else + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir$base.d + tmpdepfile3=$dir$base.d + "$@" -MD + fi + + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + do + test -f "$tmpdepfile" && break + done + # Same post-processing that is required for AIX mode. + aix_post_process_depfile + ;; + +msvc7) + if test "$libtool" = yes; then + showIncludes=-Wc,-showIncludes + else + showIncludes=-showIncludes + fi + "$@" $showIncludes > "$tmpdepfile" + stat=$? + grep -v '^Note: including file: ' "$tmpdepfile" + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + # The first sed program below extracts the file names and escapes + # backslashes for cygpath. The second sed program outputs the file + # name when reading, but also accumulates all include files in the + # hold buffer in order to output them again at the end. This only + # works with sed implementations that can handle large buffers. + sed < "$tmpdepfile" -n ' +/^Note: including file: *\(.*\)/ { + s//\1/ + s/\\/\\\\/g + p +}' | $cygpath_u | sort -u | sed -n ' +s/ /\\ /g +s/\(.*\)/'"$tab"'\1 \\/p +s/.\(.*\) \\/\1:/ +H +$ { + s/.*/'"$tab"'/ + G + p +}' >> "$depfile" + echo >> "$depfile" # make sure the fragment doesn't end with a backslash + rm -f "$tmpdepfile" + ;; + +msvc7msys) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +#nosideeffect) + # This comment above is used by automake to tell side-effect + # dependency tracking mechanisms from slower ones. + +dashmstdout) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + + # Remove '-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + test -z "$dashmflag" && dashmflag=-M + # Require at least two characters before searching for ':' + # in the target name. This is to cope with DOS-style filenames: + # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. + "$@" $dashmflag | + sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this sed invocation + # correctly. Breaking it into two sed invocations is a workaround. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +dashXmstdout) + # This case only exists to satisfy depend.m4. It is never actually + # run, as this mode is specially recognized in the preamble. + exit 1 + ;; + +makedepend) + "$@" || exit $? + # Remove any Libtool call + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + # X makedepend + shift + cleared=no eat=no + for arg + do + case $cleared in + no) + set ""; shift + cleared=yes ;; + esac + if test $eat = yes; then + eat=no + continue + fi + case "$arg" in + -D*|-I*) + set fnord "$@" "$arg"; shift ;; + # Strip any option that makedepend may not understand. Remove + # the object too, otherwise makedepend will parse it as a source file. + -arch) + eat=yes ;; + -*|$object) + ;; + *) + set fnord "$@" "$arg"; shift ;; + esac + done + obj_suffix=`echo "$object" | sed 's/^.*\././'` + touch "$tmpdepfile" + ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" + rm -f "$depfile" + # makedepend may prepend the VPATH from the source file name to the object. + # No need to regex-escape $object, excess matching of '.' is harmless. + sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process the last invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed '1,2d' "$tmpdepfile" \ + | tr ' ' "$nl" \ + | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" "$tmpdepfile".bak + ;; + +cpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + + # Remove '-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + "$@" -E \ + | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ + -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ + | sed '$ s: \\$::' > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + cat < "$tmpdepfile" >> "$depfile" + sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvisualcpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + + IFS=" " + for arg + do + case "$arg" in + -o) + shift + ;; + $object) + shift + ;; + "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") + set fnord "$@" + shift + shift + ;; + *) + set fnord "$@" "$arg" + shift + shift + ;; + esac + done + "$@" -E 2>/dev/null | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" + echo "$tab" >> "$depfile" + sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvcmsys) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +none) + exec "$@" + ;; + +*) + echo "Unknown depmode $depmode" 1>&2 + exit 1 + ;; +esac + +exit 0 + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: diff --git a/config/install-sh b/config/install-sh new file mode 100755 index 00000000..377bb868 --- /dev/null +++ b/config/install-sh @@ -0,0 +1,527 @@ +#!/bin/sh +# install - install a program, script, or datafile + +scriptversion=2011-11-20.07; # UTC + +# This originates from X11R5 (mit/util/scripts/install.sh), which was +# later released in X11R6 (xc/config/util/install.sh) with the +# following copyright and license. +# +# Copyright (C) 1994 X Consortium +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- +# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of the X Consortium shall not +# be used in advertising or otherwise to promote the sale, use or other deal- +# ings in this Software without prior written authorization from the X Consor- +# tium. +# +# +# FSF changes to this file are in the public domain. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# 'make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. + +nl=' +' +IFS=" "" $nl" + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit=${DOITPROG-} +if test -z "$doit"; then + doit_exec=exec +else + doit_exec=$doit +fi + +# Put in absolute file names if you don't have them in your path; +# or use environment vars. + +chgrpprog=${CHGRPPROG-chgrp} +chmodprog=${CHMODPROG-chmod} +chownprog=${CHOWNPROG-chown} +cmpprog=${CMPPROG-cmp} +cpprog=${CPPROG-cp} +mkdirprog=${MKDIRPROG-mkdir} +mvprog=${MVPROG-mv} +rmprog=${RMPROG-rm} +stripprog=${STRIPPROG-strip} + +posix_glob='?' +initialize_posix_glob=' + test "$posix_glob" != "?" || { + if (set -f) 2>/dev/null; then + posix_glob= + else + posix_glob=: + fi + } +' + +posix_mkdir= + +# Desired mode of installed file. +mode=0755 + +chgrpcmd= +chmodcmd=$chmodprog +chowncmd= +mvcmd=$mvprog +rmcmd="$rmprog -f" +stripcmd= + +src= +dst= +dir_arg= +dst_arg= + +copy_on_change=false +no_target_directory= + +usage="\ +Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE + or: $0 [OPTION]... SRCFILES... DIRECTORY + or: $0 [OPTION]... -t DIRECTORY SRCFILES... + or: $0 [OPTION]... -d DIRECTORIES... + +In the 1st form, copy SRCFILE to DSTFILE. +In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. +In the 4th, create DIRECTORIES. + +Options: + --help display this help and exit. + --version display version info and exit. + + -c (ignored) + -C install only if different (preserve the last data modification time) + -d create directories instead of installing files. + -g GROUP $chgrpprog installed files to GROUP. + -m MODE $chmodprog installed files to MODE. + -o USER $chownprog installed files to USER. + -s $stripprog installed files. + -t DIRECTORY install into DIRECTORY. + -T report an error if DSTFILE is a directory. + +Environment variables override the default commands: + CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG + RMPROG STRIPPROG +" + +while test $# -ne 0; do + case $1 in + -c) ;; + + -C) copy_on_change=true;; + + -d) dir_arg=true;; + + -g) chgrpcmd="$chgrpprog $2" + shift;; + + --help) echo "$usage"; exit $?;; + + -m) mode=$2 + case $mode in + *' '* | *' '* | *' +'* | *'*'* | *'?'* | *'['*) + echo "$0: invalid mode: $mode" >&2 + exit 1;; + esac + shift;; + + -o) chowncmd="$chownprog $2" + shift;; + + -s) stripcmd=$stripprog;; + + -t) dst_arg=$2 + # Protect names problematic for 'test' and other utilities. + case $dst_arg in + -* | [=\(\)!]) dst_arg=./$dst_arg;; + esac + shift;; + + -T) no_target_directory=true;; + + --version) echo "$0 $scriptversion"; exit $?;; + + --) shift + break;; + + -*) echo "$0: invalid option: $1" >&2 + exit 1;; + + *) break;; + esac + shift +done + +if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then + # When -d is used, all remaining arguments are directories to create. + # When -t is used, the destination is already specified. + # Otherwise, the last argument is the destination. Remove it from $@. + for arg + do + if test -n "$dst_arg"; then + # $@ is not empty: it contains at least $arg. + set fnord "$@" "$dst_arg" + shift # fnord + fi + shift # arg + dst_arg=$arg + # Protect names problematic for 'test' and other utilities. + case $dst_arg in + -* | [=\(\)!]) dst_arg=./$dst_arg;; + esac + done +fi + +if test $# -eq 0; then + if test -z "$dir_arg"; then + echo "$0: no input file specified." >&2 + exit 1 + fi + # It's OK to call 'install-sh -d' without argument. + # This can happen when creating conditional directories. + exit 0 +fi + +if test -z "$dir_arg"; then + do_exit='(exit $ret); exit $ret' + trap "ret=129; $do_exit" 1 + trap "ret=130; $do_exit" 2 + trap "ret=141; $do_exit" 13 + trap "ret=143; $do_exit" 15 + + # Set umask so as not to create temps with too-generous modes. + # However, 'strip' requires both read and write access to temps. + case $mode in + # Optimize common cases. + *644) cp_umask=133;; + *755) cp_umask=22;; + + *[0-7]) + if test -z "$stripcmd"; then + u_plus_rw= + else + u_plus_rw='% 200' + fi + cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; + *) + if test -z "$stripcmd"; then + u_plus_rw= + else + u_plus_rw=,u+rw + fi + cp_umask=$mode$u_plus_rw;; + esac +fi + +for src +do + # Protect names problematic for 'test' and other utilities. + case $src in + -* | [=\(\)!]) src=./$src;; + esac + + if test -n "$dir_arg"; then + dst=$src + dstdir=$dst + test -d "$dstdir" + dstdir_status=$? + else + + # Waiting for this to be detected by the "$cpprog $src $dsttmp" command + # might cause directories to be created, which would be especially bad + # if $src (and thus $dsttmp) contains '*'. + if test ! -f "$src" && test ! -d "$src"; then + echo "$0: $src does not exist." >&2 + exit 1 + fi + + if test -z "$dst_arg"; then + echo "$0: no destination specified." >&2 + exit 1 + fi + dst=$dst_arg + + # If destination is a directory, append the input filename; won't work + # if double slashes aren't ignored. + if test -d "$dst"; then + if test -n "$no_target_directory"; then + echo "$0: $dst_arg: Is a directory" >&2 + exit 1 + fi + dstdir=$dst + dst=$dstdir/`basename "$src"` + dstdir_status=0 + else + # Prefer dirname, but fall back on a substitute if dirname fails. + dstdir=` + (dirname "$dst") 2>/dev/null || + expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$dst" : 'X\(//\)[^/]' \| \ + X"$dst" : 'X\(//\)$' \| \ + X"$dst" : 'X\(/\)' \| . 2>/dev/null || + echo X"$dst" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q' + ` + + test -d "$dstdir" + dstdir_status=$? + fi + fi + + obsolete_mkdir_used=false + + if test $dstdir_status != 0; then + case $posix_mkdir in + '') + # Create intermediate dirs using mode 755 as modified by the umask. + # This is like FreeBSD 'install' as of 1997-10-28. + umask=`umask` + case $stripcmd.$umask in + # Optimize common cases. + *[2367][2367]) mkdir_umask=$umask;; + .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; + + *[0-7]) + mkdir_umask=`expr $umask + 22 \ + - $umask % 100 % 40 + $umask % 20 \ + - $umask % 10 % 4 + $umask % 2 + `;; + *) mkdir_umask=$umask,go-w;; + esac + + # With -d, create the new directory with the user-specified mode. + # Otherwise, rely on $mkdir_umask. + if test -n "$dir_arg"; then + mkdir_mode=-m$mode + else + mkdir_mode= + fi + + posix_mkdir=false + case $umask in + *[123567][0-7][0-7]) + # POSIX mkdir -p sets u+wx bits regardless of umask, which + # is incompatible with FreeBSD 'install' when (umask & 300) != 0. + ;; + *) + tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ + trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 + + if (umask $mkdir_umask && + exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 + then + if test -z "$dir_arg" || { + # Check for POSIX incompatibilities with -m. + # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or + # other-writable bit of parent directory when it shouldn't. + # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. + ls_ld_tmpdir=`ls -ld "$tmpdir"` + case $ls_ld_tmpdir in + d????-?r-*) different_mode=700;; + d????-?--*) different_mode=755;; + *) false;; + esac && + $mkdirprog -m$different_mode -p -- "$tmpdir" && { + ls_ld_tmpdir_1=`ls -ld "$tmpdir"` + test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" + } + } + then posix_mkdir=: + fi + rmdir "$tmpdir/d" "$tmpdir" + else + # Remove any dirs left behind by ancient mkdir implementations. + rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null + fi + trap '' 0;; + esac;; + esac + + if + $posix_mkdir && ( + umask $mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" + ) + then : + else + + # The umask is ridiculous, or mkdir does not conform to POSIX, + # or it failed possibly due to a race condition. Create the + # directory the slow way, step by step, checking for races as we go. + + case $dstdir in + /*) prefix='/';; + [-=\(\)!]*) prefix='./';; + *) prefix='';; + esac + + eval "$initialize_posix_glob" + + oIFS=$IFS + IFS=/ + $posix_glob set -f + set fnord $dstdir + shift + $posix_glob set +f + IFS=$oIFS + + prefixes= + + for d + do + test X"$d" = X && continue + + prefix=$prefix$d + if test -d "$prefix"; then + prefixes= + else + if $posix_mkdir; then + (umask=$mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break + # Don't fail if two instances are running concurrently. + test -d "$prefix" || exit 1 + else + case $prefix in + *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; + *) qprefix=$prefix;; + esac + prefixes="$prefixes '$qprefix'" + fi + fi + prefix=$prefix/ + done + + if test -n "$prefixes"; then + # Don't fail if two instances are running concurrently. + (umask $mkdir_umask && + eval "\$doit_exec \$mkdirprog $prefixes") || + test -d "$dstdir" || exit 1 + obsolete_mkdir_used=true + fi + fi + fi + + if test -n "$dir_arg"; then + { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && + { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && + { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || + test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 + else + + # Make a couple of temp file names in the proper directory. + dsttmp=$dstdir/_inst.$$_ + rmtmp=$dstdir/_rm.$$_ + + # Trap to clean up those temp files at exit. + trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 + + # Copy the file name to the temp name. + (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && + + # and set any options; do chmod last to preserve setuid bits. + # + # If any of these fail, we abort the whole thing. If we want to + # ignore errors from any of these, just make sure not to ignore + # errors from the above "$doit $cpprog $src $dsttmp" command. + # + { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && + { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && + { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && + { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && + + # If -C, don't bother to copy if it wouldn't change the file. + if $copy_on_change && + old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && + new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && + + eval "$initialize_posix_glob" && + $posix_glob set -f && + set X $old && old=:$2:$4:$5:$6 && + set X $new && new=:$2:$4:$5:$6 && + $posix_glob set +f && + + test "$old" = "$new" && + $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 + then + rm -f "$dsttmp" + else + # Rename the file to the real destination. + $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || + + # The rename failed, perhaps because mv can't rename something else + # to itself, or perhaps because mv is so ancient that it does not + # support -f. + { + # Now remove or move aside any old file at destination location. + # We try this two ways since rm can't unlink itself on some + # systems and the destination file might be busy for other + # reasons. In this case, the final cleanup might fail but the new + # file should still install successfully. + { + test ! -f "$dst" || + $doit $rmcmd -f "$dst" 2>/dev/null || + { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && + { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } + } || + { echo "$0: cannot unlink or rename $dst" >&2 + (exit 1); exit 1 + } + } && + + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dst" + } + fi || exit 1 + + trap '' 0 + fi +done + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: diff --git a/config/missing b/config/missing new file mode 100755 index 00000000..db98974f --- /dev/null +++ b/config/missing @@ -0,0 +1,215 @@ +#! /bin/sh +# Common wrapper for a few potentially missing GNU programs. + +scriptversion=2013-10-28.13; # UTC + +# Copyright (C) 1996-2013 Free Software Foundation, Inc. +# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. + +# This program 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. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +if test $# -eq 0; then + echo 1>&2 "Try '$0 --help' for more information" + exit 1 +fi + +case $1 in + + --is-lightweight) + # Used by our autoconf macros to check whether the available missing + # script is modern enough. + exit 0 + ;; + + --run) + # Back-compat with the calling convention used by older automake. + shift + ;; + + -h|--h|--he|--hel|--help) + echo "\ +$0 [OPTION]... PROGRAM [ARGUMENT]... + +Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due +to PROGRAM being missing or too old. + +Options: + -h, --help display this help and exit + -v, --version output version information and exit + +Supported PROGRAM values: + aclocal autoconf autoheader autom4te automake makeinfo + bison yacc flex lex help2man + +Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and +'g' are ignored when checking the name. + +Send bug reports to <bug-automake@gnu.org>." + exit $? + ;; + + -v|--v|--ve|--ver|--vers|--versi|--versio|--version) + echo "missing $scriptversion (GNU Automake)" + exit $? + ;; + + -*) + echo 1>&2 "$0: unknown '$1' option" + echo 1>&2 "Try '$0 --help' for more information" + exit 1 + ;; + +esac + +# Run the given program, remember its exit status. +"$@"; st=$? + +# If it succeeded, we are done. +test $st -eq 0 && exit 0 + +# Also exit now if we it failed (or wasn't found), and '--version' was +# passed; such an option is passed most likely to detect whether the +# program is present and works. +case $2 in --version|--help) exit $st;; esac + +# Exit code 63 means version mismatch. This often happens when the user +# tries to use an ancient version of a tool on a file that requires a +# minimum version. +if test $st -eq 63; then + msg="probably too old" +elif test $st -eq 127; then + # Program was missing. + msg="missing on your system" +else + # Program was found and executed, but failed. Give up. + exit $st +fi + +perl_URL=http://www.perl.org/ +flex_URL=http://flex.sourceforge.net/ +gnu_software_URL=http://www.gnu.org/software + +program_details () +{ + case $1 in + aclocal|automake) + echo "The '$1' program is part of the GNU Automake package:" + echo "<$gnu_software_URL/automake>" + echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" + echo "<$gnu_software_URL/autoconf>" + echo "<$gnu_software_URL/m4/>" + echo "<$perl_URL>" + ;; + autoconf|autom4te|autoheader) + echo "The '$1' program is part of the GNU Autoconf package:" + echo "<$gnu_software_URL/autoconf/>" + echo "It also requires GNU m4 and Perl in order to run:" + echo "<$gnu_software_URL/m4/>" + echo "<$perl_URL>" + ;; + esac +} + +give_advice () +{ + # Normalize program name to check for. + normalized_program=`echo "$1" | sed ' + s/^gnu-//; t + s/^gnu//; t + s/^g//; t'` + + printf '%s\n' "'$1' is $msg." + + configure_deps="'configure.ac' or m4 files included by 'configure.ac'" + case $normalized_program in + autoconf*) + echo "You should only need it if you modified 'configure.ac'," + echo "or m4 files included by it." + program_details 'autoconf' + ;; + autoheader*) + echo "You should only need it if you modified 'acconfig.h' or" + echo "$configure_deps." + program_details 'autoheader' + ;; + automake*) + echo "You should only need it if you modified 'Makefile.am' or" + echo "$configure_deps." + program_details 'automake' + ;; + aclocal*) + echo "You should only need it if you modified 'acinclude.m4' or" + echo "$configure_deps." + program_details 'aclocal' + ;; + autom4te*) + echo "You might have modified some maintainer files that require" + echo "the 'autom4te' program to be rebuilt." + program_details 'autom4te' + ;; + bison*|yacc*) + echo "You should only need it if you modified a '.y' file." + echo "You may want to install the GNU Bison package:" + echo "<$gnu_software_URL/bison/>" + ;; + lex*|flex*) + echo "You should only need it if you modified a '.l' file." + echo "You may want to install the Fast Lexical Analyzer package:" + echo "<$flex_URL>" + ;; + help2man*) + echo "You should only need it if you modified a dependency" \ + "of a man page." + echo "You may want to install the GNU Help2man package:" + echo "<$gnu_software_URL/help2man/>" + ;; + makeinfo*) + echo "You should only need it if you modified a '.texi' file, or" + echo "any other file indirectly affecting the aspect of the manual." + echo "You might want to install the Texinfo package:" + echo "<$gnu_software_URL/texinfo/>" + echo "The spurious makeinfo call might also be the consequence of" + echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" + echo "want to install GNU make:" + echo "<$gnu_software_URL/make/>" + ;; + *) + echo "You might have modified some files without having the proper" + echo "tools for further handling them. Check the 'README' file, it" + echo "often tells you about the needed prerequisites for installing" + echo "this package. You may also peek at any GNU archive site, in" + echo "case some other package contains this missing '$1' program." + ;; + esac +} + +give_advice "$1" | sed -e '1s/^/WARNING: /' \ + -e '2,$s/^/ /' >&2 + +# Propagate the correct exit status (expected to be 127 for a program +# not found, 63 for a program that failed due to version mismatch). +exit $st + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: diff --git a/config/test-driver b/config/test-driver new file mode 100755 index 00000000..d3060566 --- /dev/null +++ b/config/test-driver @@ -0,0 +1,139 @@ +#! /bin/sh +# test-driver - basic testsuite driver script. + +scriptversion=2013-07-13.22; # UTC + +# Copyright (C) 2011-2013 Free Software Foundation, Inc. +# +# This program 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. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# This file is maintained in Automake, please report +# bugs to <bug-automake@gnu.org> or send patches to +# <automake-patches@gnu.org>. + +# Make unconditional expansion of undefined variables an error. This +# helps a lot in preventing typo-related bugs. +set -u + +usage_error () +{ + echo "$0: $*" >&2 + print_usage >&2 + exit 2 +} + +print_usage () +{ + cat <<END +Usage: + test-driver --test-name=NAME --log-file=PATH --trs-file=PATH + [--expect-failure={yes|no}] [--color-tests={yes|no}] + [--enable-hard-errors={yes|no}] [--] + TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS] +The '--test-name', '--log-file' and '--trs-file' options are mandatory. +END +} + +test_name= # Used for reporting. +log_file= # Where to save the output of the test script. +trs_file= # Where to save the metadata of the test run. +expect_failure=no +color_tests=no +enable_hard_errors=yes +while test $# -gt 0; do + case $1 in + --help) print_usage; exit $?;; + --version) echo "test-driver $scriptversion"; exit $?;; + --test-name) test_name=$2; shift;; + --log-file) log_file=$2; shift;; + --trs-file) trs_file=$2; shift;; + --color-tests) color_tests=$2; shift;; + --expect-failure) expect_failure=$2; shift;; + --enable-hard-errors) enable_hard_errors=$2; shift;; + --) shift; break;; + -*) usage_error "invalid option: '$1'";; + *) break;; + esac + shift +done + +missing_opts= +test x"$test_name" = x && missing_opts="$missing_opts --test-name" +test x"$log_file" = x && missing_opts="$missing_opts --log-file" +test x"$trs_file" = x && missing_opts="$missing_opts --trs-file" +if test x"$missing_opts" != x; then + usage_error "the following mandatory options are missing:$missing_opts" +fi + +if test $# -eq 0; then + usage_error "missing argument" +fi + +if test $color_tests = yes; then + # Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'. + red='[0;31m' # Red. + grn='[0;32m' # Green. + lgn='[1;32m' # Light green. + blu='[1;34m' # Blue. + mgn='[0;35m' # Magenta. + std='[m' # No color. +else + red= grn= lgn= blu= mgn= std= +fi + +do_exit='rm -f $log_file $trs_file; (exit $st); exit $st' +trap "st=129; $do_exit" 1 +trap "st=130; $do_exit" 2 +trap "st=141; $do_exit" 13 +trap "st=143; $do_exit" 15 + +# Test script is run here. +"$@" >$log_file 2>&1 +estatus=$? +if test $enable_hard_errors = no && test $estatus -eq 99; then + estatus=1 +fi + +case $estatus:$expect_failure in + 0:yes) col=$red res=XPASS recheck=yes gcopy=yes;; + 0:*) col=$grn res=PASS recheck=no gcopy=no;; + 77:*) col=$blu res=SKIP recheck=no gcopy=yes;; + 99:*) col=$mgn res=ERROR recheck=yes gcopy=yes;; + *:yes) col=$lgn res=XFAIL recheck=no gcopy=yes;; + *:*) col=$red res=FAIL recheck=yes gcopy=yes;; +esac + +# Report outcome to console. +echo "${col}${res}${std}: $test_name" + +# Register the test result, and other relevant metadata. +echo ":test-result: $res" > $trs_file +echo ":global-test-result: $res" >> $trs_file +echo ":recheck: $recheck" >> $trs_file +echo ":copy-in-global-log: $gcopy" >> $trs_file + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: diff --git a/configure b/configure new file mode 100755 index 00000000..d58618be --- /dev/null +++ b/configure @@ -0,0 +1,10699 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.69 for yasm 1.3.0. +# +# Report bugs to <bug-yasm@tortall.net>. +# +# +# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. +# +# +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# Use a proper internal environment variable to ensure we don't fall + # into an infinite loop, continuously re-executing ourselves. + if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then + _as_can_reexec=no; export _as_can_reexec; + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +as_fn_exit 255 + fi + # We don't want this to propagate to other subprocesses. + { _as_can_reexec=; unset _as_can_reexec;} +if test "x$CONFIG_SHELL" = x; then + as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi +" + as_required="as_fn_return () { (exit \$1); } +as_fn_success () { as_fn_return 0; } +as_fn_failure () { as_fn_return 1; } +as_fn_ret_success () { return 0; } +as_fn_ret_failure () { return 1; } + +exitcode=0 +as_fn_success || { exitcode=1; echo as_fn_success failed.; } +as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } +as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } +as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } +if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : + +else + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +test -x / || exit 1" + as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO + as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO + eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 +test \$(( 1 + 1 )) = 2 || exit 1" + if (eval "$as_required") 2>/dev/null; then : + as_have_required=yes +else + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : + +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + as_found=: + case $as_dir in #( + /*) + for as_base in sh bash ksh sh5; do + # Try only shells that exist, to save several forks. + as_shell=$as_dir/$as_base + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : + CONFIG_SHELL=$as_shell as_have_required=yes + if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : + break 2 +fi +fi + done;; + esac + as_found=false +done +$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi; } +IFS=$as_save_IFS + + + if test "x$CONFIG_SHELL" != x; then : + export CONFIG_SHELL + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno; then : + $as_echo "$0: This script requires a shell more modern than all" + $as_echo "$0: the shells that I found on your system." + if test x${ZSH_VERSION+set} = xset ; then + $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" + $as_echo "$0: be upgraded to zsh 4.3.4 or later." + else + $as_echo "$0: Please tell bug-autoconf@gnu.org and +$0: bug-yasm@tortall.net about your system, including any +$0: error possibly output before this message. Then install +$0: a modern shell, or manually run the script under such a +$0: shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + + + as_lineno_1=$LINENO as_lineno_1a=$LINENO + as_lineno_2=$LINENO as_lineno_2a=$LINENO + eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && + test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { + # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have + # already done that, so ensure we don't try to do so again and fall + # in an infinite loop. This has already happened in practice. + _as_can_reexec=no; export _as_can_reexec + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +test -n "$DJDIR" || exec 7<&0 </dev/null +exec 6>&1 + +# Name of the host. +# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= + +# Identity of this package. +PACKAGE_NAME='yasm' +PACKAGE_TARNAME='yasm' +PACKAGE_VERSION='1.3.0' +PACKAGE_STRING='yasm 1.3.0' +PACKAGE_BUGREPORT='bug-yasm@tortall.net' +PACKAGE_URL='' + +# Factoring default headers for most tests. +ac_includes_default="\ +#include <stdio.h> +#ifdef HAVE_SYS_TYPES_H +# include <sys/types.h> +#endif +#ifdef HAVE_SYS_STAT_H +# include <sys/stat.h> +#endif +#ifdef STDC_HEADERS +# include <stdlib.h> +# include <stddef.h> +#else +# ifdef HAVE_STDLIB_H +# include <stdlib.h> +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include <memory.h> +# endif +# include <string.h> +#endif +#ifdef HAVE_STRINGS_H +# include <strings.h> +#endif +#ifdef HAVE_INTTYPES_H +# include <inttypes.h> +#endif +#ifdef HAVE_STDINT_H +# include <stdint.h> +#endif +#ifdef HAVE_UNISTD_H +# include <unistd.h> +#endif" + +gt_needs= +ac_subst_vars='am__EXEEXT_FALSE +am__EXEEXT_TRUE +LTLIBOBJS +LIBOBJS +HAVE_PYTHON_BINDINGS_FALSE +HAVE_PYTHON_BINDINGS_TRUE +HAVE_PYTHON_FALSE +HAVE_PYTHON_TRUE +PYTHON_INCLUDES +pkgpyexecdir +pyexecdir +pkgpythondir +pythondir +PYTHON_PLATFORM +PYTHON_EXEC_PREFIX +PYTHON_PREFIX +PYTHON_VERSION +PYTHON +CPP_FOR_HOST +CCLD_FOR_BUILD +CC_FOR_BUILD +MORE_CFLAGS +GCC +ARCH +POSUB +LTLIBINTL +LIBINTL +INTLLIBS +LTLIBICONV +LIBICONV +INTL_MACOSX_LIBS +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +XGETTEXT_EXTRA_OPTIONS +MSGMERGE +XGETTEXT_015 +XGETTEXT +GMSGFMT_015 +MSGFMT_015 +GMSGFMT +MSGFMT +GETTEXT_MACRO_VERSION +USE_NLS +SED +EGREP +GREP +BUILD_MAN_FALSE +BUILD_MAN_TRUE +XMLTO +RANLIB +ac_ct_AR +AR +LN_S +CPP +am__fastdepCC_FALSE +am__fastdepCC_TRUE +CCDEPMODE +am__nodep +AMDEPBACKSLASH +AMDEP_FALSE +AMDEP_TRUE +am__quote +am__include +DEPDIR +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +MAINT +MAINTAINER_MODE_FALSE +MAINTAINER_MODE_TRUE +AM_BACKSLASH +AM_DEFAULT_VERBOSITY +AM_DEFAULT_V +AM_V +am__untar +am__tar +AMTAR +am__leading_dot +SET_MAKE +AWK +mkdir_p +MKDIR_P +INSTALL_STRIP_PROGRAM +STRIP +install_sh +MAKEINFO +AUTOHEADER +AUTOMAKE +AUTOCONF +ACLOCAL +VERSION +PACKAGE +CYGPATH_W +am__isrc +INSTALL_DATA +INSTALL_SCRIPT +INSTALL_PROGRAM +target_alias +host_alias +build_alias +LIBS +ECHO_T +ECHO_N +ECHO_C +DEFS +mandir +localedir +libdir +psdir +pdfdir +dvidir +htmldir +infodir +docdir +oldincludedir +includedir +localstatedir +sharedstatedir +sysconfdir +datadir +datarootdir +libexecdir +sbindir +bindir +program_transform_name +prefix +exec_prefix +PACKAGE_URL +PACKAGE_BUGREPORT +PACKAGE_STRING +PACKAGE_VERSION +PACKAGE_TARNAME +PACKAGE_NAME +PATH_SEPARATOR +SHELL' +ac_subst_files='' +ac_user_opts=' +enable_option_checking +enable_silent_rules +enable_maintainer_mode +enable_debug +enable_warnerror +enable_profiling +enable_gcov +enable_python +enable_python_bindings +enable_dependency_tracking +with_dmalloc +enable_nls +with_gnu_ld +enable_rpath +with_libiconv_prefix +with_libintl_prefix +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CPP +CC_FOR_BUILD +CCLD_FOR_BUILD +CPP_FOR_HOST +PYTHON' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +ac_unrecognized_opts= +ac_unrecognized_sep= +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *=) ac_optarg= ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=\$ac_optarg ;; + + -without-* | --without-*) + ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) as_fn_error $? "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information" + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + case $ac_envvar in #( + '' | [0-9]* | *[!_$as_cr_alnum]* ) + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; + esac + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + as_fn_error $? "missing argument to $ac_option" +fi + +if test -n "$ac_unrecognized_opts"; then + case $enable_option_checking in + no) ;; + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; + *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; + esac +fi + +# Check all directory arguments for consistency. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + # Remove trailing slashes. + case $ac_val in + */ ) + ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` + eval $ac_var=\$ac_val;; + esac + # Be sure to have absolute directory names. + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + as_fn_error $? "working directory cannot be determined" +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + as_fn_error $? "pwd does not report name of working directory" + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$as_myself" || +$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_myself" : 'X\(//\)[^/]' \| \ + X"$as_myself" : 'X\(//\)$' \| \ + X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_myself" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures yasm 1.3.0 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking ...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/yasm] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of yasm 1.3.0:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-option-checking ignore unrecognized --enable/--with options + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-silent-rules less verbose build output (undo: "make V=1") + --disable-silent-rules verbose build output (undo: "make V=0") + --enable-maintainer-mode + enable make rules and dependencies not useful (and + sometimes confusing) to the casual installer + --enable-debug Turn on debugging and compile time warnings + --enable-warnerror Treat GCC warnings as errors + --enable-profiling Enable profiling (requires GCC) + --enable-gcov Enable gcov code coverage (requires GCC) + --enable-python Enable Python-requiring portions of build + --enable-python-bindings + Build Python bindings + --enable-dependency-tracking + do not reject slow dependency extractors + --disable-dependency-tracking + speeds up one-time build + --disable-nls do not use Native Language Support + --disable-rpath do not hardcode runtime library paths + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-dmalloc use dmalloc, as in http://www.dmalloc.com + --with-gnu-ld assume the C compiler uses GNU ld [default=no] + --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib + --without-libiconv-prefix don't search for libiconv in includedir and libdir + --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib + --without-libintl-prefix don't search for libintl in includedir and libdir + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a + nonstandard directory <lib dir> + LIBS libraries to pass to the linker, e.g. -l<library> + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if + you have headers in a nonstandard directory <include dir> + CPP C preprocessor + CC_FOR_BUILD + build system C compiler + CCLD_FOR_BUILD + build system C linker frontend + CPP_FOR_HOST + host system C preprocessor + PYTHON the Python interpreter + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to <bug-yasm@tortall.net>. +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || + { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || + continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +yasm configure 1.3.0 +generated by GNU Autoconf 2.69 + +Copyright (C) 2012 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi + +## ------------------------ ## +## Autoconf initialization. ## +## ------------------------ ## + +# ac_fn_c_try_compile LINENO +# -------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_compile + +# ac_fn_c_try_cpp LINENO +# ---------------------- +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } > conftest.i && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_cpp + +# ac_fn_c_try_run LINENO +# ---------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes +# that executables *can* be run. +ac_fn_c_try_run () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then : + ac_retval=0 +else + $as_echo "$as_me: program exited with status $ac_status" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=$ac_status +fi + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_run + +# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists, giving a warning if it cannot be compiled using +# the include files in INCLUDES and setting the cache variable VAR +# accordingly. +ac_fn_c_check_header_mongrel () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if eval \${$3+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 +$as_echo_n "checking $2 usability... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_header_compiler=yes +else + ac_header_compiler=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 +$as_echo_n "checking $2 presence... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <$2> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + ac_header_preproc=yes +else + ac_header_preproc=no +fi +rm -f conftest.err conftest.i conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( + yes:no: ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; + no:yes:* ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} +( $as_echo "## ----------------------------------- ## +## Report this to bug-yasm@tortall.net ## +## ----------------------------------- ##" + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=\$ac_header_compiler" +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_mongrel + +# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists and can be compiled using the include files in +# INCLUDES, setting the cache variable VAR accordingly. +ac_fn_c_check_header_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_compile + +# ac_fn_c_check_type LINENO TYPE VAR INCLUDES +# ------------------------------------------- +# Tests whether TYPE exists after having included INCLUDES, setting cache +# variable VAR accordingly. +ac_fn_c_check_type () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=no" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof ($2)) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof (($2))) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + eval "$3=yes" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_type + +# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES +# -------------------------------------------- +# Tries to find the compile-time value of EXPR in a program that includes +# INCLUDES, setting VAR accordingly. Returns whether the value could be +# computed +ac_fn_c_compute_int () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) >= 0)]; +test_array [0] = 0; +return test_array [0]; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_lo=0 ac_mid=0 + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) <= $ac_mid)]; +test_array [0] = 0; +return test_array [0]; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_hi=$ac_mid; break +else + as_fn_arith $ac_mid + 1 && ac_lo=$as_val + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) < 0)]; +test_array [0] = 0; +return test_array [0]; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_hi=-1 ac_mid=-1 + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) >= $ac_mid)]; +test_array [0] = 0; +return test_array [0]; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_lo=$ac_mid; break +else + as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + ac_lo= ac_hi= +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) <= $ac_mid)]; +test_array [0] = 0; +return test_array [0]; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_hi=$ac_mid +else + as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in #(( +?*) eval "$3=\$ac_lo"; ac_retval=0 ;; +'') ac_retval=1 ;; +esac + else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +static long int longval () { return $2; } +static unsigned long int ulongval () { return $2; } +#include <stdio.h> +#include <stdlib.h> +int +main () +{ + + FILE *f = fopen ("conftest.val", "w"); + if (! f) + return 1; + if (($2) < 0) + { + long int i = longval (); + if (i != ($2)) + return 1; + fprintf (f, "%ld", i); + } + else + { + unsigned long int i = ulongval (); + if (i != ($2)) + return 1; + fprintf (f, "%lu", i); + } + /* Do not output a trailing newline, as this causes \r\n confusion + on some platforms. */ + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + echo >>conftest.val; read $3 <conftest.val; ac_retval=0 +else + ac_retval=1 +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f conftest.val + + fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_compute_int + +# ac_fn_c_try_link LINENO +# ----------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_link + +# ac_fn_c_check_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Define $2 to an innocuous variant, in case <limits.h> declares $2. + For example, HP-UX 11i <limits.h> declares gettimeofday. */ +#define $2 innocuous_$2 + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $2 (); below. + Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + <limits.h> exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif + +#undef $2 + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $2 (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$2 || defined __stub___$2 +choke me +#endif + +int +main () +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by yasm $as_me 1.3.0, which was +generated by GNU Autoconf 2.69. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + $as_echo "PATH: $as_dir" + done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; + 2) + as_fn_append ac_configure_args1 " '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + as_fn_append ac_configure_args " '$ac_arg'" + ;; + esac + done +done +{ ac_configure_args0=; unset ac_configure_args0;} +{ ac_configure_args1=; unset ac_configure_args1;} + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + $as_echo "## ---------------- ## +## Cache variables. ## +## ---------------- ##" + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + $as_echo "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + $as_echo "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + $as_echo "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + $as_echo "$as_me: caught signal $ac_signal" + $as_echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +$as_echo "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_URL "$PACKAGE_URL" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +ac_site_file1=NONE +ac_site_file2=NONE +if test -n "$CONFIG_SITE"; then + # We do not want a PATH search for config.site. + case $CONFIG_SITE in #(( + -*) ac_site_file1=./$CONFIG_SITE;; + */*) ac_site_file1=$CONFIG_SITE;; + *) ac_site_file1=./$CONFIG_SITE;; + esac +elif test "x$prefix" != xNONE; then + ac_site_file1=$prefix/share/config.site + ac_site_file2=$prefix/etc/config.site +else + ac_site_file1=$ac_default_prefix/share/config.site + ac_site_file2=$ac_default_prefix/etc/config.site +fi +for ac_site_file in "$ac_site_file1" "$ac_site_file2" +do + test "x$ac_site_file" = xNONE && continue + if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +$as_echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "failed to load site script $ac_site_file +See \`config.log' for more details" "$LINENO" 5; } + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special files + # actually), so we avoid doing that. DJGPP emulates it as a regular file. + if test /dev/null != "$cache_file" && test -f "$cache_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +$as_echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +$as_echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +gt_needs="$gt_needs " +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + # differences in whitespace do not lead to failure. + ac_old_val_w=`echo x $ac_old_val` + ac_new_val_w=`echo x $ac_new_val` + if test "$ac_old_val_w" != "$ac_new_val_w"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) as_fn_append ac_configure_args " '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 +fi +## -------------------- ## +## Main body of script. ## +## -------------------- ## + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +#AC_CONFIG_SRCDIR([src/main.c]) +ac_aux_dir= +for ac_dir in config "$srcdir"/config; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + as_fn_error $? "cannot find install-sh, install.sh, or shtool in config \"$srcdir\"/config" "$LINENO" 5 +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + +ac_config_headers="$ac_config_headers config.h" + + +am__api_version='1.14' + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +# Reject install programs that cannot install multiple files. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 +$as_echo_n "checking for a BSD-compatible install... " >&6; } +if test -z "$INSTALL"; then +if ${ac_cv_path_install+:} false; then : + $as_echo_n "(cached) " >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in #(( + ./ | .// | /[cC]/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + rm -rf conftest.one conftest.two conftest.dir + echo one > conftest.one + echo two > conftest.two + mkdir conftest.dir + if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && + test -s conftest.one && test -s conftest.two && + test -s conftest.dir/conftest.one && + test -s conftest.dir/conftest.two + then + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + fi + done + done + ;; +esac + + done +IFS=$as_save_IFS + +rm -rf conftest.one conftest.two conftest.dir + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 +$as_echo "$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 +$as_echo_n "checking whether build environment is sane... " >&6; } +# Reject unsafe characters in $srcdir or the absolute working directory +# name. Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in + *[\\\"\#\$\&\'\`$am_lf]*) + as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; +esac +case $srcdir in + *[\\\"\#\$\&\'\`$am_lf\ \ ]*) + as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; +esac + +# Do 'set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + as_fn_error $? "ls -t appears to fail. Make sure there is not a broken + alias in your environment" "$LINENO" 5 + fi + if test "$2" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done + test "$2" = conftest.file + ) +then + # Ok. + : +else + as_fn_error $? "newly created file is older than distributed files! +Check your system clock" "$LINENO" 5 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi + +rm -f conftest.file + +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. +# By default was `s,x,x', remove it if useless. +ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' +program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` + +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` + +if test x"${MISSING+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; + *) + MISSING="\${SHELL} $am_aux_dir/missing" ;; + esac +fi +# Use eval to expand $SHELL +if eval "$MISSING --is-lightweight"; then + am_missing_run="$MISSING " +else + am_missing_run= + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 +$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} +fi + +if test x"${install_sh}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; + *) + install_sh="\${SHELL} $am_aux_dir/install-sh" + esac +fi + +# Installed binaries are usually stripped using 'strip' when the user +# run "make install-strip". However 'strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the 'STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +$as_echo "$STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +$as_echo "$ac_ct_STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 +$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } +if test -z "$MKDIR_P"; then + if ${ac_cv_path_mkdir+:} false; then : + $as_echo_n "(cached) " >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in mkdir gmkdir; do + for ac_exec_ext in '' $ac_executable_extensions; do + as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue + case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( + 'mkdir (GNU coreutils) '* | \ + 'mkdir (coreutils) '* | \ + 'mkdir (fileutils) '4.1*) + ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext + break 3;; + esac + done + done + done +IFS=$as_save_IFS + +fi + + test -d ./--version && rmdir ./--version + if test "${ac_cv_path_mkdir+set}" = set; then + MKDIR_P="$ac_cv_path_mkdir -p" + else + # As a last resort, use the slow shell script. Don't cache a + # value for MKDIR_P within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + MKDIR_P="$ac_install_sh -d" + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 +$as_echo "$MKDIR_P" >&6; } + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AWK+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AWK="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +$as_echo "$AWK" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } +set x ${MAKE-make} +ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + SET_MAKE= +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +# Check whether --enable-silent-rules was given. +if test "${enable_silent_rules+set}" = set; then : + enableval=$enable_silent_rules; +fi + +case $enable_silent_rules in # ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=1;; +esac +am_make=${MAKE-make} +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +$as_echo_n "checking whether $am_make supports nested variables... " >&6; } +if ${am_cv_make_support_nested_variables+:} false; then : + $as_echo_n "(cached) " >&6 +else + if $as_echo 'TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +$as_echo "$am_cv_make_support_nested_variables" >&6; } +if test $am_cv_make_support_nested_variables = yes; then + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AM_BACKSLASH='\' + +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + am__isrc=' -I$(srcdir)' + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE='yasm' + VERSION='1.3.0' + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define VERSION "$VERSION" +_ACEOF + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html> +# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html> +mkdir_p='$(MKDIR_P)' + +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AMTAR='$${TAR-tar}' + + +# We'll loop over all known methods to create a tar archive until one works. +_am_tools='gnutar pax cpio none' + +am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' + + + + + + +# POSIX will say in a future version that running "rm -f" with no argument +# is OK; and we want to be able to make that assumption in our Makefile +# recipes. So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else + cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present. This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542> + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message. This +can help us improve future automake versions. + +END + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then + echo 'Configuration will proceed anyway, since you have set the' >&2 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 + echo >&2 + else + cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: <http://www.gnu.org/software/coreutils/>. + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END + as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 + fi +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 +$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } + # Check whether --enable-maintainer-mode was given. +if test "${enable_maintainer_mode+set}" = set; then : + enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval +else + USE_MAINTAINER_MODE=no +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5 +$as_echo "$USE_MAINTAINER_MODE" >&6; } + if test $USE_MAINTAINER_MODE = yes; then + MAINTAINER_MODE_TRUE= + MAINTAINER_MODE_FALSE='#' +else + MAINTAINER_MODE_TRUE='#' + MAINTAINER_MODE_FALSE= +fi + + MAINT=$MAINTAINER_MODE_TRUE + + + +# +# autoconf command-line options +# +# Check whether --enable-debug was given. +if test "${enable_debug+set}" = set; then : + enableval=$enable_debug; case "${enableval}" in + yes) debugging="yes" ;; + no) debugging="no" ;; + *) as_fn_error $? "bad value ${enableval} for --enable-debug" "$LINENO" 5 ;; +esac +fi + + +# Check whether --enable-warnerror was given. +if test "${enable_warnerror+set}" = set; then : + enableval=$enable_warnerror; case "${enableval}" in + yes) warnerror="yes" ;; + no) warnerror="no" ;; + *) as_fn_error $? "bad value ${enableval} for --enable-warnerror" "$LINENO" 5 ;; +esac +fi + + +# Check whether --enable-profiling was given. +if test "${enable_profiling+set}" = set; then : + enableval=$enable_profiling; case "${enableval}" in + yes) profiling="yes" ;; + no) profiling="no" ;; + *) as_fn_error $? "bad value ${enableval} for --enable-profiling" "$LINENO" 5 ;; +esac +fi + + +# Check whether --enable-gcov was given. +if test "${enable_gcov+set}" = set; then : + enableval=$enable_gcov; case "${enableval}" in + yes) gcov="yes" ;; + no) gcov="no" ;; + *) as_fn_error $? "bad value ${enableval} for --enable-gcov" "$LINENO" 5 ;; +esac +fi + + +# Check whether --enable-python was given. +if test "${enable_python+set}" = set; then : + enableval=$enable_python; case "${enableval}" in + yes) enable_python="yes" ;; + no) enable_python="no" ;; + *) as_fn_error $? "bad value ${enableval} for --enable-python" "$LINENO" 5 ;; +esac +else + enable_python="auto" +fi + + +# Check whether --enable-python-bindings was given. +if test "${enable_python_bindings+set}" = set; then : + enableval=$enable_python_bindings; case "${enableval}" in + yes) enable_python_bindings="yes" ;; + no) enable_python_bindings="no" ;; + *) as_fn_error $? "bad value ${enableval} for --enable-python-bindings" "$LINENO" 5 ;; +esac +else + enable_python_bindings="no" +fi + + +# +# Checks for programs. +# +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo this is the am__doit target +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 +$as_echo_n "checking for style of include used by $am_make... " >&6; } +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# Ignore all kinds of additional output from 'make'. +case `$am_make -s -f confmf 2> /dev/null` in #( +*the\ am__doit\ target*) + am__include=include + am__quote= + _am_result=GNU + ;; +esac +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + case `$am_make -s -f confmf 2> /dev/null` in #( + *the\ am__doit\ target*) + am__include=.include + am__quote="\"" + _am_result=BSD + ;; + esac +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 +$as_echo "$_am_result" >&6; } +rm -f confinc confmf + +# Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then : + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' + am__nodep='_no' +fi + if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5; } + +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +$as_echo_n "checking whether the C compiler works... " >&6; } +ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` + +# The possible output files: +ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" + +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { { ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi +if test -z "$ac_file"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "C compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +$as_echo_n "checking for C compiler default output file name... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +$as_echo "$ac_file" >&6; } +ac_exeext=$ac_cv_exeext + +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +$as_echo_n "checking for suffix of executables... " >&6; } +if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest conftest$ac_cv_exeext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +$as_echo "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdio.h> +int +main () +{ +FILE *f = fopen ("conftest.out", "w"); + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +ac_clean_files="$ac_clean_files conftest.out" +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +$as_echo_n "checking whether we are cross compiling... " >&6; } +if test "$cross_compiling" != yes; then + { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if { ac_try='./conftest$ac_cv_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +$as_echo "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +$as_echo_n "checking for suffix of object files... " >&6; } +if ${ac_cv_objext+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of object files: cannot compile +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +$as_echo "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 +$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } +if ${ac_cv_c_compiler_gnu+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_compiler_gnu=yes +else + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +$as_echo "$ac_cv_c_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +$as_echo_n "checking whether $CC accepts -g... " >&6; } +if ${ac_cv_prog_cc_g+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +else + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +$as_echo "$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 +$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } +if ${ac_cv_prog_cc_c89+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdarg.h> +#include <stdio.h> +struct stat; +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_c89=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + xno) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; +esac +if test "x$ac_cv_prog_cc_c89" != xno; then : + +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 +$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } +if ${am_cv_prog_cc_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 + ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +$as_echo "$am_cv_prog_cc_c_o" >&6; } +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +depcc="$CC" am_compiler_list= + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +$as_echo_n "checking dependency style of $depcc... " >&6; } +if ${am_cv_CC_dependencies_compiler_type+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + am__universal=false + case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with '-c' and '-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 +$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +$as_echo_n "checking how to run the C preprocessor... " >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if ${ac_cv_prog_CPP+:} false; then : + $as_echo_n "(cached) " >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + # <limits.h> exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <ac_nonexistent.h> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 +$as_echo "$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + # <limits.h> exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <ac_nonexistent.h> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + case $ac_cv_prog_cc_stdc in #( + no) : + ac_cv_prog_cc_c99=no; ac_cv_prog_cc_c89=no ;; #( + *) : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C99" >&5 +$as_echo_n "checking for $CC option to accept ISO C99... " >&6; } +if ${ac_cv_prog_cc_c99+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdarg.h> +#include <stdbool.h> +#include <stdlib.h> +#include <wchar.h> +#include <stdio.h> + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +#define debug(...) fprintf (stderr, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + your preprocessor is broken; +#endif +#if BIG_OK +#else + your preprocessor is broken; +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\0'; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static void +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str; + int number; + float fnumber; + + while (*format) + { + switch (*format++) + { + case 's': // string + str = va_arg (args_copy, const char *); + break; + case 'd': // int + number = va_arg (args_copy, int); + break; + case 'f': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); +} + +int +main () +{ + + // Check bool. + _Bool success = false; + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + test_varargs ("s, d' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x' + || dynamic_array[ni.number - 1] != 543); + + ; + return 0; +} +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -D_STDC_C99= -qlanglvl=extc99 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c99" in + x) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + xno) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c99" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +$as_echo "$ac_cv_prog_cc_c99" >&6; } ;; +esac +if test "x$ac_cv_prog_cc_c99" != xno; then : + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 +$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } +if ${ac_cv_prog_cc_c89+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdarg.h> +#include <stdio.h> +struct stat; +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_c89=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + xno) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; +esac +if test "x$ac_cv_prog_cc_c89" != xno; then : + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 +else + ac_cv_prog_cc_stdc=no +fi + +fi + ;; +esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO Standard C" >&5 +$as_echo_n "checking for $CC option to accept ISO Standard C... " >&6; } + if ${ac_cv_prog_cc_stdc+:} false; then : + $as_echo_n "(cached) " >&6 +fi + + case $ac_cv_prog_cc_stdc in #( + no) : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; #( + '') : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; #( + *) : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_stdc" >&5 +$as_echo "$ac_cv_prog_cc_stdc" >&6; } ;; +esac + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 +$as_echo_n "checking whether ln -s works... " >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +$as_echo "no, using $LN_S" >&6; } +fi + +#automake default ARFLAGS to "cru" +if test -n "$ac_tool_prefix"; then + for ac_prog in $AR ar + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AR="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +$as_echo "$AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$AR" && break + done +fi +if test -z "$AR"; then + ac_ct_AR=$AR + for ac_prog in $AR ar +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_AR="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +$as_echo "$ac_ct_AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_AR" && break +done + + if test "x$ac_ct_AR" = x; then + AR="ar" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +$as_echo "$RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +$as_echo "$ac_ct_RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + + +# REQUIRE a standard (ANSI/ISO) C compiler +if test "$ac_cv_prog_cc_stdc" = no; then + as_fn_error $? "A standard (ANSI/ISO C89) C compiler is required." "$LINENO" 5 +fi + +# Check for xmlto (for rendering manpages, needed only for development) +for ac_prog in $XMLTO xmlto +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_XMLTO+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$XMLTO"; then + ac_cv_prog_XMLTO="$XMLTO" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_XMLTO="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +XMLTO=$ac_cv_prog_XMLTO +if test -n "$XMLTO"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XMLTO" >&5 +$as_echo "$XMLTO" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$XMLTO" && break +done +test -n "$XMLTO" || XMLTO=":" + +if test "$XMLTO" = ":"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: xmlto not found, manpages will not be rebuilt." >&5 +$as_echo "$as_me: WARNING: xmlto not found, manpages will not be rebuilt." >&2;} +fi + if test "$XMLTO" != ":"; then + BUILD_MAN_TRUE= + BUILD_MAN_FALSE='#' +else + BUILD_MAN_TRUE='#' + BUILD_MAN_FALSE= +fi + + +# Check for compiler output filename suffixes. + + + +# +# Checks for libraries. +# +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if malloc debugging is wanted" >&5 +$as_echo_n "checking if malloc debugging is wanted... " >&6; } + +# Check whether --with-dmalloc was given. +if test "${with_dmalloc+set}" = set; then : + withval=$with_dmalloc; if test "$withval" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + +$as_echo "#define WITH_DMALLOC 1" >>confdefs.h + + LIBS="$LIBS -ldmalloc" + LDFLAGS="$LDFLAGS -g" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + +# +# Checks for header files. +# + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +$as_echo_n "checking for grep that handles long lines and -e... " >&6; } +if ${ac_cv_path_GREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$GREP"; then + ac_path_GREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_GREP" || continue +# Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_GREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_GREP=$GREP +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +$as_echo "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +$as_echo_n "checking for egrep... " >&6; } +if ${ac_cv_path_EGREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP" || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_EGREP=$EGREP +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +$as_echo "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } +if ${ac_cv_header_stdc+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdlib.h> +#include <stdarg.h> +#include <string.h> +#include <float.h> + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_header_stdc=yes +else + ac_cv_header_stdc=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <string.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdlib.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <ctype.h> +#include <stdlib.h> +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + +else + ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +$as_echo "#define STDC_HEADERS 1" >>confdefs.h + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +for ac_header in strings.h libgen.h unistd.h direct.h sys/stat.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +# REQUIRE standard C headers +if test "$ac_cv_header_stdc" != yes; then + as_fn_error $? "Standard (ANSI/ISO C89) header files are required." "$LINENO" 5 +fi + +# +# Checks for typedefs, structures, and compiler characteristics. +# +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 +$as_echo_n "checking for an ANSI C-conforming const... " >&6; } +if ${ac_cv_c_const+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + +#ifndef __cplusplus + /* Ultrix mips cc rejects this sort of thing. */ + typedef int charset[2]; + const charset cs = { 0, 0 }; + /* SunOS 4.1.1 cc rejects this. */ + char const *const *pcpcc; + char **ppc; + /* NEC SVR4.0.2 mips cc rejects this. */ + struct point {int x, y;}; + static struct point const zero = {0,0}; + /* AIX XL C 1.02.0.0 rejects this. + It does not let you subtract one const X* pointer from another in + an arm of an if-expression whose if-part is not a constant + expression */ + const char *g = "string"; + pcpcc = &g + (g ? g-g : 0); + /* HPUX 7.0 cc rejects these. */ + ++pcpcc; + ppc = (char**) pcpcc; + pcpcc = (char const *const *) ppc; + { /* SCO 3.2v4 cc rejects this sort of thing. */ + char tx; + char *t = &tx; + char const *s = 0 ? (char *) 0 : (char const *) 0; + + *t++ = 0; + if (s) return 0; + } + { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ + int x[] = {25, 17}; + const int *foo = &x[0]; + ++foo; + } + { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ + typedef const int *iptr; + iptr p = 0; + ++p; + } + { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying + "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ + struct s { int j; const int *ap[3]; } bx; + struct s *b = &bx; b->j = 5; + } + { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ + const int foo = 10; + if (!foo) return 0; + } + return !cs[0] && !zero.x; +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_const=yes +else + ac_cv_c_const=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 +$as_echo "$ac_cv_c_const" >&6; } +if test $ac_cv_c_const = no; then + +$as_echo "#define const /**/" >>confdefs.h + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 +$as_echo_n "checking for inline... " >&6; } +if ${ac_cv_c_inline+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_c_inline=no +for ac_kw in inline __inline__ __inline; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifndef __cplusplus +typedef int foo_t; +static $ac_kw foo_t static_foo () {return 0; } +$ac_kw foo_t foo () {return 0; } +#endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_inline=$ac_kw +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + test "$ac_cv_c_inline" != no && break +done + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 +$as_echo "$ac_cv_c_inline" >&6; } + +case $ac_cv_c_inline in + inline | yes) ;; + *) + case $ac_cv_c_inline in + no) ac_val=;; + *) ac_val=$ac_cv_c_inline;; + esac + cat >>confdefs.h <<_ACEOF +#ifndef __cplusplus +#define inline $ac_val +#endif +_ACEOF + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for function prototypes" >&5 +$as_echo_n "checking for function prototypes... " >&6; } +if test "$ac_cv_prog_cc_c89" != no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + +$as_echo "#define PROTOTYPES 1" >>confdefs.h + + +$as_echo "#define __PROTOTYPES 1" >>confdefs.h + +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + +ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" +if test "x$ac_cv_type_size_t" = xyes; then : + +else + +cat >>confdefs.h <<_ACEOF +#define size_t unsigned int +_ACEOF + +fi + +# ------ AX CREATE STDINT H ------------------------------------- +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint types" >&5 +$as_echo_n "checking for stdint types... " >&6; } +ac_stdint_h=`echo libyasm-stdint.h` +# try to shortcircuit - if the default include path of the compiler +# can find a "stdint.h" header then we assume that all compilers can. +if ${ac_cv_header_stdint_t+:} false; then : + $as_echo_n "(cached) " >&6 +else + +old_CXXFLAGS="$CXXFLAGS" ; CXXFLAGS="" +old_CPPFLAGS="$CPPFLAGS" ; CPPFLAGS="" +old_CFLAGS="$CFLAGS" ; CFLAGS="" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdint.h> +int +main () +{ +int_least32_t v = 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_stdint_result="(assuming C99 compatible system)" + ac_cv_header_stdint_t="stdint.h"; +else + ac_cv_header_stdint_t="" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +CXXFLAGS="$old_CXXFLAGS" +CPPFLAGS="$old_CPPFLAGS" +CFLAGS="$old_CFLAGS" +fi + + +v="... $ac_cv_header_stdint_h" +if test "$ac_stdint_h" = "stdint.h" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: (are you sure you want them in ./stdint.h?)" >&5 +$as_echo "(are you sure you want them in ./stdint.h?)" >&6; } +elif test "$ac_stdint_h" = "inttypes.h" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: (are you sure you want them in ./inttypes.h?)" >&5 +$as_echo "(are you sure you want them in ./inttypes.h?)" >&6; } +elif test "_$ac_cv_header_stdint_t" = "_" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: (putting them into $ac_stdint_h)$v" >&5 +$as_echo "(putting them into $ac_stdint_h)$v" >&6; } +else + ac_cv_header_stdint="$ac_cv_header_stdint_t" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdint (shortcircuit)" >&5 +$as_echo "$ac_cv_header_stdint (shortcircuit)" >&6; } +fi + +if test "_$ac_cv_header_stdint_t" = "_" ; then # can not shortcircuit.. + + +inttype_headers=`echo | sed -e 's/,/ /g'` + +ac_cv_stdint_result="(no helpful system typedefs seen)" + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint uintptr_t" >&5 +$as_echo_n "checking for stdint uintptr_t... " >&6; } +if ${ac_cv_header_stdint_x+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ac_cv_header_stdint_x="" # the 1997 typedefs (inttypes.h) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: (..)" >&5 +$as_echo "(..)" >&6; } + for i in stdint.h inttypes.h sys/inttypes.h $inttype_headers ; do + unset ac_cv_type_uintptr_t + unset ac_cv_type_uint64_t + ac_fn_c_check_type "$LINENO" "uintptr_t" "ac_cv_type_uintptr_t" "#include <$i> +" +if test "x$ac_cv_type_uintptr_t" = xyes; then : + ac_cv_header_stdint_x=$i +else + continue +fi + + ac_fn_c_check_type "$LINENO" "uint64_t" "ac_cv_type_uint64_t" "#include<$i> +" +if test "x$ac_cv_type_uint64_t" = xyes; then : + and64="/uint64_t" +else + and64="" +fi + + break; + done + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint uintptr_t" >&5 +$as_echo_n "checking for stdint uintptr_t... " >&6; } + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdint_x" >&5 +$as_echo "$ac_cv_header_stdint_x" >&6; } + + +if test "_$ac_cv_header_stdint_x" = "_" ; then + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint uint32_t" >&5 +$as_echo_n "checking for stdint uint32_t... " >&6; } +if ${ac_cv_header_stdint_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ac_cv_header_stdint_o="" # the 1995 typedefs (sys/inttypes.h) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: (..)" >&5 +$as_echo "(..)" >&6; } + for i in inttypes.h sys/inttypes.h stdint.h $inttype_headers ; do + unset ac_cv_type_uint32_t + unset ac_cv_type_uint64_t + ac_fn_c_check_type "$LINENO" "uint32_t" "ac_cv_type_uint32_t" "#include <$i> +" +if test "x$ac_cv_type_uint32_t" = xyes; then : + ac_cv_header_stdint_o=$i +else + continue +fi + + ac_fn_c_check_type "$LINENO" "uint64_t" "ac_cv_type_uint64_t" "#include<$i> +" +if test "x$ac_cv_type_uint64_t" = xyes; then : + and64="/uint64_t" +else + and64="" +fi + + break; + done + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint uint32_t" >&5 +$as_echo_n "checking for stdint uint32_t... " >&6; } + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdint_o" >&5 +$as_echo "$ac_cv_header_stdint_o" >&6; } + +fi + +if test "_$ac_cv_header_stdint_x" = "_" ; then +if test "_$ac_cv_header_stdint_o" = "_" ; then + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint u_int32_t" >&5 +$as_echo_n "checking for stdint u_int32_t... " >&6; } +if ${ac_cv_header_stdint_u+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ac_cv_header_stdint_u="" # the BSD typedefs (sys/types.h) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: (..)" >&5 +$as_echo "(..)" >&6; } + for i in sys/types.h inttypes.h sys/inttypes.h $inttype_headers ; do + unset ac_cv_type_u_int32_t + unset ac_cv_type_u_int64_t + ac_fn_c_check_type "$LINENO" "u_int32_t" "ac_cv_type_u_int32_t" "#include <$i> +" +if test "x$ac_cv_type_u_int32_t" = xyes; then : + ac_cv_header_stdint_u=$i +else + continue +fi + + ac_fn_c_check_type "$LINENO" "u_int64_t" "ac_cv_type_u_int64_t" "#include<$i> +" +if test "x$ac_cv_type_u_int64_t" = xyes; then : + and64="/u_int64_t" +else + and64="" +fi + + break; + done + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint u_int32_t" >&5 +$as_echo_n "checking for stdint u_int32_t... " >&6; } + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdint_u" >&5 +$as_echo "$ac_cv_header_stdint_u" >&6; } + +fi fi + +if test "_$ac_cv_header_stdint_x" = "_" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdint datatype model" >&5 +$as_echo_n "checking for stdint datatype model... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: (..)" >&5 +$as_echo "(..)" >&6; } + + # The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of char" >&5 +$as_echo_n "checking size of char... " >&6; } +if ${ac_cv_sizeof_char+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (char))" "ac_cv_sizeof_char" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_char" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (char) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_char=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_char" >&5 +$as_echo "$ac_cv_sizeof_char" >&6; } + + + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_CHAR $ac_cv_sizeof_char +_ACEOF + + + # The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of short" >&5 +$as_echo_n "checking size of short... " >&6; } +if ${ac_cv_sizeof_short+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short))" "ac_cv_sizeof_short" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_short" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (short) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_short=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_short" >&5 +$as_echo "$ac_cv_sizeof_short" >&6; } + + + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_SHORT $ac_cv_sizeof_short +_ACEOF + + + # The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5 +$as_echo_n "checking size of int... " >&6; } +if ${ac_cv_sizeof_int+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_int" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (int) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_int=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5 +$as_echo "$ac_cv_sizeof_int" >&6; } + + + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_INT $ac_cv_sizeof_int +_ACEOF + + + # The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 +$as_echo_n "checking size of long... " >&6; } +if ${ac_cv_sizeof_long+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_long" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (long) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_long=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5 +$as_echo "$ac_cv_sizeof_long" >&6; } + + + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_LONG $ac_cv_sizeof_long +_ACEOF + + + # The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void*" >&5 +$as_echo_n "checking size of void*... " >&6; } +if ${ac_cv_sizeof_voidp+:} false; then : + $as_echo_n "(cached) " >&6 +else + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void*))" "ac_cv_sizeof_voidp" "$ac_includes_default"; then : + +else + if test "$ac_cv_type_voidp" = yes; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot compute sizeof (void*) +See \`config.log' for more details" "$LINENO" 5; } + else + ac_cv_sizeof_voidp=0 + fi +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_voidp" >&5 +$as_echo "$ac_cv_sizeof_voidp" >&6; } + + + +cat >>confdefs.h <<_ACEOF +#define SIZEOF_VOIDP $ac_cv_sizeof_voidp +_ACEOF + + + ac_cv_char_data_model="" + ac_cv_char_data_model="$ac_cv_char_data_model$ac_cv_sizeof_char" + ac_cv_char_data_model="$ac_cv_char_data_model$ac_cv_sizeof_short" + ac_cv_char_data_model="$ac_cv_char_data_model$ac_cv_sizeof_int" + ac_cv_long_data_model="" + ac_cv_long_data_model="$ac_cv_long_data_model$ac_cv_sizeof_int" + ac_cv_long_data_model="$ac_cv_long_data_model$ac_cv_sizeof_long" + ac_cv_long_data_model="$ac_cv_long_data_model$ac_cv_sizeof_voidp" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking data model" >&5 +$as_echo_n "checking data model... " >&6; } + case "$ac_cv_char_data_model/$ac_cv_long_data_model" in + 122/242) ac_cv_data_model="IP16" ; n="standard 16bit machine" ;; + 122/244) ac_cv_data_model="LP32" ; n="standard 32bit machine" ;; + 122/*) ac_cv_data_model="i16" ; n="unusual int16 model" ;; + 124/444) ac_cv_data_model="ILP32" ; n="standard 32bit unixish" ;; + 124/488) ac_cv_data_model="LP64" ; n="standard 64bit unixish" ;; + 124/448) ac_cv_data_model="LLP64" ; n="unusual 64bit unixish" ;; + 124/*) ac_cv_data_model="i32" ; n="unusual int32 model" ;; + 128/888) ac_cv_data_model="ILP64" ; n="unusual 64bit numeric" ;; + 128/*) ac_cv_data_model="i64" ; n="unusual int64 model" ;; + 222/*2) ac_cv_data_model="DSP16" ; n="strict 16bit dsptype" ;; + 333/*3) ac_cv_data_model="DSP24" ; n="strict 24bit dsptype" ;; + 444/*4) ac_cv_data_model="DSP32" ; n="strict 32bit dsptype" ;; + 666/*6) ac_cv_data_model="DSP48" ; n="strict 48bit dsptype" ;; + 888/*8) ac_cv_data_model="DSP64" ; n="strict 64bit dsptype" ;; + 222/*|333/*|444/*|666/*|888/*) : + ac_cv_data_model="iDSP" ; n="unusual dsptype" ;; + *) ac_cv_data_model="none" ; n="very unusual model" ;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_data_model ($ac_cv_long_data_model, $n)" >&5 +$as_echo "$ac_cv_data_model ($ac_cv_long_data_model, $n)" >&6; } + +fi + +if test "_$ac_cv_header_stdint_x" != "_" ; then + ac_cv_header_stdint="$ac_cv_header_stdint_x" +elif test "_$ac_cv_header_stdint_o" != "_" ; then + ac_cv_header_stdint="$ac_cv_header_stdint_o" +elif test "_$ac_cv_header_stdint_u" != "_" ; then + ac_cv_header_stdint="$ac_cv_header_stdint_u" +else + ac_cv_header_stdint="stddef.h" +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for extra inttypes in chosen header" >&5 +$as_echo_n "checking for extra inttypes in chosen header... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ($ac_cv_header_stdint)" >&5 +$as_echo "($ac_cv_header_stdint)" >&6; } +unset ac_cv_type_int_least32_t +unset ac_cv_type_int_fast32_t +ac_fn_c_check_type "$LINENO" "int_least32_t" "ac_cv_type_int_least32_t" "#include <$ac_cv_header_stdint> +" +if test "x$ac_cv_type_int_least32_t" = xyes; then : + +fi + +ac_fn_c_check_type "$LINENO" "int_fast32_t" "ac_cv_type_int_fast32_t" "#include<$ac_cv_header_stdint> +" +if test "x$ac_cv_type_int_fast32_t" = xyes; then : + +fi + +ac_fn_c_check_type "$LINENO" "intmax_t" "ac_cv_type_intmax_t" "#include <$ac_cv_header_stdint> +" +if test "x$ac_cv_type_intmax_t" = xyes; then : + +fi + + +fi # shortcircut to system "stdint.h" +# ------------------ PREPARE VARIABLES ------------------------------ +#if test "$GCC" = "yes" ; then +#ac_cv_stdint_message="using gnu compiler "`$CC --version | head -1` +#else +ac_cv_stdint_message="using $CC" +#fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: make use of $ac_cv_header_stdint in $ac_stdint_h $ac_cv_stdint_result" >&5 +$as_echo "make use of $ac_cv_header_stdint in $ac_stdint_h $ac_cv_stdint_result" >&6; } + +# ----------------- DONE inttypes.h checks START header ------------- +ac_config_commands="$ac_config_commands $ac_stdint_h" + + + +# +# Checks for library functions. +# +for ac_func in abort toascii vsnprintf +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + +for ac_func in strsep mergesort getcwd +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + +for ac_func in popen ftruncate +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + +# Look for the case-insensitive comparison functions +for ac_func in strcasecmp strncasecmp stricmp _stricmp strcmpi +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + +# +# Check for gettext() and other i18n/l10n things. +# +ALL_LINGUAS="" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 +$as_echo_n "checking for a sed that does not truncate output... " >&6; } +if ${ac_cv_path_SED+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for ac_i in 1 2 3 4 5 6 7; do + ac_script="$ac_script$as_nl$ac_script" + done + echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed + { ac_script=; unset ac_script;} + if test -z "$SED"; then + ac_path_SED_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_SED" || continue +# Check for GNU ac_path_SED and select it if it is found. + # Check for GNU $ac_path_SED +case `"$ac_path_SED" --version 2>&1` in +*GNU*) + ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo '' >> "conftest.nl" + "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_SED_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_SED="$ac_path_SED" + ac_path_SED_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_SED_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_SED"; then + as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 + fi +else + ac_cv_path_SED=$SED +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +$as_echo "$ac_cv_path_SED" >&6; } + SED="$ac_cv_path_SED" + rm -f conftest.sed + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 +$as_echo_n "checking whether NLS is requested... " >&6; } + # Check whether --enable-nls was given. +if test "${enable_nls+set}" = set; then : + enableval=$enable_nls; USE_NLS=$enableval +else + USE_NLS=yes +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 +$as_echo "$USE_NLS" >&6; } + + + + + GETTEXT_MACRO_VERSION=0.18 + + + + +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which + # contains only /bin. Note that ksh looks also at the FPATH variable, + # so we have to set that as well for the test. + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + || PATH_SEPARATOR=';' + } +fi + +# Find out how to test for executable files. Don't use a zero-byte file, +# as systems may use methods other than mode bits to determine executability. +cat >conf$$.file <<_ASEOF +#! /bin/sh +exit 0 +_ASEOF +chmod +x conf$$.file +if test -x conf$$.file >/dev/null 2>&1; then + ac_executable_p="test -x" +else + ac_executable_p="test -f" +fi +rm -f conf$$.file + +# Extract the first word of "msgfmt", so it can be a program name with args. +set dummy msgfmt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_MSGFMT+:} false; then : + $as_echo_n "(cached) " >&6 +else + case "$MSGFMT" in + [\\/]* | ?:[\\/]*) + ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$ac_save_IFS" + test -z "$ac_dir" && ac_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then + echo "$as_me: trying $ac_dir/$ac_word..." >&5 + if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 && + (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then + ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" + test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" + ;; +esac +fi +MSGFMT="$ac_cv_path_MSGFMT" +if test "$MSGFMT" != ":"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 +$as_echo "$MSGFMT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + # Extract the first word of "gmsgfmt", so it can be a program name with args. +set dummy gmsgfmt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_GMSGFMT+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $GMSGFMT in + [\\/]* | ?:[\\/]*) + ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" + ;; +esac +fi +GMSGFMT=$ac_cv_path_GMSGFMT +if test -n "$GMSGFMT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 +$as_echo "$GMSGFMT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; + *) MSGFMT_015=$MSGFMT ;; + esac + + case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; + *) GMSGFMT_015=$GMSGFMT ;; + esac + + + +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which + # contains only /bin. Note that ksh looks also at the FPATH variable, + # so we have to set that as well for the test. + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + || PATH_SEPARATOR=';' + } +fi + +# Find out how to test for executable files. Don't use a zero-byte file, +# as systems may use methods other than mode bits to determine executability. +cat >conf$$.file <<_ASEOF +#! /bin/sh +exit 0 +_ASEOF +chmod +x conf$$.file +if test -x conf$$.file >/dev/null 2>&1; then + ac_executable_p="test -x" +else + ac_executable_p="test -f" +fi +rm -f conf$$.file + +# Extract the first word of "xgettext", so it can be a program name with args. +set dummy xgettext; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_XGETTEXT+:} false; then : + $as_echo_n "(cached) " >&6 +else + case "$XGETTEXT" in + [\\/]* | ?:[\\/]*) + ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$ac_save_IFS" + test -z "$ac_dir" && ac_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then + echo "$as_me: trying $ac_dir/$ac_word..." >&5 + if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 && + (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then + ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" + test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" + ;; +esac +fi +XGETTEXT="$ac_cv_path_XGETTEXT" +if test "$XGETTEXT" != ":"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 +$as_echo "$XGETTEXT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + rm -f messages.po + + case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; + *) XGETTEXT_015=$XGETTEXT ;; + esac + + + +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which + # contains only /bin. Note that ksh looks also at the FPATH variable, + # so we have to set that as well for the test. + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + || PATH_SEPARATOR=';' + } +fi + +# Find out how to test for executable files. Don't use a zero-byte file, +# as systems may use methods other than mode bits to determine executability. +cat >conf$$.file <<_ASEOF +#! /bin/sh +exit 0 +_ASEOF +chmod +x conf$$.file +if test -x conf$$.file >/dev/null 2>&1; then + ac_executable_p="test -x" +else + ac_executable_p="test -f" +fi +rm -f conf$$.file + +# Extract the first word of "msgmerge", so it can be a program name with args. +set dummy msgmerge; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_MSGMERGE+:} false; then : + $as_echo_n "(cached) " >&6 +else + case "$MSGMERGE" in + [\\/]* | ?:[\\/]*) + ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$ac_save_IFS" + test -z "$ac_dir" && ac_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then + echo "$as_me: trying $ac_dir/$ac_word..." >&5 + if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then + ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" + test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":" + ;; +esac +fi +MSGMERGE="$ac_cv_path_MSGMERGE" +if test "$MSGMERGE" != ":"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5 +$as_echo "$MSGMERGE" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$localedir" || localedir='${datadir}/locale' + + + test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= + + + ac_config_commands="$ac_config_commands po-directories" + + + + if test "X$prefix" = "XNONE"; then + acl_final_prefix="$ac_default_prefix" + else + acl_final_prefix="$prefix" + fi + if test "X$exec_prefix" = "XNONE"; then + acl_final_exec_prefix='${prefix}' + else + acl_final_exec_prefix="$exec_prefix" + fi + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" + prefix="$acl_save_prefix" + +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +$as_echo_n "checking build system type... " >&6; } +if ${ac_cv_build+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +$as_echo "$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +$as_echo_n "checking host system type... " >&6; } +if ${ac_cv_host+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +$as_echo "$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then : + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which + # contains only /bin. Note that ksh looks also at the FPATH variable, + # so we have to set that as well for the test. + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + || PATH_SEPARATOR=';' + } +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +$as_echo_n "checking for ld used by $CC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'` + while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +$as_echo_n "checking for GNU ld... " >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +$as_echo_n "checking for non-GNU ld... " >&6; } +fi +if ${acl_cv_path_LD+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$LD"; then + acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$acl_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + acl_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in + *GNU* | *'with BFD'*) + test "$with_gnu_ld" != no && break + ;; + *) + test "$with_gnu_ld" != yes && break + ;; + esac + fi + done + IFS="$acl_save_ifs" +else + acl_cv_path_LD="$LD" # Let the user override the test with a path. +fi +fi + +LD="$acl_cv_path_LD" +if test -n "$LD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 +$as_echo "$LD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +if ${acl_cv_prog_gnu_ld+:} false; then : + $as_echo_n "(cached) " >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 </dev/null` in +*GNU* | *'with BFD'*) + acl_cv_prog_gnu_ld=yes + ;; +*) + acl_cv_prog_gnu_ld=no + ;; +esac +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5 +$as_echo "$acl_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$acl_cv_prog_gnu_ld + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 +$as_echo_n "checking for shared library run path origin... " >&6; } +if ${acl_cv_rpath+:} false; then : + $as_echo_n "(cached) " >&6 +else + + CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ + ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh + . ./conftest.sh + rm -f ./conftest.sh + acl_cv_rpath=done + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 +$as_echo "$acl_cv_rpath" >&6; } + wl="$acl_cv_wl" + acl_libext="$acl_cv_libext" + acl_shlibext="$acl_cv_shlibext" + acl_libname_spec="$acl_cv_libname_spec" + acl_library_names_spec="$acl_cv_library_names_spec" + acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" + acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" + acl_hardcode_direct="$acl_cv_hardcode_direct" + acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" + # Check whether --enable-rpath was given. +if test "${enable_rpath+set}" = set; then : + enableval=$enable_rpath; : +else + enable_rpath=yes +fi + + + + + acl_libdirstem=lib + acl_libdirstem2= + case "$host_os" in + solaris*) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5 +$as_echo_n "checking for 64-bit host... " >&6; } +if ${gl_cv_solaris_64bit+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifdef _LP64 +sixtyfour bits +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "sixtyfour bits" >/dev/null 2>&1; then : + gl_cv_solaris_64bit=yes +else + gl_cv_solaris_64bit=no +fi +rm -f conftest* + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5 +$as_echo "$gl_cv_solaris_64bit" >&6; } + if test $gl_cv_solaris_64bit = yes; then + acl_libdirstem=lib/64 + case "$host_cpu" in + sparc*) acl_libdirstem2=lib/sparcv9 ;; + i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; + esac + fi + ;; + *) + searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` + if test -n "$searchpath"; then + acl_save_IFS="${IFS= }"; IFS=":" + for searchdir in $searchpath; do + if test -d "$searchdir"; then + case "$searchdir" in + */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; + */../ | */.. ) + # Better ignore directories of this form. They are misleading. + ;; + *) searchdir=`cd "$searchdir" && pwd` + case "$searchdir" in + */lib64 ) acl_libdirstem=lib64 ;; + esac ;; + esac + fi + done + IFS="$acl_save_IFS" + fi + ;; + esac + test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" + + + + + + + + + + + + + use_additional=yes + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + +# Check whether --with-libiconv-prefix was given. +if test "${with_libiconv_prefix+set}" = set; then : + withval=$with_libiconv_prefix; + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + if test "$acl_libdirstem2" != "$acl_libdirstem" \ + && ! test -d "$withval/$acl_libdirstem"; then + additional_libdir="$withval/$acl_libdirstem2" + fi + fi + fi + +fi + + LIBICONV= + LTLIBICONV= + INCICONV= + LIBICONV_PREFIX= + HAVE_LIBICONV= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='iconv ' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value" + else + : + fi + else + found_dir= + found_la= + found_so= + found_a= + eval libname=\"$acl_libname_spec\" # typically: libname=lib$name + if test -n "$acl_shlibext"; then + shrext=".$acl_shlibext" # typically: shrext=.so + else + shrext= + fi + if test $use_additional = yes; then + dir="$additional_libdir" + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIBICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + if test "$enable_rpath" = no \ + || test "X$found_dir" = "X/usr/$acl_libdirstem" \ + || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + else + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + if test "$acl_hardcode_direct" = yes; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + else + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + haveit= + for x in $LDFLAGS $LIBICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir" + fi + if test "$acl_hardcode_minus_L" != no; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + else + LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a" + else + LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name" + fi + fi + additional_includedir= + case "$found_dir" in + */$acl_libdirstem | */$acl_libdirstem/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` + if test "$name" = 'iconv'; then + LIBICONV_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + */$acl_libdirstem2 | */$acl_libdirstem2/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` + if test "$name" = 'iconv'; then + LIBICONV_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INCICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + if test -n "$found_la"; then + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ + && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ + || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIBICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIBICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + LIBICONV="${LIBICONV}${LIBICONV:+ }$dep" + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep" + ;; + esac + done + fi + else + LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$acl_hardcode_libdir_separator"; then + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" + else + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + for found_dir in $ltrpathdirs; do + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir" + done + fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5 +$as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; } +if ${gt_cv_func_CFPreferencesCopyAppValue+:} false; then : + $as_echo_n "(cached) " >&6 +else + gt_save_LIBS="$LIBS" + LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <CoreFoundation/CFPreferences.h> +int +main () +{ +CFPreferencesCopyAppValue(NULL, NULL) + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + gt_cv_func_CFPreferencesCopyAppValue=yes +else + gt_cv_func_CFPreferencesCopyAppValue=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$gt_save_LIBS" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 +$as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; } + if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then + +$as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h + + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5 +$as_echo_n "checking for CFLocaleCopyCurrent... " >&6; } +if ${gt_cv_func_CFLocaleCopyCurrent+:} false; then : + $as_echo_n "(cached) " >&6 +else + gt_save_LIBS="$LIBS" + LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <CoreFoundation/CFLocale.h> +int +main () +{ +CFLocaleCopyCurrent(); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + gt_cv_func_CFLocaleCopyCurrent=yes +else + gt_cv_func_CFLocaleCopyCurrent=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$gt_save_LIBS" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5 +$as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; } + if test $gt_cv_func_CFLocaleCopyCurrent = yes; then + +$as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h + + fi + INTL_MACOSX_LIBS= + if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then + INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" + fi + + + + + + + LIBINTL= + LTLIBINTL= + POSUB= + + case " $gt_needs " in + *" need-formatstring-macros "*) gt_api_version=3 ;; + *" need-ngettext "*) gt_api_version=2 ;; + *) gt_api_version=1 ;; + esac + gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" + gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" + + if test "$USE_NLS" = "yes"; then + gt_use_preinstalled_gnugettext=no + + + if test $gt_api_version -ge 3; then + gt_revision_test_code=' +#ifndef __GNU_GETTEXT_SUPPORTED_REVISION +#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) +#endif +typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; +' + else + gt_revision_test_code= + fi + if test $gt_api_version -ge 2; then + gt_expression_test_code=' + * ngettext ("", "", 0)' + else + gt_expression_test_code= + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5 +$as_echo_n "checking for GNU gettext in libc... " >&6; } +if eval \${$gt_func_gnugettext_libc+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include <libintl.h> +$gt_revision_test_code +extern int _nl_msg_cat_cntr; +extern int *_nl_domain_bindings; + +int +main () +{ + +bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$gt_func_gnugettext_libc=yes" +else + eval "$gt_func_gnugettext_libc=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$gt_func_gnugettext_libc + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + + if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then + + + + + + am_save_CPPFLAGS="$CPPFLAGS" + + for element in $INCICONV; do + haveit= + for x in $CPPFLAGS; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" + fi + done + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5 +$as_echo_n "checking for iconv... " >&6; } +if ${am_cv_func_iconv+:} false; then : + $as_echo_n "(cached) " >&6 +else + + am_cv_func_iconv="no, consider installing GNU libiconv" + am_cv_lib_iconv=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include <stdlib.h> +#include <iconv.h> + +int +main () +{ +iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + am_cv_func_iconv=yes +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test "$am_cv_func_iconv" != yes; then + am_save_LIBS="$LIBS" + LIBS="$LIBS $LIBICONV" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include <stdlib.h> +#include <iconv.h> + +int +main () +{ +iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + am_cv_lib_iconv=yes + am_cv_func_iconv=yes +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$am_save_LIBS" + fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5 +$as_echo "$am_cv_func_iconv" >&6; } + if test "$am_cv_func_iconv" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5 +$as_echo_n "checking for working iconv... " >&6; } +if ${am_cv_func_iconv_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + + am_save_LIBS="$LIBS" + if test $am_cv_lib_iconv = yes; then + LIBS="$LIBS $LIBICONV" + fi + if test "$cross_compiling" = yes; then : + + case "$host_os" in + aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; + *) am_cv_func_iconv_works="guessing yes" ;; + esac + +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include <iconv.h> +#include <string.h> +int main () +{ + int result = 0; + /* Test against AIX 5.1 bug: Failures are not distinguishable from successful + returns. */ + { + iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); + if (cd_utf8_to_88591 != (iconv_t)(-1)) + { + static const char input[] = "\342\202\254"; /* EURO SIGN */ + char buf[10]; + const char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_utf8_to_88591, + (char **) &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res == 0) + result |= 1; + iconv_close (cd_utf8_to_88591); + } + } + /* Test against Solaris 10 bug: Failures are not distinguishable from + successful returns. */ + { + iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); + if (cd_ascii_to_88591 != (iconv_t)(-1)) + { + static const char input[] = "\263"; + char buf[10]; + const char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_ascii_to_88591, + (char **) &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res == 0) + result |= 2; + iconv_close (cd_ascii_to_88591); + } + } + /* Test against AIX 6.1..7.1 bug: Buffer overrun. */ + { + iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1"); + if (cd_88591_to_utf8 != (iconv_t)(-1)) + { + static const char input[] = "\304"; + static char buf[2] = { (char)0xDE, (char)0xAD }; + const char *inptr = input; + size_t inbytesleft = 1; + char *outptr = buf; + size_t outbytesleft = 1; + size_t res = iconv (cd_88591_to_utf8, + (char **) &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD) + result |= 4; + iconv_close (cd_88591_to_utf8); + } + } +#if 0 /* This bug could be worked around by the caller. */ + /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ + { + iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); + if (cd_88591_to_utf8 != (iconv_t)(-1)) + { + static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + char buf[50]; + const char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_88591_to_utf8, + (char **) &inptr, &inbytesleft, + &outptr, &outbytesleft); + if ((int)res > 0) + result |= 8; + iconv_close (cd_88591_to_utf8); + } + } +#endif + /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is + provided. */ + if (/* Try standardized names. */ + iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) + /* Try IRIX, OSF/1 names. */ + && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) + /* Try AIX names. */ + && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) + /* Try HP-UX names. */ + && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) + result |= 16; + return result; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + am_cv_func_iconv_works=yes +else + am_cv_func_iconv_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + LIBS="$am_save_LIBS" + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5 +$as_echo "$am_cv_func_iconv_works" >&6; } + case "$am_cv_func_iconv_works" in + *no) am_func_iconv=no am_cv_lib_iconv=no ;; + *) am_func_iconv=yes ;; + esac + else + am_func_iconv=no am_cv_lib_iconv=no + fi + if test "$am_func_iconv" = yes; then + +$as_echo "#define HAVE_ICONV 1" >>confdefs.h + + fi + if test "$am_cv_lib_iconv" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5 +$as_echo_n "checking how to link with libiconv... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5 +$as_echo "$LIBICONV" >&6; } + else + CPPFLAGS="$am_save_CPPFLAGS" + LIBICONV= + LTLIBICONV= + fi + + + + + + + + + + + + use_additional=yes + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + +# Check whether --with-libintl-prefix was given. +if test "${with_libintl_prefix+set}" = set; then : + withval=$with_libintl_prefix; + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + if test "$acl_libdirstem2" != "$acl_libdirstem" \ + && ! test -d "$withval/$acl_libdirstem"; then + additional_libdir="$withval/$acl_libdirstem2" + fi + fi + fi + +fi + + LIBINTL= + LTLIBINTL= + INCINTL= + LIBINTL_PREFIX= + HAVE_LIBINTL= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='intl ' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value" + else + : + fi + else + found_dir= + found_la= + found_so= + found_a= + eval libname=\"$acl_libname_spec\" # typically: libname=lib$name + if test -n "$acl_shlibext"; then + shrext=".$acl_shlibext" # typically: shrext=.so + else + shrext= + fi + if test $use_additional = yes; then + dir="$additional_libdir" + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIBINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + if test "$enable_rpath" = no \ + || test "X$found_dir" = "X/usr/$acl_libdirstem" \ + || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" + else + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + if test "$acl_hardcode_direct" = yes; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" + else + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + haveit= + for x in $LDFLAGS $LIBINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir" + fi + if test "$acl_hardcode_minus_L" != no; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" + else + LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a" + else + LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name" + fi + fi + additional_includedir= + case "$found_dir" in + */$acl_libdirstem | */$acl_libdirstem/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` + if test "$name" = 'intl'; then + LIBINTL_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + */$acl_libdirstem2 | */$acl_libdirstem2/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` + if test "$name" = 'intl'; then + LIBINTL_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INCINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + if test -n "$found_la"; then + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ + && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ + || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIBINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIBINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + LIBINTL="${LIBINTL}${LIBINTL:+ }$dep" + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep" + ;; + esac + done + fi + else + LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$acl_hardcode_libdir_separator"; then + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" + else + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + for found_dir in $ltrpathdirs; do + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir" + done + fi + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5 +$as_echo_n "checking for GNU gettext in libintl... " >&6; } +if eval \${$gt_func_gnugettext_libintl+:} false; then : + $as_echo_n "(cached) " >&6 +else + gt_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $INCINTL" + gt_save_LIBS="$LIBS" + LIBS="$LIBS $LIBINTL" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include <libintl.h> +$gt_revision_test_code +extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias (const char *); + +int +main () +{ + +bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$gt_func_gnugettext_libintl=yes" +else + eval "$gt_func_gnugettext_libintl=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then + LIBS="$LIBS $LIBICONV" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include <libintl.h> +$gt_revision_test_code +extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias (const char *); + +int +main () +{ + +bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + LIBINTL="$LIBINTL $LIBICONV" + LTLIBINTL="$LTLIBINTL $LTLIBICONV" + eval "$gt_func_gnugettext_libintl=yes" + +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + fi + CPPFLAGS="$gt_save_CPPFLAGS" + LIBS="$gt_save_LIBS" +fi +eval ac_res=\$$gt_func_gnugettext_libintl + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + fi + + if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ + || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ + && test "$PACKAGE" != gettext-runtime \ + && test "$PACKAGE" != gettext-tools; }; then + gt_use_preinstalled_gnugettext=yes + else + LIBINTL= + LTLIBINTL= + INCINTL= + fi + + + + if test -n "$INTL_MACOSX_LIBS"; then + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" + LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" + fi + fi + + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + +$as_echo "#define ENABLE_NLS 1" >>confdefs.h + + else + USE_NLS=no + fi + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5 +$as_echo_n "checking whether to use NLS... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 +$as_echo "$USE_NLS" >&6; } + if test "$USE_NLS" = "yes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5 +$as_echo_n "checking where the gettext function comes from... " >&6; } + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then + gt_source="external libintl" + else + gt_source="libc" + fi + else + gt_source="included intl directory" + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5 +$as_echo "$gt_source" >&6; } + fi + + if test "$USE_NLS" = "yes"; then + + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5 +$as_echo_n "checking how to link with libintl... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5 +$as_echo "$LIBINTL" >&6; } + + for element in $INCINTL; do + haveit= + for x in $CPPFLAGS; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" + fi + done + + fi + + +$as_echo "#define HAVE_GETTEXT 1" >>confdefs.h + + +$as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h + + fi + + POSUB=po + fi + + + + INTLLIBS="$LIBINTL" + + + + + + +# autoheader templates for AM_GNU_GETTEXT checks. + + + + + + +# Check for GNU C Library + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU C Library" >&5 +$as_echo_n "checking for GNU C Library... " >&6; } +if ${yasm_cv_header_gnulib+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <features.h> + #ifdef __GNU_LIBRARY__ + gnulib + #endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "gnulib" >/dev/null 2>&1; then : + yasm_cv_header_gnulib=yes +else + yasm_cv_header_gnulib=no +fi +rm -f conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $yasm_cv_header_gnulib" >&5 +$as_echo "$yasm_cv_header_gnulib" >&6; } +if test "$yasm_cv_header_gnulib" = yes; then + $as_echo "#define HAVE_GNU_C_LIBRARY 1" >>confdefs.h + +fi + +# Force x86 architecture only for now. +ARCH=x86 + + + +# Require things for --enable-maintainer-mode option. +if test "$USE_MAINTAINER_MODE" = "yes"; then + # Enable debugging + if test "$debugging" != "no"; then + debugging=yes + fi + + # Enable more warnings + if test "$GCC" = "yes"; then + MORE_CFLAGS="$MORE_CFLAGS -W" + MORE_CFLAGS="$MORE_CFLAGS -Waggregate-return" + MORE_CFLAGS="$MORE_CFLAGS -Wbad-function-cast" + MORE_CFLAGS="$MORE_CFLAGS -Wcast-align" + MORE_CFLAGS="$MORE_CFLAGS -Wcast-qual" + MORE_CFLAGS="$MORE_CFLAGS -Wchar-subscripts" +# MORE_CFLAGS="$MORE_CFLAGS -Wconversion" +# MORE_CFLAGS="$MORE_CFLAGS -Wdeclaration-after-statement" +# MORE_CFLAGS="$MORE_CFLAGS -Wendif-labels" + MORE_CFLAGS="$MORE_CFLAGS -Winline" + MORE_CFLAGS="$MORE_CFLAGS -Wmissing-declarations" + MORE_CFLAGS="$MORE_CFLAGS -Wmissing-prototypes" + MORE_CFLAGS="$MORE_CFLAGS -Wnested-externs" + MORE_CFLAGS="$MORE_CFLAGS -Wpointer-arith" + MORE_CFLAGS="$MORE_CFLAGS -Wreturn-type" + MORE_CFLAGS="$MORE_CFLAGS -Wshadow" + MORE_CFLAGS="$MORE_CFLAGS -Wsign-compare" + MORE_CFLAGS="$MORE_CFLAGS -Wstrict-prototypes" + MORE_CFLAGS="$MORE_CFLAGS -Wswitch" + MORE_CFLAGS="$MORE_CFLAGS -Wwrite-strings" + MORE_CFLAGS="$MORE_CFLAGS -Wno-undef" +# MORE_CFLAGS="$MORE_CFLAGS -Wno-unused" + MORE_CFLAGS="$MORE_CFLAGS -Wno-unused-parameter" + fi +fi + +# +# Add some more CFLAGS for various options. +# + +if test "$debugging" = "no" ; then + + CFLAGS="`echo $CFLAGS' ' | sed -e 's/-g[0-9] //g' | sed -e 's/-g//g'`" + +fi + +# Turn warnings into errors +if test "$warnerror" = "yes"; then + if test "$GCC" = "yes"; then + MORE_CFLAGS="$MORE_CFLAGS -Werror" + fi +fi + +# Enable output of profiling information +if test "$profiling" = "yes"; then + if test "$GCC" = "yes"; then + MORE_CFLAGS="$MORE_CFLAGS -pg" + fi +fi + +# Enable output of gcov information +if test "$gcov" = "yes"; then + if test "$GCC" = "yes"; then + MORE_CFLAGS="$MORE_CFLAGS -fprofile-arcs -ftest-coverage" + fi +fi + +# If we're using GCC, then we can turn on -ansi -pedantic -Wall too. +if test "$USE_MAINTAINER_MODE" = "yes"; then + if test "$GCC" = yes; then + MORE_CFLAGS="-ansi -pedantic -Wall $MORE_CFLAGS" + fi +fi + + + + +if test "${build}" != "${host}" ; then + CC_FOR_BUILD=${CC_FOR_BUILD-cc} + CCLD_FOR_BUILD=${CCLD_FOR_BUILD-cc} +else + CC_FOR_BUILD="\$(CC)" + CCLD_FOR_BUILD="\$(CC)" +fi + + + + +if test "$build" != "$target" || test "$build" != "$host"; then + CPP_PROG="${CPP_FOR_HOST-cc -E}" +else + CPP_PROG="${CPP}" +fi + +cat >>confdefs.h <<_ACEOF +#define CPP_PROG "${CPP_PROG}" +_ACEOF + + +# Detect if we have Python +if test x$enable_python = xno; then + have_python=no +else + { $as_echo "$as_me:${as_lineno-$LINENO}: Checking for Python" >&5 +$as_echo "$as_me: Checking for Python" >&6;} + have_python=no + + + + + + + if test -n "$PYTHON"; then + # If the user set $PYTHON, use it and don't search something else. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $PYTHON version is >= 2.4" >&5 +$as_echo_n "checking whether $PYTHON version is >= 2.4... " >&6; } + prog="import sys +# split strings by '.' and convert to numeric. Append some zeros +# because we need at least 4 digits for the hex conversion. +# map returns an iterator in Python 3.0 and a list in 2.x +minver = list(map(int, '2.4'.split('.'))) + [0, 0, 0] +minverhex = 0 +# xrange is not present in Python 3.0 and range returns an iterator +for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i] +sys.exit(sys.hexversion < minverhex)" + if { echo "$as_me:$LINENO: $PYTHON -c "$prog"" >&5 + ($PYTHON -c "$prog") >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + as_fn_error $? "Python interpreter is too old" "$LINENO" 5 +fi + am_display_PYTHON=$PYTHON + else + # Otherwise, try each interpreter until we find one that satisfies + # VERSION. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a Python interpreter with version >= 2.4" >&5 +$as_echo_n "checking for a Python interpreter with version >= 2.4... " >&6; } +if ${am_cv_pathless_PYTHON+:} false; then : + $as_echo_n "(cached) " >&6 +else + + for am_cv_pathless_PYTHON in python python2 python3 python3.3 python3.2 python3.1 python3.0 python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 none; do + test "$am_cv_pathless_PYTHON" = none && break + prog="import sys +# split strings by '.' and convert to numeric. Append some zeros +# because we need at least 4 digits for the hex conversion. +# map returns an iterator in Python 3.0 and a list in 2.x +minver = list(map(int, '2.4'.split('.'))) + [0, 0, 0] +minverhex = 0 +# xrange is not present in Python 3.0 and range returns an iterator +for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i] +sys.exit(sys.hexversion < minverhex)" + if { echo "$as_me:$LINENO: $am_cv_pathless_PYTHON -c "$prog"" >&5 + ($am_cv_pathless_PYTHON -c "$prog") >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then : + break +fi + done +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_pathless_PYTHON" >&5 +$as_echo "$am_cv_pathless_PYTHON" >&6; } + # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON. + if test "$am_cv_pathless_PYTHON" = none; then + PYTHON=: + else + # Extract the first word of "$am_cv_pathless_PYTHON", so it can be a program name with args. +set dummy $am_cv_pathless_PYTHON; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_PYTHON+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $PYTHON in + [\\/]* | ?:[\\/]*) + ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_PYTHON="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +PYTHON=$ac_cv_path_PYTHON +if test -n "$PYTHON"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5 +$as_echo "$PYTHON" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + fi + am_display_PYTHON=$am_cv_pathless_PYTHON + fi + + + if test "$PYTHON" = :; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Python not found" >&5 +$as_echo "$as_me: WARNING: Python not found" >&2;} + else + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON version" >&5 +$as_echo_n "checking for $am_display_PYTHON version... " >&6; } +if ${am_cv_python_version+:} false; then : + $as_echo_n "(cached) " >&6 +else + am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:3])"` +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5 +$as_echo "$am_cv_python_version" >&6; } + PYTHON_VERSION=$am_cv_python_version + + + + PYTHON_PREFIX='${prefix}' + + PYTHON_EXEC_PREFIX='${exec_prefix}' + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON platform" >&5 +$as_echo_n "checking for $am_display_PYTHON platform... " >&6; } +if ${am_cv_python_platform+:} false; then : + $as_echo_n "(cached) " >&6 +else + am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"` +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_platform" >&5 +$as_echo "$am_cv_python_platform" >&6; } + PYTHON_PLATFORM=$am_cv_python_platform + + + # Just factor out some code duplication. + am_python_setup_sysconfig="\ +import sys +# Prefer sysconfig over distutils.sysconfig, for better compatibility +# with python 3.x. See automake bug#10227. +try: + import sysconfig +except ImportError: + can_use_sysconfig = 0 +else: + can_use_sysconfig = 1 +# Can't use sysconfig in CPython 2.7, since it's broken in virtualenvs: +# <https://github.com/pypa/virtualenv/issues/118> +try: + from platform import python_implementation + if python_implementation() == 'CPython' and sys.version[:3] == '2.7': + can_use_sysconfig = 0 +except ImportError: + pass" + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON script directory" >&5 +$as_echo_n "checking for $am_display_PYTHON script directory... " >&6; } +if ${am_cv_python_pythondir+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "x$prefix" = xNONE + then + am_py_prefix=$ac_default_prefix + else + am_py_prefix=$prefix + fi + am_cv_python_pythondir=`$PYTHON -c " +$am_python_setup_sysconfig +if can_use_sysconfig: + sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'}) +else: + from distutils import sysconfig + sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix') +sys.stdout.write(sitedir)"` + case $am_cv_python_pythondir in + $am_py_prefix*) + am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'` + am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"` + ;; + *) + case $am_py_prefix in + /usr|/System*) ;; + *) + am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages + ;; + esac + ;; + esac + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pythondir" >&5 +$as_echo "$am_cv_python_pythondir" >&6; } + pythondir=$am_cv_python_pythondir + + + + pkgpythondir=\${pythondir}/$PACKAGE + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON extension module directory" >&5 +$as_echo_n "checking for $am_display_PYTHON extension module directory... " >&6; } +if ${am_cv_python_pyexecdir+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "x$exec_prefix" = xNONE + then + am_py_exec_prefix=$am_py_prefix + else + am_py_exec_prefix=$exec_prefix + fi + am_cv_python_pyexecdir=`$PYTHON -c " +$am_python_setup_sysconfig +if can_use_sysconfig: + sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_prefix'}) +else: + from distutils import sysconfig + sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_prefix') +sys.stdout.write(sitedir)"` + case $am_cv_python_pyexecdir in + $am_py_exec_prefix*) + am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'` + am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"` + ;; + *) + case $am_py_exec_prefix in + /usr|/System*) ;; + *) + am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages + ;; + esac + ;; + esac + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pyexecdir" >&5 +$as_echo "$am_cv_python_pyexecdir" >&6; } + pyexecdir=$am_cv_python_pyexecdir + + + + pkgpyexecdir=\${pyexecdir}/$PACKAGE + + + + fi + + + + if test -z "$PYTHON" || test "$PYTHON" = : ; then + have_python=no + else + have_python=yes + fi + + if test x$have_python = xno ; then + if test x$enable_python = xyes ; then + as_fn_error $? "Python explicitly requested, but a suitable Python version was not found" "$LINENO" 5 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Could not find a suitable version of Python" >&5 +$as_echo "$as_me: WARNING: Could not find a suitable version of Python" >&2;} + fi + fi +fi + +# Detect if we can build Python bindings +# (needs Python, Python headers, and Cython) +if test x$enable_python_bindings = xno; then + have_python_bindings=no +else + { $as_echo "$as_me:${as_lineno-$LINENO}: Checking to see if we can build Python bindings" >&5 +$as_echo "$as_me: Checking to see if we can build Python bindings" >&6;} + have_python_bindings=no + if test x$have_python = xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Cython >= 0.11.3" >&5 +$as_echo_n "checking for Cython >= 0.11.3... " >&6; } + prog="import re, sys +from Cython.Compiler.Version import version +def get_int(arg): + matched = re.match(r'\d+', arg) + if matched is None: + return 0 + else: + return int(matched.group(0)) +# split strings by '.' and convert to numeric. Append some zeros +# because we need at least 4 digits for the hex conversion. +ver = map(get_int, version.rstrip('abcdefghijklmnopqrstuvwxyz').split('.')) + [0, 0, 0] +verhex = 0 +for i in range(0, 4): verhex = (verhex << 8) + ver[i] +minver = map(get_int, '0.11.3'.split('.')) + [0, 0, 0] +minverhex = 0 +for i in range(0, 4): minverhex = (minverhex << 8) + minver[i] +sys.exit(verhex < minverhex)" + if { echo "$as_me:$LINENO: $PYTHON -c "$prog"" >&5 + ($PYTHON -c "$prog") >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + have_cython=yes +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + have_cython=no +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for headers required to compile python extensions" >&5 +$as_echo_n "checking for headers required to compile python extensions... " >&6; } +py_prefix=`$PYTHON -c "import sys; print sys.prefix"` +py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"` +PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}" +if test "$py_prefix" != "$py_exec_prefix"; then + PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}" +fi + +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <Python.h> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 +$as_echo "found" >&6; } +have_python_headers=yes +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 +$as_echo "not found" >&6; } +have_python_headers=no +fi +rm -f conftest.err conftest.i conftest.$ac_ext +CPPFLAGS="$save_CPPFLAGS" + + + if test x$have_cython = xyes -a x$have_python_headers = xyes ; then + have_python_bindings=yes + fi + fi + + if test x$have_python_bindings = xno ; then + if test x$enable_python_bindings = xyes ; then + as_fn_error $? "Building Python bindings explicitly requested, but can't build Python bindings because either Cython, Python headers or a suitable Python version was not found" "$LINENO" 5 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Couldn't find either Cython, the Python headers or a suitable version of Python, not building Python bindings" >&5 +$as_echo "$as_me: WARNING: Couldn't find either Cython, the Python headers or a suitable version of Python, not building Python bindings" >&2;} + fi + fi +fi + + if test x$have_python = xyes; then + HAVE_PYTHON_TRUE= + HAVE_PYTHON_FALSE='#' +else + HAVE_PYTHON_TRUE='#' + HAVE_PYTHON_FALSE= +fi + + if test x$have_python_bindings = xyes; then + HAVE_PYTHON_BINDINGS_TRUE= + HAVE_PYTHON_BINDINGS_FALSE='#' +else + HAVE_PYTHON_BINDINGS_TRUE='#' + HAVE_PYTHON_BINDINGS_FALSE= +fi + + +ac_config_files="$ac_config_files Makefile po/Makefile.in" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes: double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \. + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + if test "x$cache_file" != "x/dev/null"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +$as_echo "$as_me: updating cache $cache_file" >&6;} + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else + case $cache_file in #( + */* | ?:*) + mv -f confcache "$cache_file"$$ && + mv -f "$cache_file"$$ "$cache_file" ;; #( + *) + mv -f confcache "$cache_file" ;; + esac + fi + fi + else + { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +U= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`$as_echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" + as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 +$as_echo_n "checking that generated files are newer than configure... " >&6; } + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 +$as_echo "done" >&6; } + if test -n "$EXEEXT"; then + am__EXEEXT_TRUE= + am__EXEEXT_FALSE='#' +else + am__EXEEXT_TRUE='#' + am__EXEEXT_FALSE= +fi + +if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then + as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + as_fn_error $? "conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${BUILD_MAN_TRUE}" && test -z "${BUILD_MAN_FALSE}"; then + as_fn_error $? "conditional \"BUILD_MAN\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${HAVE_PYTHON_TRUE}" && test -z "${HAVE_PYTHON_FALSE}"; then + as_fn_error $? "conditional \"HAVE_PYTHON\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${HAVE_PYTHON_BINDINGS_TRUE}" && test -z "${HAVE_PYTHON_BINDINGS_FALSE}"; then + as_fn_error $? "conditional \"HAVE_PYTHON_BINDINGS\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi + +: "${CONFIG_STATUS=./config.status}" +ac_write_fail=0 +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} +as_write_fail=0 +cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false + +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 +## ----------------------------------- ## +## Main body of $CONFIG_STATUS script. ## +## ----------------------------------- ## +_ASEOF +test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# Save the log message, to keep $0 and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by yasm $as_me 1.3.0, which was +generated by GNU Autoconf 2.69. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +case $ac_config_files in *" +"*) set x $ac_config_files; shift; ac_config_files=$*;; +esac + +case $ac_config_headers in *" +"*) set x $ac_config_headers; shift; ac_config_headers=$*;; +esac + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +ac_cs_usage="\ +\`$as_me' instantiates files and other configuration actions +from templates according to the current configuration. Unless the files +and actions are specified as TAGs, all are instantiated by default. + +Usage: $0 [OPTION]... [TAG]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + --config print configuration, then exit + -q, --quiet, --silent + do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to <bug-yasm@tortall.net>." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" +ac_cs_version="\\ +yasm config.status 1.3.0 +configured by $0, generated by GNU Autoconf 2.69, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2012 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +MKDIR_P='$MKDIR_P' +AWK='$AWK' +test -n "\$AWK" || AWK=awk +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# The default lists apply if the user does not specify any file. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=?*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + --*=) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + $as_echo "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + $as_echo "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append CONFIG_HEADERS " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + as_fn_error $? "ambiguous option: \`$1' +Try \`$0 --help' for more information.";; + --help | --hel | -h ) + $as_echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) as_fn_error $? "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; + + *) as_fn_append ac_config_targets " $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +if \$ac_cs_recheck; then + set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + shift + \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 + CONFIG_SHELL='$SHELL' + export CONFIG_SHELL + exec "\$@" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + $as_echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# +# INIT-COMMANDS +# +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" +# variables for create stdint.h replacement +PACKAGE="$PACKAGE" +VERSION="$VERSION" +ac_stdint_h="$ac_stdint_h" +_ac_stdint_h=`$as_echo "_$PACKAGE-$ac_stdint_h" | $as_tr_cpp` +ac_cv_stdint_message="$ac_cv_stdint_message" +ac_cv_header_stdint_t="$ac_cv_header_stdint_t" +ac_cv_header_stdint_x="$ac_cv_header_stdint_x" +ac_cv_header_stdint_o="$ac_cv_header_stdint_o" +ac_cv_header_stdint_u="$ac_cv_header_stdint_u" +ac_cv_type_uint64_t="$ac_cv_type_uint64_t" +ac_cv_type_u_int64_t="$ac_cv_type_u_int64_t" +ac_cv_char_data_model="$ac_cv_char_data_model" +ac_cv_long_data_model="$ac_cv_long_data_model" +ac_cv_type_int_least32_t="$ac_cv_type_int_least32_t" +ac_cv_type_int_fast32_t="$ac_cv_type_int_fast32_t" +ac_cv_type_intmax_t="$ac_cv_type_intmax_t" + +# Capture the value of obsolete ALL_LINGUAS because we need it to compute + # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it + # from automake < 1.5. + eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' + # Capture the value of LINGUAS because we need it to compute CATALOGS. + LINGUAS="${LINGUAS-%UNSET%}" + + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "$ac_stdint_h") CONFIG_COMMANDS="$CONFIG_COMMANDS $ac_stdint_h" ;; + "po-directories") CONFIG_COMMANDS="$CONFIG_COMMANDS po-directories" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; + + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= ac_tmp= + trap 'exit_status=$? + : "${ac_tmp:=$tmp}" + { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status +' 0 + trap 'as_fn_exit 1' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 +ac_tmp=$tmp + +# Set up the scripts for CONFIG_FILES section. +# No need to generate them if there are no CONFIG_FILES. +# This happens for instance with `./config.status config.h'. +if test -n "$CONFIG_FILES"; then + + +ac_cr=`echo X | tr X '\015'` +# On cygwin, bash can eat \r inside `` if the user requested igncr. +# But we know of no other shell where ac_cr would be empty at this +# point, so we can use a bashism as a fallback. +if test "x$ac_cr" = x; then + eval ac_cr=\$\'\\r\' +fi +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\\r' +else + ac_cs_awk_cr=$ac_cr +fi + +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && +_ACEOF + + +{ + echo "cat >conf$$subs.awk <<_ACEOF" && + echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && + echo "_ACEOF" +} >conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + . ./conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` + if test $ac_delim_n = $ac_delim_num; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done +rm -f conf$$subs.sh + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && +_ACEOF +sed -n ' +h +s/^/S["/; s/!.*/"]=/ +p +g +s/^[^!]*!// +:repl +t repl +s/'"$ac_delim"'$// +t delim +:nl +h +s/\(.\{148\}\)..*/\1/ +t more1 +s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ +p +n +b repl +:more1 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t nl +:delim +h +s/\(.\{148\}\)..*/\1/ +t more2 +s/["\\]/\\&/g; s/^/"/; s/$/"/ +p +b +:more2 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t delim +' <conf$$subs.awk | sed ' +/^[^""]/{ + N + s/\n// +} +' >>$CONFIG_STATUS || ac_write_fail=1 +rm -f conf$$subs.awk +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACAWK +cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && + for (key in S) S_is_set[key] = 1 + FS = "" + +} +{ + line = $ 0 + nfields = split(line, field, "@") + substed = 0 + len = length(field[1]) + for (i = 2; i < nfields; i++) { + key = field[i] + keylen = length(key) + if (S_is_set[key]) { + value = S[key] + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) + len += length(value) + length(field[++i]) + substed = 1 + } else + len += 1 + keylen + } + + print line +} + +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" +else + cat +fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 +_ACEOF + +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// +s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +fi # test -n "$CONFIG_FILES" + +# Set up the scripts for CONFIG_HEADERS section. +# No need to generate them if there are no CONFIG_HEADERS. +# This happens for instance with `./config.status Makefile'. +if test -n "$CONFIG_HEADERS"; then +cat >"$ac_tmp/defines.awk" <<\_ACAWK || +BEGIN { +_ACEOF + +# Transform confdefs.h into an awk script `defines.awk', embedded as +# here-document in config.status, that substitutes the proper values into +# config.h.in to produce config.h. + +# Create a delimiter string that does not exist in confdefs.h, to ease +# handling of long lines. +ac_delim='%!_!# ' +for ac_last_try in false false :; do + ac_tt=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_tt"; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +# For the awk script, D is an array of macro values keyed by name, +# likewise P contains macro parameters if any. Preserve backslash +# newline sequences. + +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +sed -n ' +s/.\{148\}/&'"$ac_delim"'/g +t rset +:rset +s/^[ ]*#[ ]*define[ ][ ]*/ / +t def +d +:def +s/\\$// +t bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3"/p +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p +d +:bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3\\\\\\n"\\/p +t cont +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p +t cont +d +:cont +n +s/.\{148\}/&'"$ac_delim"'/g +t clear +:clear +s/\\$// +t bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/"/p +d +:bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p +b cont +' <confdefs.h | sed ' +s/'"$ac_delim"'/"\\\ +"/g' >>$CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + for (key in D) D_is_set[key] = 1 + FS = "" +} +/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { + line = \$ 0 + split(line, arg, " ") + if (arg[1] == "#") { + defundef = arg[2] + mac1 = arg[3] + } else { + defundef = substr(arg[1], 2) + mac1 = arg[2] + } + split(mac1, mac2, "(") #) + macro = mac2[1] + prefix = substr(line, 1, index(line, defundef) - 1) + if (D_is_set[macro]) { + # Preserve the white space surrounding the "#". + print prefix "define", macro P[macro] D[macro] + next + } else { + # Replace #undef with comments. This is necessary, for example, + # in the case of _POSIX_SOURCE, which is predefined and required + # on some systems where configure will not decide to define it. + if (defundef == "undef") { + print "/*", prefix defundef, macro, "*/" + next + } + } +} +{ print } +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 +fi # test -n "$CONFIG_HEADERS" + + +eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" +shift +for ac_tag +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$ac_tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; + esac + case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + as_fn_append ac_file_inputs " '$ac_f'" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input='Generated from '` + $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +$as_echo "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`$as_echo "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac + + case $ac_tag in + *:-:* | *:-) cat >"$ac_tmp/stdin" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac + ac_MKDIR_P=$MKDIR_P + case $MKDIR_P in + [\\/$]* | ?:[\\/]* ) ;; + */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= +ac_sed_dataroot=' +/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p' +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_sed_extra="$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s|@configure_input@|$ac_sed_conf_input|;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@top_build_prefix@&$ac_top_build_prefix&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +s&@MKDIR_P@&$ac_MKDIR_P&;t t +$ac_datarootdir_hack +" +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ + >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ + "$ac_tmp/out"`; test -z "$ac_out"; } && + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&5 +$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&2;} + + rm -f "$ac_tmp/stdin" + case $ac_file in + -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; + *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; + esac \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + ;; + :H) + # + # CONFIG_HEADER + # + if test x"$ac_file" != x-; then + { + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" + } >"$ac_tmp/config.h" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +$as_echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f "$ac_file" + mv "$ac_tmp/config.h" "$ac_file" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + fi + else + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 + fi +# Compute "$ac_file"'s index in $config_headers. +_am_arg="$ac_file" +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || +$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$_am_arg" : 'X\(//\)[^/]' \| \ + X"$_am_arg" : 'X\(//\)$' \| \ + X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$_am_arg" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 +$as_echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || { + # Older Autoconf quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. + case $CONFIG_FILES in + *\'*) eval set x "$CONFIG_FILES" ;; + *) set x $CONFIG_FILES ;; + esac + shift + for mf + do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named 'Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # Grep'ing the whole file is not good either: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running 'make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "$am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir=$dirpart/$fdir; as_fn_mkdir_p + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done + done +} + ;; + "$ac_stdint_h":C) +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_stdint_h : $_ac_stdint_h" >&5 +$as_echo "$as_me: creating $ac_stdint_h : $_ac_stdint_h" >&6;} +ac_stdint=$tmp/_stdint.h + +echo "#ifndef" $_ac_stdint_h >$ac_stdint +echo "#define" $_ac_stdint_h "1" >>$ac_stdint +echo "#ifndef" _GENERATED_STDINT_H >>$ac_stdint +echo "#define" _GENERATED_STDINT_H '"'$PACKAGE $VERSION'"' >>$ac_stdint +echo "/* generated $ac_cv_stdint_message */" >>$ac_stdint +if test "_$ac_cv_header_stdint_t" != "_" ; then +echo "#define _STDINT_HAVE_STDINT_H" "1" >>$ac_stdint +echo "#include <stdint.h>" >>$ac_stdint +echo "#endif" >>$ac_stdint +echo "#endif" >>$ac_stdint +else + +cat >>$ac_stdint <<STDINT_EOF + +/* ................... shortcircuit part ........................... */ + +#if defined HAVE_STDINT_H || defined _STDINT_HAVE_STDINT_H +#include <stdint.h> +#else +#include <stddef.h> + +/* .................... configured part ............................ */ + +STDINT_EOF + +echo "/* whether we have a C99 compatible stdint header file */" >>$ac_stdint +if test "_$ac_cv_header_stdint_x" != "_" ; then + ac_header="$ac_cv_header_stdint_x" + echo "#define _STDINT_HEADER_INTPTR" '"'"$ac_header"'"' >>$ac_stdint +else + echo "/* #undef _STDINT_HEADER_INTPTR */" >>$ac_stdint +fi + +echo "/* whether we have a C96 compatible inttypes header file */" >>$ac_stdint +if test "_$ac_cv_header_stdint_o" != "_" ; then + ac_header="$ac_cv_header_stdint_o" + echo "#define _STDINT_HEADER_UINT32" '"'"$ac_header"'"' >>$ac_stdint +else + echo "/* #undef _STDINT_HEADER_UINT32 */" >>$ac_stdint +fi + +echo "/* whether we have a BSD compatible inet types header */" >>$ac_stdint +if test "_$ac_cv_header_stdint_u" != "_" ; then + ac_header="$ac_cv_header_stdint_u" + echo "#define _STDINT_HEADER_U_INT32" '"'"$ac_header"'"' >>$ac_stdint +else + echo "/* #undef _STDINT_HEADER_U_INT32 */" >>$ac_stdint +fi + +echo "" >>$ac_stdint + +if test "_$ac_header" != "_" ; then if test "$ac_header" != "stddef.h" ; then + echo "#include <$ac_header>" >>$ac_stdint + echo "" >>$ac_stdint +fi fi + +echo "/* which 64bit typedef has been found */" >>$ac_stdint +if test "$ac_cv_type_uint64_t" = "yes" ; then +echo "#define _STDINT_HAVE_UINT64_T" "1" >>$ac_stdint +else +echo "/* #undef _STDINT_HAVE_UINT64_T */" >>$ac_stdint +fi +if test "$ac_cv_type_u_int64_t" = "yes" ; then +echo "#define _STDINT_HAVE_U_INT64_T" "1" >>$ac_stdint +else +echo "/* #undef _STDINT_HAVE_U_INT64_T */" >>$ac_stdint +fi +echo "" >>$ac_stdint + +echo "/* which type model has been detected */" >>$ac_stdint +if test "_$ac_cv_char_data_model" != "_" ; then +echo "#define _STDINT_CHAR_MODEL" "$ac_cv_char_data_model" >>$ac_stdint +echo "#define _STDINT_LONG_MODEL" "$ac_cv_long_data_model" >>$ac_stdint +else +echo "/* #undef _STDINT_CHAR_MODEL // skipped */" >>$ac_stdint +echo "/* #undef _STDINT_LONG_MODEL // skipped */" >>$ac_stdint +fi +echo "" >>$ac_stdint + +echo "/* whether int_least types were detected */" >>$ac_stdint +if test "$ac_cv_type_int_least32_t" = "yes"; then +echo "#define _STDINT_HAVE_INT_LEAST32_T" "1" >>$ac_stdint +else +echo "/* #undef _STDINT_HAVE_INT_LEAST32_T */" >>$ac_stdint +fi +echo "/* whether int_fast types were detected */" >>$ac_stdint +if test "$ac_cv_type_int_fast32_t" = "yes"; then +echo "#define _STDINT_HAVE_INT_FAST32_T" "1" >>$ac_stdint +else +echo "/* #undef _STDINT_HAVE_INT_FAST32_T */" >>$ac_stdint +fi +echo "/* whether intmax_t type was detected */" >>$ac_stdint +if test "$ac_cv_type_intmax_t" = "yes"; then +echo "#define _STDINT_HAVE_INTMAX_T" "1" >>$ac_stdint +else +echo "/* #undef _STDINT_HAVE_INTMAX_T */" >>$ac_stdint +fi +echo "" >>$ac_stdint + + cat >>$ac_stdint <<STDINT_EOF +/* .................... detections part ............................ */ + +/* whether we need to define bitspecific types from compiler base types */ +#ifndef _STDINT_HEADER_INTPTR +#ifndef _STDINT_HEADER_UINT32 +#ifndef _STDINT_HEADER_U_INT32 +#define _STDINT_NEED_INT_MODEL_T +#else +#define _STDINT_HAVE_U_INT_TYPES +#endif +#endif +#endif + +#ifdef _STDINT_HAVE_U_INT_TYPES +#undef _STDINT_NEED_INT_MODEL_T +#endif + +#ifdef _STDINT_CHAR_MODEL +#if _STDINT_CHAR_MODEL+0 == 122 || _STDINT_CHAR_MODEL+0 == 124 +#ifndef _STDINT_BYTE_MODEL +#define _STDINT_BYTE_MODEL 12 +#endif +#endif +#endif + +#ifndef _STDINT_HAVE_INT_LEAST32_T +#define _STDINT_NEED_INT_LEAST_T +#endif + +#ifndef _STDINT_HAVE_INT_FAST32_T +#define _STDINT_NEED_INT_FAST_T +#endif + +#ifndef _STDINT_HEADER_INTPTR +#define _STDINT_NEED_INTPTR_T +#endif + +#ifndef _STDINT_HAVE_INTMAX_T +#define _STDINT_NEED_INTMAX_T +#endif + +/* .................... definition part ............................ */ + +/* some system headers have good uint64_t */ +#ifndef _HAVE_UINT64_T +#if defined _STDINT_HAVE_UINT64_T || defined HAVE_UINT64_T +#define _HAVE_UINT64_T +#elif defined _STDINT_HAVE_U_INT64_T || defined HAVE_U_INT64_T +#define _HAVE_UINT64_T +typedef u_int64_t uint64_t; +#endif +#endif + +#ifndef _HAVE_UINT64_T +/* .. here are some common heuristics using compiler runtime specifics */ +#if defined __STDC_VERSION__ && defined __STDC_VERSION__ >= 199901L +#define _HAVE_UINT64_T +#define _HAVE_LONGLONG_UINT64_T +typedef long long int64_t; +typedef unsigned long long uint64_t; + +#elif !defined __STRICT_ANSI__ +#if defined _MSC_VER || defined __WATCOMC__ || defined __BORLANDC__ +#define _HAVE_UINT64_T +typedef __int64 int64_t; +typedef unsigned __int64 uint64_t; + +#elif defined __GNUC__ || defined __MWERKS__ || defined __ELF__ +/* note: all ELF-systems seem to have loff-support which needs 64-bit */ +#if !defined _NO_LONGLONG +#define _HAVE_UINT64_T +#define _HAVE_LONGLONG_UINT64_T +typedef long long int64_t; +typedef unsigned long long uint64_t; +#endif + +#elif defined __alpha || (defined __mips && defined _ABIN32) +#if !defined _NO_LONGLONG +typedef long int64_t; +typedef unsigned long uint64_t; +#endif + /* compiler/cpu type to define int64_t */ +#endif +#endif +#endif + +#if defined _STDINT_HAVE_U_INT_TYPES +/* int8_t int16_t int32_t defined by inet code, redeclare the u_intXX types */ +typedef u_int8_t uint8_t; +typedef u_int16_t uint16_t; +typedef u_int32_t uint32_t; + +/* glibc compatibility */ +#ifndef __int8_t_defined +#define __int8_t_defined +#endif +#endif + +#ifdef _STDINT_NEED_INT_MODEL_T +/* we must guess all the basic types. Apart from byte-adressable system, */ +/* there a few 32-bit-only dsp-systems that we guard with BYTE_MODEL 8-} */ +/* (btw, those nibble-addressable systems are way off, or so we assume) */ + + +#if defined _STDINT_BYTE_MODEL +#if _STDINT_LONG_MODEL+0 == 242 +/* 2:4:2 = IP16 = a normal 16-bit system */ +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned long uint32_t; +#ifndef __int8_t_defined +#define __int8_t_defined +typedef char int8_t; +typedef short int16_t; +typedef long int32_t; +#endif +#elif _STDINT_LONG_MODEL+0 == 244 || _STDINT_LONG_MODEL == 444 +/* 2:4:4 = LP32 = a 32-bit system derived from a 16-bit */ +/* 4:4:4 = ILP32 = a normal 32-bit system */ +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned int uint32_t; +#ifndef __int8_t_defined +#define __int8_t_defined +typedef char int8_t; +typedef short int16_t; +typedef int int32_t; +#endif +#elif _STDINT_LONG_MODEL+0 == 484 || _STDINT_LONG_MODEL+0 == 488 +/* 4:8:4 = IP32 = a 32-bit system prepared for 64-bit */ +/* 4:8:8 = LP64 = a normal 64-bit system */ +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned int uint32_t; +#ifndef __int8_t_defined +#define __int8_t_defined +typedef char int8_t; +typedef short int16_t; +typedef int int32_t; +#endif +/* this system has a "long" of 64bit */ +#ifndef _HAVE_UINT64_T +#define _HAVE_UINT64_T +typedef unsigned long uint64_t; +typedef long int64_t; +#endif +#elif _STDINT_LONG_MODEL+0 == 448 +/* LLP64 a 64-bit system derived from a 32-bit system */ +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned int uint32_t; +#ifndef __int8_t_defined +#define __int8_t_defined +typedef char int8_t; +typedef short int16_t; +typedef int int32_t; +#endif +/* assuming the system has a "long long" */ +#ifndef _HAVE_UINT64_T +#define _HAVE_UINT64_T +#define _HAVE_LONGLONG_UINT64_T +typedef unsigned long long uint64_t; +typedef long long int64_t; +#endif +#else +#define _STDINT_NO_INT32_T +#endif +#else +#define _STDINT_NO_INT8_T +#define _STDINT_NO_INT32_T +#endif +#endif + +/* + * quote from SunOS-5.8 sys/inttypes.h: + * Use at your own risk. As of February 1996, the committee is squarely + * behind the fixed sized types; the "least" and "fast" types are still being + * discussed. The probability that the "fast" types may be removed before + * the standard is finalized is high enough that they are not currently + * implemented. + */ + +#if defined _STDINT_NEED_INT_LEAST_T +typedef int8_t int_least8_t; +typedef int16_t int_least16_t; +typedef int32_t int_least32_t; +#ifdef _HAVE_UINT64_T +typedef int64_t int_least64_t; +#endif + +typedef uint8_t uint_least8_t; +typedef uint16_t uint_least16_t; +typedef uint32_t uint_least32_t; +#ifdef _HAVE_UINT64_T +typedef uint64_t uint_least64_t; +#endif + /* least types */ +#endif + +#if defined _STDINT_NEED_INT_FAST_T +typedef int8_t int_fast8_t; +typedef int int_fast16_t; +typedef int32_t int_fast32_t; +#ifdef _HAVE_UINT64_T +typedef int64_t int_fast64_t; +#endif + +typedef uint8_t uint_fast8_t; +typedef unsigned uint_fast16_t; +typedef uint32_t uint_fast32_t; +#ifdef _HAVE_UINT64_T +typedef uint64_t uint_fast64_t; +#endif + /* fast types */ +#endif + +#ifdef _STDINT_NEED_INTMAX_T +#ifdef _HAVE_UINT64_T +typedef int64_t intmax_t; +typedef uint64_t uintmax_t; +#else +typedef long intmax_t; +typedef unsigned long uintmax_t; +#endif +#endif + +#ifdef _STDINT_NEED_INTPTR_T +#ifndef __intptr_t_defined +#define __intptr_t_defined +/* we encourage using "long" to store pointer values, never use "int" ! */ +#if _STDINT_LONG_MODEL+0 == 242 || _STDINT_LONG_MODEL+0 == 484 +typedef unsinged int uintptr_t; +typedef int intptr_t; +#elif _STDINT_LONG_MODEL+0 == 244 || _STDINT_LONG_MODEL+0 == 444 +typedef unsigned long uintptr_t; +typedef long intptr_t; +#elif _STDINT_LONG_MODEL+0 == 448 && defined _HAVE_UINT64_T +typedef uint64_t uintptr_t; +typedef int64_t intptr_t; +#else /* matches typical system types ILP32 and LP64 - but not IP16 or LLP64 */ +typedef unsigned long uintptr_t; +typedef long intptr_t; +#endif +#endif +#endif + +/* The ISO C99 standard specifies that in C++ implementations these + should only be defined if explicitly requested. */ +#if !defined __cplusplus || defined __STDC_CONSTANT_MACROS +#ifndef UINT32_C + +/* Signed. */ +# define INT8_C(c) c +# define INT16_C(c) c +# define INT32_C(c) c +# ifdef _HAVE_LONGLONG_UINT64_T +# define INT64_C(c) c ## L +# else +# define INT64_C(c) c ## LL +# endif + +/* Unsigned. */ +# define UINT8_C(c) c ## U +# define UINT16_C(c) c ## U +# define UINT32_C(c) c ## U +# ifdef _HAVE_LONGLONG_UINT64_T +# define UINT64_C(c) c ## UL +# else +# define UINT64_C(c) c ## ULL +# endif + +/* Maximal type. */ +# ifdef _HAVE_LONGLONG_UINT64_T +# define INTMAX_C(c) c ## L +# define UINTMAX_C(c) c ## UL +# else +# define INTMAX_C(c) c ## LL +# define UINTMAX_C(c) c ## ULL +# endif + + /* literalnumbers */ +#endif +#endif + +/* These limits are merily those of a two complement byte-oriented system */ + +/* Minimum of signed integral types. */ +# define INT8_MIN (-128) +# define INT16_MIN (-32767-1) +# define INT32_MIN (-2147483647-1) +# define INT64_MIN (-__INT64_C(9223372036854775807)-1) +/* Maximum of signed integral types. */ +# define INT8_MAX (127) +# define INT16_MAX (32767) +# define INT32_MAX (2147483647) +# define INT64_MAX (__INT64_C(9223372036854775807)) + +/* Maximum of unsigned integral types. */ +# define UINT8_MAX (255) +# define UINT16_MAX (65535) +# define UINT32_MAX (4294967295U) +# define UINT64_MAX (__UINT64_C(18446744073709551615)) + +/* Minimum of signed integral types having a minimum size. */ +# define INT_LEAST8_MIN INT8_MIN +# define INT_LEAST16_MIN INT16_MIN +# define INT_LEAST32_MIN INT32_MIN +# define INT_LEAST64_MIN INT64_MIN +/* Maximum of signed integral types having a minimum size. */ +# define INT_LEAST8_MAX INT8_MAX +# define INT_LEAST16_MAX INT16_MAX +# define INT_LEAST32_MAX INT32_MAX +# define INT_LEAST64_MAX INT64_MAX + +/* Maximum of unsigned integral types having a minimum size. */ +# define UINT_LEAST8_MAX UINT8_MAX +# define UINT_LEAST16_MAX UINT16_MAX +# define UINT_LEAST32_MAX UINT32_MAX +# define UINT_LEAST64_MAX UINT64_MAX + + /* shortcircuit*/ +#endif + /* once */ +#endif +#endif +STDINT_EOF +fi + if cmp -s $ac_stdint_h $ac_stdint 2>/dev/null; then + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_stdint_h is unchanged" >&5 +$as_echo "$as_me: $ac_stdint_h is unchanged" >&6;} + else + ac_dir=`$as_dirname -- "$ac_stdint_h" || +$as_expr X"$ac_stdint_h" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_stdint_h" : 'X\(//\)[^/]' \| \ + X"$ac_stdint_h" : 'X\(//\)$' \| \ + X"$ac_stdint_h" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$ac_stdint_h" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p + rm -f $ac_stdint_h + mv $ac_stdint $ac_stdint_h + fi + ;; + "po-directories":C) + for ac_file in $CONFIG_FILES; do + # Support "outfile[:infile[:infile...]]" + case "$ac_file" in + *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + esac + # PO directories have a Makefile.in generated from Makefile.in.in. + case "$ac_file" in */Makefile.in) + # Adjust a relative srcdir. + ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` + ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'` + ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` + # In autoconf-2.13 it is called $ac_given_srcdir. + # In autoconf-2.50 it is called $srcdir. + test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" + case "$ac_given_srcdir" in + .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; + /*) top_srcdir="$ac_given_srcdir" ;; + *) top_srcdir="$ac_dots$ac_given_srcdir" ;; + esac + # Treat a directory as a PO directory if and only if it has a + # POTFILES.in file. This allows packages to have multiple PO + # directories under different names or in different locations. + if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then + rm -f "$ac_dir/POTFILES" + test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" + gt_tab=`printf '\t'` + cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" + POMAKEFILEDEPS="POTFILES.in" + # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend + # on $ac_dir but don't depend on user-specified configuration + # parameters. + if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then + # The LINGUAS file contains the set of available languages. + if test -n "$OBSOLETE_ALL_LINGUAS"; then + test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" + fi + ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` + # Hide the ALL_LINGUAS assignment from automake < 1.5. + eval 'ALL_LINGUAS''=$ALL_LINGUAS_' + POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" + else + # The set of available languages was given in configure.in. + # Hide the ALL_LINGUAS assignment from automake < 1.5. + eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' + fi + # Compute POFILES + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) + # Compute UPDATEPOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) + # Compute DUMMYPOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) + # Compute GMOFILES + # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) + case "$ac_given_srcdir" in + .) srcdirpre= ;; + *) srcdirpre='$(srcdir)/' ;; + esac + POFILES= + UPDATEPOFILES= + DUMMYPOFILES= + GMOFILES= + for lang in $ALL_LINGUAS; do + POFILES="$POFILES $srcdirpre$lang.po" + UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" + DUMMYPOFILES="$DUMMYPOFILES $lang.nop" + GMOFILES="$GMOFILES $srcdirpre$lang.gmo" + done + # CATALOGS depends on both $ac_dir and the user's LINGUAS + # environment variable. + INST_LINGUAS= + if test -n "$ALL_LINGUAS"; then + for presentlang in $ALL_LINGUAS; do + useit=no + if test "%UNSET%" != "$LINGUAS"; then + desiredlanguages="$LINGUAS" + else + desiredlanguages="$ALL_LINGUAS" + fi + for desiredlang in $desiredlanguages; do + # Use the presentlang catalog if desiredlang is + # a. equal to presentlang, or + # b. a variant of presentlang (because in this case, + # presentlang can be used as a fallback for messages + # which are not translated in the desiredlang catalog). + case "$desiredlang" in + "$presentlang"*) useit=yes;; + esac + done + if test $useit = yes; then + INST_LINGUAS="$INST_LINGUAS $presentlang" + fi + done + fi + CATALOGS= + if test -n "$INST_LINGUAS"; then + for lang in $INST_LINGUAS; do + CATALOGS="$CATALOGS $lang.gmo" + done + fi + test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" + sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" + for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do + if test -f "$f"; then + case "$f" in + *.orig | *.bak | *~) ;; + *) cat "$f" >> "$ac_dir/Makefile" ;; + esac + fi + done + fi + ;; + esac + done ;; + + esac +done # for ac_tag + + +as_fn_exit 0 +_ACEOF +ac_clean_files=$ac_clean_files_save + +test $ac_write_fail = 0 || + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || as_fn_exit 1 +fi +if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + diff --git a/configure.ac b/configure.ac index c0507a6b..01b61097 100644 --- a/configure.ac +++ b/configure.ac @@ -11,7 +11,7 @@ AC_INIT([yasm], AC_CONFIG_AUX_DIR(config) AC_CONFIG_HEADER([config.h]) -AM_INIT_AUTOMAKE([1.9.6 foreign]) +AM_INIT_AUTOMAKE([1.9.6 foreign subdir-objects]) AM_MAINTAINER_MODE # diff --git a/frontends/CMakeLists.txt b/frontends/CMakeLists.txt index 0d117734..9858b616 100644 --- a/frontends/CMakeLists.txt +++ b/frontends/CMakeLists.txt @@ -1,2 +1,3 @@ ADD_SUBDIRECTORY(yasm) ADD_SUBDIRECTORY(tasm) +ADD_SUBDIRECTORY(vsyasm) diff --git a/frontends/tasm/CMakeLists.txt b/frontends/tasm/CMakeLists.txt index 982b95d1..e275ab84 100644 --- a/frontends/tasm/CMakeLists.txt +++ b/frontends/tasm/CMakeLists.txt @@ -15,12 +15,20 @@ ADD_CUSTOM_COMMAND( SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}) -ADD_EXECUTABLE(ytasm - tasm.c - tasm-options.c - ${yasm_SOURCE_DIR}/frontends/yasm/yasm-plugin.c - ) -TARGET_LINK_LIBRARIES(ytasm libyasm ${LIBDL}) +IF(BUILD_SHARED_LIBS) + ADD_EXECUTABLE(ytasm + tasm.c + tasm-options.c + ${yasm_SOURCE_DIR}/frontends/yasm/yasm-plugin.c + ) + TARGET_LINK_LIBRARIES(ytasm libyasm ${LIBDL}) +ELSE(BUILD_SHARED_LIBS) + ADD_EXECUTABLE(ytasm + tasm.c + tasm-options.c + ) + TARGET_LINK_LIBRARIES(ytasm yasmstd libyasm) +ENDIF(BUILD_SHARED_LIBS) SET_SOURCE_FILES_PROPERTIES(tasm.c PROPERTIES OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/license.c diff --git a/frontends/tasm/tasm-options.c b/frontends/tasm/tasm-options.c index 7c23c468..57c3bdfd 100644 --- a/frontends/tasm/tasm-options.c +++ b/frontends/tasm/tasm-options.c @@ -102,14 +102,13 @@ parse_cmdline(int argc, char **argv, opt_option *options, size_t nopts, void help_msg(const char *msg, const char *tail, opt_option *options, size_t nopts) { - char optbuf[100], optopt[100]; + char optbuf[100]; size_t i; printf("%s", gettext(msg)); for (i = 0; i < nopts; i++) { optbuf[0] = 0; - optopt[0] = 0; if (options[i].takes_param) { if (options[i].opt) diff --git a/frontends/tasm/tasm.c b/frontends/tasm/tasm.c index b0b89de7..58954b64 100644 --- a/frontends/tasm/tasm.c +++ b/frontends/tasm/tasm.c @@ -38,7 +38,7 @@ #include "tasm-options.h" -#ifdef CMAKE_BUILD +#if defined(CMAKE_BUILD) && defined(BUILD_SHARED_LIBS) #include "yasm-plugin.h" #endif @@ -46,6 +46,10 @@ #define DEFAULT_OBJFMT_MODULE "bin" +#if defined(CMAKE_BUILD) && !defined(BUILD_SHARED_LIBS) +void yasm_init_plugin(void); +#endif + /*@null@*/ /*@only@*/ static char *obj_filename = NULL, *in_filename = NULL; /*@null@*/ /*@only@*/ static char *list_filename = NULL, *xref_filename = NULL; /*@null@*/ /*@only@*/ static char *machine_name = NULL; @@ -457,10 +461,14 @@ main(int argc, char *argv[]) #ifdef CMAKE_BUILD /* Load standard modules */ +#ifdef BUILD_SHARED_LIBS if (!load_plugin("yasmstd")) { print_error(_("%s: could not load standard modules"), _("FATAL")); return EXIT_FAILURE; } +#else + yasm_init_plugin(); +#endif #endif /* Initialize parameter storage */ @@ -640,7 +648,7 @@ cleanup(yasm_object *object) if (errfile != stderr && errfile != stdout) fclose(errfile); -#ifdef CMAKE_BUILD +#if defined(CMAKE_BUILD) && defined(BUILD_SHARED_LIBS) unload_plugins(); #endif } diff --git a/frontends/vsyasm/CMakeLists.txt b/frontends/vsyasm/CMakeLists.txt index 62c7405c..6815b18d 100644 --- a/frontends/vsyasm/CMakeLists.txt +++ b/frontends/vsyasm/CMakeLists.txt @@ -15,12 +15,20 @@ ADD_CUSTOM_COMMAND( SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}) -ADD_EXECUTABLE(vsyasm - vsyasm.c - ${yasm_SOURCE_DIR}/frontends/yasm/yasm-options.c - ${yasm_SOURCE_DIR}/frontends/yasm/yasm-plugin.c - ) -TARGET_LINK_LIBRARIES(vsyasm libyasm ${LIBDL}) +IF(BUILD_SHARED_LIBS) + ADD_EXECUTABLE(vsyasm + vsyasm.c + ${yasm_SOURCE_DIR}/frontends/yasm/yasm-options.c + ${yasm_SOURCE_DIR}/frontends/yasm/yasm-plugin.c + ) + TARGET_LINK_LIBRARIES(vsyasm libyasm ${LIBDL}) +ELSE(BUILD_SHARED_LIBS) + ADD_EXECUTABLE(vsyasm + vsyasm.c + ${yasm_SOURCE_DIR}/frontends/yasm/yasm-options.c + ) + TARGET_LINK_LIBRARIES(vsyasm yasmstd libyasm) +ENDIF(BUILD_SHARED_LIBS) SET_SOURCE_FILES_PROPERTIES(vsyasm.c PROPERTIES OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/license.c diff --git a/frontends/vsyasm/vsyasm.c b/frontends/vsyasm/vsyasm.c index 4ab46369..905145fa 100644 --- a/frontends/vsyasm/vsyasm.c +++ b/frontends/vsyasm/vsyasm.c @@ -37,12 +37,16 @@ #include "frontends/yasm/yasm-options.h" -#ifdef CMAKE_BUILD +#if defined(CMAKE_BUILD) && defined(BUILD_SHARED_LIBS) #include "frontends/yasm/yasm-plugin.h" #endif #include "license.c" +#if defined(CMAKE_BUILD) && !defined(BUILD_SHARED_LIBS) +void yasm_init_plugin(void); +#endif + /*@null@*/ /*@only@*/ static char *objdir_pathname = NULL; /*@null@*/ /*@only@*/ static char *global_prefix = NULL, *global_suffix = NULL; /*@null@*/ /*@only@*/ static char *listdir_pathname = NULL; @@ -107,7 +111,7 @@ static int opt_preproc_option(char *cmd, /*@null@*/ char *param, int extra); static int opt_ewmsg_handler(char *cmd, /*@null@*/ char *param, int extra); static int opt_prefix_handler(char *cmd, /*@null@*/ char *param, int extra); static int opt_suffix_handler(char *cmd, /*@null@*/ char *param, int extra); -#ifdef CMAKE_BUILD +#if defined(CMAKE_BUILD) && defined(BUILD_SHARED_LIBS) static int opt_plugin_handler(char *cmd, /*@null@*/ char *param, int extra); #endif @@ -207,7 +211,7 @@ static opt_option options[] = N_("append argument to name of all external symbols"), N_("suffix") }, { 0, "postfix", 1, opt_suffix_handler, 0, N_("append argument to name of all external symbols"), N_("suffix") }, -#ifdef CMAKE_BUILD +#if defined(CMAKE_BUILD) && defined(BUILD_SHARED_LIBS) { 'N', "plugin", 1, opt_plugin_handler, 0, N_("load plugin module"), N_("plugin") }, #endif @@ -542,10 +546,14 @@ main(int argc, char *argv[]) #ifdef CMAKE_BUILD /* Load standard modules */ +#ifdef BUILD_SHARED_LIBS if (!load_plugin("yasmstd")) { print_error(_("%s: could not load standard modules"), _("FATAL")); return EXIT_FAILURE; } +#else + yasm_init_plugin(); +#endif #endif /* Initialize parameter storage */ @@ -783,7 +791,7 @@ cleanup(void) if (errfile != stderr && errfile != stdout) fclose(errfile); -#ifdef CMAKE_BUILD +#if defined(CMAKE_BUILD) && defined(BUILD_SHARED_LIBS) unload_plugins(); #endif } @@ -1201,7 +1209,7 @@ opt_suffix_handler(/*@unused@*/ char *cmd, char *param, /*@unused@*/ int extra) return 0; } -#ifdef CMAKE_BUILD +#if defined(CMAKE_BUILD) && defined(BUILD_SHARED_LIBS) static int opt_plugin_handler(/*@unused@*/ char *cmd, char *param, /*@unused@*/ int extra) diff --git a/frontends/yasm/CMakeLists.txt b/frontends/yasm/CMakeLists.txt index 6d963eb4..b11d7f82 100644 --- a/frontends/yasm/CMakeLists.txt +++ b/frontends/yasm/CMakeLists.txt @@ -12,12 +12,20 @@ ADD_CUSTOM_COMMAND( SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}) -ADD_EXECUTABLE(yasm - yasm.c - yasm-options.c - yasm-plugin.c - ) -TARGET_LINK_LIBRARIES(yasm libyasm ${LIBDL}) +IF(BUILD_SHARED_LIBS) + ADD_EXECUTABLE(yasm + yasm.c + yasm-options.c + yasm-plugin.c + ) + TARGET_LINK_LIBRARIES(yasm libyasm ${LIBDL}) +ELSE(BUILD_SHARED_LIBS) + ADD_EXECUTABLE(yasm + yasm.c + yasm-options.c + ) + TARGET_LINK_LIBRARIES(yasm yasmstd libyasm) +ENDIF(BUILD_SHARED_LIBS) SET_SOURCE_FILES_PROPERTIES(yasm.c PROPERTIES OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/license.c diff --git a/frontends/yasm/genstring.py b/frontends/yasm/genstring.py index 96f49d9f..5e8bf8a1 100755 --- a/frontends/yasm/genstring.py +++ b/frontends/yasm/genstring.py @@ -23,19 +23,23 @@ # 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. +import sys + +def lprint(s, f = sys.stdout, e = '\n') : + f.write(s + e) def file_to_string(fout, str_name, fin_name): from os.path import basename - print >>fout, "/* This file auto-generated from %s by genstring.py - don't edit it */\n" % basename(fin_name) - print >>fout, "static const char* %s[] = {" % str_name - print >>fout, "\n".join(' "%s",' % - l.strip().replace('\\', '\\\\').replace('"', '\\"') - for l in open(fin_name)) - print >>fout, "};" + lprint("/* This file auto-generated from %s by genstring.py - don't edit it */\n" % basename(fin_name), f=fout) + lprint("static const char* %s[] = {" % str_name, f=fout) + lprint("\n".join(' "%s",' % + l.strip().replace('\\', '\\\\').replace('"', '\\"') + for l in open(fin_name)), + f=fout) + lprint("};", f=fout) if __name__ == "__main__": - import sys if len(sys.argv) != 4: - print >>sys.stderr, "Usage: genstring.py <string> <outfile> <file>" + lprint("Usage: genstring.py <string> <outfile> <file>", f=sys.stderr) sys.exit(2) file_to_string(open(sys.argv[2], "w"), sys.argv[1], sys.argv[3]) diff --git a/frontends/yasm/yasm.c b/frontends/yasm/yasm.c index 76353fc6..ff4c59e2 100644 --- a/frontends/yasm/yasm.c +++ b/frontends/yasm/yasm.c @@ -37,7 +37,7 @@ #include "yasm-options.h" -#ifdef CMAKE_BUILD +#if defined(CMAKE_BUILD) && defined(BUILD_SHARED_LIBS) #include "yasm-plugin.h" #endif @@ -108,10 +108,14 @@ static int opt_ewmsg_handler(char *cmd, /*@null@*/ char *param, int extra); static int opt_makedep_handler(char *cmd, /*@null@*/ char *param, int extra); static int opt_prefix_handler(char *cmd, /*@null@*/ char *param, int extra); static int opt_suffix_handler(char *cmd, /*@null@*/ char *param, int extra); -#ifdef CMAKE_BUILD +#if defined(CMAKE_BUILD) && defined(BUILD_SHARED_LIBS) static int opt_plugin_handler(char *cmd, /*@null@*/ char *param, int extra); #endif +#if defined(CMAKE_BUILD) && !defined(BUILD_SHARED_LIBS) +void yasm_init_plugin(void); +#endif + static /*@only@*/ char *replace_extension(const char *orig, /*@null@*/ const char *ext, const char *def); static void print_error(const char *fmt, ...); @@ -204,7 +208,7 @@ static opt_option options[] = N_("append argument to name of all external symbols"), N_("suffix") }, { 0, "postfix", 1, opt_suffix_handler, 0, N_("append argument to name of all external symbols"), N_("suffix") }, -#ifdef CMAKE_BUILD +#if defined(CMAKE_BUILD) && defined(BUILD_SHARED_LIBS) { 'N', "plugin", 1, opt_plugin_handler, 0, N_("load plugin module"), N_("plugin") }, #endif @@ -214,7 +218,7 @@ static opt_option options[] = /*@observer@*/ static const char *version_msg[] = { PACKAGE_STRING, "Compiled on " __DATE__ ".", - "Copyright (c) 2001-2011 Peter Johnson and other Yasm developers.", + "Copyright (c) 2001-2014 Peter Johnson and other Yasm developers.", "Run yasm --license for licensing overview and summary." }; @@ -611,10 +615,14 @@ main(int argc, char *argv[]) #ifdef CMAKE_BUILD /* Load standard modules */ +#ifdef BUILD_SHARED_LIBS if (!load_plugin("yasmstd")) { print_error(_("%s: could not load standard modules"), _("FATAL")); return EXIT_FAILURE; } +#else + yasm_init_plugin(); +#endif #endif /* Initialize parameter storage */ @@ -811,7 +819,7 @@ cleanup(yasm_object *object) if (errfile != stderr && errfile != stdout) fclose(errfile); -#ifdef CMAKE_BUILD +#if defined(CMAKE_BUILD) && defined(BUILD_SHARED_LIBS) unload_plugins(); #endif } @@ -1192,7 +1200,7 @@ opt_suffix_handler(/*@unused@*/ char *cmd, char *param, /*@unused@*/ int extra) return 0; } -#ifdef CMAKE_BUILD +#if defined(CMAKE_BUILD) && defined(BUILD_SHARED_LIBS) static int opt_plugin_handler(/*@unused@*/ char *cmd, char *param, /*@unused@*/ int extra) diff --git a/libyasm-stdint.h.cmake b/libyasm-stdint.h.cmake index f2361d4c..3759a035 100644 --- a/libyasm-stdint.h.cmake +++ b/libyasm-stdint.h.cmake @@ -20,8 +20,13 @@ typedef unsigned long uintptr_t; typedef unsigned long uintptr_t; #endif +#ifndef BUILD_SHARED_LIBS +#cmakedefine BUILD_SHARED_LIBS +#define BUILD_SHARED_LIBS_UNDEF +#endif + #ifndef YASM_LIB_DECL -# ifdef _MSC_VER +# if defined(BUILD_SHARED_LIBS) && defined(_MSC_VER) # ifdef YASM_LIB_SOURCE # define YASM_LIB_DECL __declspec(dllexport) # else @@ -33,5 +38,9 @@ typedef unsigned long uintptr_t; #endif #undef HAVE_STDINT_H +#ifdef BUILD_SHARED_LIBS_UNDEF +#undef BUILD_SHARED_LIBS +#undef BUILD_SHARED_LIBS_UNDEF +#endif #endif diff --git a/libyasm/CMakeLists.txt b/libyasm/CMakeLists.txt index f886f734..bd9b7b28 100644 --- a/libyasm/CMakeLists.txt +++ b/libyasm/CMakeLists.txt @@ -1,6 +1,6 @@ SET(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}) -ADD_LIBRARY(libyasm SHARED +ADD_LIBRARY(libyasm assocdat.c bitvect.c bc-align.c @@ -31,10 +31,16 @@ ADD_LIBRARY(libyasm SHARED xmalloc.c xstrdup.c ) -SET_TARGET_PROPERTIES(libyasm PROPERTIES - OUTPUT_NAME "yasm" - COMPILE_FLAGS -DYASM_LIB_SOURCE - ) +IF(BUILD_SHARED_LIBS) + SET_TARGET_PROPERTIES(libyasm PROPERTIES + OUTPUT_NAME "yasm" + COMPILE_FLAGS -DYASM_LIB_SOURCE + ) +ELSE(BUILD_SHARED_LIBS) + SET_TARGET_PROPERTIES(libyasm PROPERTIES + COMPILE_FLAGS -DYASM_LIB_SOURCE + ) +ENDIF(BUILD_SHARED_LIBS) INSTALL(TARGETS libyasm RUNTIME DESTINATION bin diff --git a/libyasm/bytecode.h b/libyasm/bytecode.h index 4e8a801f..47cd2624 100644 --- a/libyasm/bytecode.h +++ b/libyasm/bytecode.h @@ -553,6 +553,7 @@ yasm_dataval *yasm_dv_create_expr(/*@keep@*/ yasm_expr *expn); * \param len length of string * \return Newly allocated data value. */ +YASM_LIB_DECL yasm_dataval *yasm_dv_create_string(/*@keep@*/ char *contents, size_t len); /** Create a new data value from raw bytes data. @@ -567,6 +568,7 @@ yasm_dataval *yasm_dv_create_raw(/*@keep@*/ unsigned char *contents, /** Create a new uninitialized data value. * \return Newly allocated data value. */ +YASM_LIB_DECL yasm_dataval *yasm_dv_create_reserve(void); #ifndef YASM_DOXYGEN @@ -578,6 +580,7 @@ yasm_dataval *yasm_dv_create_reserve(void); * \param dv data value * \return Value, or null if non-value (e.g. string or raw). */ +YASM_LIB_DECL yasm_value *yasm_dv_get_value(yasm_dataval *dv); /** Set multiple field of a data value. @@ -586,6 +589,7 @@ yasm_value *yasm_dv_get_value(yasm_dataval *dv); * \param dv data value * \param e multiple (kept, do not free) */ +YASM_LIB_DECL void yasm_dv_set_multiple(yasm_dataval *dv, /*@keep@*/ yasm_expr *e); /** Get the data value multiple value as an unsigned long integer. @@ -593,6 +597,7 @@ void yasm_dv_set_multiple(yasm_dataval *dv, /*@keep@*/ yasm_expr *e); * \param multiple multiple value (output) * \return 1 on error (set with yasm_error_set), 0 on success. */ +YASM_LIB_DECL int yasm_dv_get_multiple(yasm_dataval *dv, /*@out@*/ unsigned long *multiple); /** Initialize a list of data values. diff --git a/libyasm/expr.h b/libyasm/expr.h index 2b06cd3a..0de62dfe 100644 --- a/libyasm/expr.h +++ b/libyasm/expr.h @@ -296,11 +296,13 @@ void yasm_expr_print(/*@null@*/ const yasm_expr *e, FILE *f); /** Return the size of an expression, if the user provided it * \param e expression */ +YASM_LIB_DECL unsigned int yasm_expr_size(const yasm_expr *e); /** Return the segment of an expression, if the user provided it * \param e expression */ +YASM_LIB_DECL const char *yasm_expr_segment(const yasm_expr *e); /** Traverse over expression tree in order (const version). diff --git a/libyasm/section.c b/libyasm/section.c index 8ad7deab..ba582bfa 100644 --- a/libyasm/section.c +++ b/libyasm/section.c @@ -1315,12 +1315,10 @@ yasm_object_optimize(yasm_object *object, yasm_errwarns *errwarns) unsigned long offset = 0; yasm_bytecode *bc = STAILQ_FIRST(§->bcs); - yasm_bytecode *prevbc; bc->bc_index = bc_index++; /* Skip our locally created empty bytecode first. */ - prevbc = bc; bc = STAILQ_NEXT(bc, link); /* Iterate through the remainder, if any. */ @@ -1358,7 +1356,6 @@ yasm_object_optimize(yasm_object *object, yasm_errwarns *errwarns) offset += bc->len*bc->mult_int; } - prevbc = bc; bc = STAILQ_NEXT(bc, link); } } diff --git a/libyasm/symrec.h b/libyasm/symrec.h index 62071589..b1f797c6 100644 --- a/libyasm/symrec.h +++ b/libyasm/symrec.h @@ -326,24 +326,28 @@ int yasm_symrec_get_label(const yasm_symrec *sym, * \param sym symbol * \param size size to be set */ +YASM_LIB_DECL void yasm_symrec_set_size(yasm_symrec *sym, int size); /** Get the size of a symbol. * \param sym symbol * \return size of the symbol, 0 if none specified by the user. */ +YASM_LIB_DECL int yasm_symrec_get_size(const yasm_symrec *sym); /** Set the segment of a symbol. * \param sym symbol * \param segment segment to be set */ +YASM_LIB_DECL void yasm_symrec_set_segment(yasm_symrec *sym, const char *segment); /** Get the segment of a symbol. * \param sym symbol * \return segment of the symbol, NULL if none specified by the user. */ +YASM_LIB_DECL const char *yasm_symrec_get_segment(const yasm_symrec *sym); /** Determine if symbol is the "absolute" symbol created by diff --git a/m4/gettext.m4 b/m4/gettext.m4 index c9ae1f7d..8d1f0665 100644 --- a/m4/gettext.m4 +++ b/m4/gettext.m4 @@ -1,5 +1,5 @@ -# gettext.m4 serial 60 (gettext-0.17) -dnl Copyright (C) 1995-2007 Free Software Foundation, Inc. +# gettext.m4 serial 66 (gettext-0.18.2) +dnl Copyright (C) 1995-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -15,7 +15,7 @@ dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000. -dnl Bruno Haible <haible@clisp.cons.org>, 2000-2006. +dnl Bruno Haible <haible@clisp.cons.org>, 2000-2006, 2008-2010. dnl Macro to add for using GNU gettext. @@ -35,7 +35,7 @@ dnl will be ignored. If NEEDSYMBOL is specified and is dnl 'need-formatstring-macros', then GNU gettext implementations that don't dnl support the ISO C 99 <inttypes.h> formatstring macros will be ignored. dnl INTLDIR is used to find the intl libraries. If empty, -dnl the value `$(top_builddir)/intl/' is used. +dnl the value '$(top_builddir)/intl/' is used. dnl dnl The result of the configuration is one of three cases: dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled @@ -60,6 +60,8 @@ AC_DEFUN([AM_GNU_GETTEXT], ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT ])])])])]) + ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old], + [AC_DIAGNOSE([obsolete], [Use of AM_GNU_GETTEXT without [external] argument is deprecated.])]) ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT ])])])]) @@ -95,7 +97,7 @@ AC_DEFUN([AM_GNU_GETTEXT], AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) ]) - dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation. + dnl Sometimes, on Mac OS X, libintl requires linking with CoreFoundation. gt_INTL_MACOSX dnl Set USE_NLS. @@ -123,11 +125,11 @@ AC_DEFUN([AM_GNU_GETTEXT], gt_use_preinstalled_gnugettext=no ifelse(gt_included_intl, yes, [ AC_MSG_CHECKING([whether included gettext is requested]) - AC_ARG_WITH(included-gettext, + AC_ARG_WITH([included-gettext], [ --with-included-gettext use the GNU gettext library included here], nls_cv_force_use_gnu_gettext=$withval, nls_cv_force_use_gnu_gettext=no) - AC_MSG_RESULT($nls_cv_force_use_gnu_gettext) + AC_MSG_RESULT([$nls_cv_force_use_gnu_gettext]) nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" if test "$nls_cv_force_use_gnu_gettext" != "yes"; then @@ -155,12 +157,18 @@ changequote([,])dnl fi AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc], - [AC_TRY_LINK([#include <libintl.h> + [AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[ +#include <libintl.h> $gt_revision_test_code extern int _nl_msg_cat_cntr; -extern int *_nl_domain_bindings;], - [bindtextdomain ("", ""); -return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings], +extern int *_nl_domain_bindings; + ]], + [[ +bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings + ]])], [eval "$gt_func_gnugettext_libc=yes"], [eval "$gt_func_gnugettext_libc=no"])]) @@ -181,35 +189,47 @@ return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_b gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" dnl Now see whether libintl exists and does not depend on libiconv. - AC_TRY_LINK([#include <libintl.h> + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[ +#include <libintl.h> $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif -const char *_nl_expand_alias (const char *);], - [bindtextdomain ("", ""); -return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], +const char *_nl_expand_alias (const char *); + ]], + [[ +bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") + ]])], [eval "$gt_func_gnugettext_libintl=yes"], [eval "$gt_func_gnugettext_libintl=no"]) dnl Now see whether libintl exists and depends on libiconv. if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" - AC_TRY_LINK([#include <libintl.h> + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[ +#include <libintl.h> $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif -const char *_nl_expand_alias (const char *);], - [bindtextdomain ("", ""); -return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], - [LIBINTL="$LIBINTL $LIBICONV" - LTLIBINTL="$LTLIBINTL $LTLIBICONV" - eval "$gt_func_gnugettext_libintl=yes" - ]) +const char *_nl_expand_alias (const char *); + ]], + [[ +bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") + ]])], + [LIBINTL="$LIBINTL $LIBICONV" + LTLIBINTL="$LTLIBINTL $LTLIBICONV" + eval "$gt_func_gnugettext_libintl=yes" + ]) fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS"]) @@ -267,7 +287,7 @@ return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_a if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then - AC_DEFINE(ENABLE_NLS, 1, + AC_DEFINE([ENABLE_NLS], [1], [Define to 1 if translation of program messages to the user's native language is requested.]) else @@ -301,9 +321,9 @@ return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_a fi dnl For backward compatibility. Some packages may be using this. - AC_DEFINE(HAVE_GETTEXT, 1, + AC_DEFINE([HAVE_GETTEXT], [1], [Define if the GNU gettext() function is already present or preinstalled.]) - AC_DEFINE(HAVE_DCGETTEXT, 1, + AC_DEFINE([HAVE_DCGETTEXT], [1], [Define if the GNU dcgettext() function is already present or preinstalled.]) fi @@ -319,9 +339,9 @@ return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_a fi dnl Make all variables we use known to autoconf. - AC_SUBST(BUILD_INCLUDED_LIBINTL) - AC_SUBST(USE_INCLUDED_LIBINTL) - AC_SUBST(CATOBJEXT) + AC_SUBST([BUILD_INCLUDED_LIBINTL]) + AC_SUBST([USE_INCLUDED_LIBINTL]) + AC_SUBST([CATOBJEXT]) dnl For backward compatibility. Some configure.ins may be using this. nls_cv_header_intl= @@ -329,36 +349,36 @@ return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_a dnl For backward compatibility. Some Makefiles may be using this. DATADIRNAME=share - AC_SUBST(DATADIRNAME) + AC_SUBST([DATADIRNAME]) dnl For backward compatibility. Some Makefiles may be using this. INSTOBJEXT=.mo - AC_SUBST(INSTOBJEXT) + AC_SUBST([INSTOBJEXT]) dnl For backward compatibility. Some Makefiles may be using this. GENCAT=gencat - AC_SUBST(GENCAT) + AC_SUBST([GENCAT]) dnl For backward compatibility. Some Makefiles may be using this. INTLOBJS= if test "$USE_INCLUDED_LIBINTL" = yes; then INTLOBJS="\$(GETTOBJS)" fi - AC_SUBST(INTLOBJS) + AC_SUBST([INTLOBJS]) dnl Enable libtool support if the surrounding package wishes it. INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix - AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX) + AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX]) ]) dnl For backward compatibility. Some Makefiles may be using this. INTLLIBS="$LIBINTL" - AC_SUBST(INTLLIBS) + AC_SUBST([INTLLIBS]) dnl Make all documented variables known to autoconf. - AC_SUBST(LIBINTL) - AC_SUBST(LTLIBINTL) - AC_SUBST(POSUB) + AC_SUBST([LIBINTL]) + AC_SUBST([LTLIBINTL]) + AC_SUBST([POSUB]) ]) diff --git a/m4/glibc2.m4 b/m4/glibc2.m4 deleted file mode 100644 index e8f5bfe6..00000000 --- a/m4/glibc2.m4 +++ /dev/null @@ -1,30 +0,0 @@ -# glibc2.m4 serial 1 -dnl Copyright (C) 2000-2002, 2004 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -# Test for the GNU C Library, version 2.0 or newer. -# From Bruno Haible. - -AC_DEFUN([gt_GLIBC2], - [ - AC_CACHE_CHECK(whether we are using the GNU C Library 2 or newer, - ac_cv_gnu_library_2, - [AC_EGREP_CPP([Lucky GNU user], - [ -#include <features.h> -#ifdef __GNU_LIBRARY__ - #if (__GLIBC__ >= 2) - Lucky GNU user - #endif -#endif - ], - ac_cv_gnu_library_2=yes, - ac_cv_gnu_library_2=no) - ] - ) - AC_SUBST(GLIBC2) - GLIBC2="$ac_cv_gnu_library_2" - ] -) diff --git a/m4/iconv.m4 b/m4/iconv.m4 index 66bc76f4..a5036465 100644 --- a/m4/iconv.m4 +++ b/m4/iconv.m4 @@ -1,5 +1,5 @@ -# iconv.m4 serial AM6 (gettext-0.17) -dnl Copyright (C) 2000-2002, 2007 Free Software Foundation, Inc. +# iconv.m4 serial 18 (gettext-0.18.2) +dnl Copyright (C) 2000-2002, 2007-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -30,44 +30,55 @@ AC_DEFUN([AM_ICONV_LINK], dnl Add $INCICONV to CPPFLAGS before performing the following checks, dnl because if the user has installed libiconv and not disabled its use dnl via --without-libiconv-prefix, he wants to use it. The first - dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. + dnl AC_LINK_IFELSE will then fail, the second AC_LINK_IFELSE will succeed. am_save_CPPFLAGS="$CPPFLAGS" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) - AC_CACHE_CHECK([for iconv], am_cv_func_iconv, [ + AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [ am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no - AC_TRY_LINK([#include <stdlib.h> -#include <iconv.h>], - [iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd);], - am_cv_func_iconv=yes) + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[ +#include <stdlib.h> +#include <iconv.h> + ]], + [[iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);]])], + [am_cv_func_iconv=yes]) if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" - AC_TRY_LINK([#include <stdlib.h> -#include <iconv.h>], - [iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd);], - am_cv_lib_iconv=yes - am_cv_func_iconv=yes) + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[ +#include <stdlib.h> +#include <iconv.h> + ]], + [[iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);]])], + [am_cv_lib_iconv=yes] + [am_cv_func_iconv=yes]) LIBS="$am_save_LIBS" fi ]) if test "$am_cv_func_iconv" = yes; then - AC_CACHE_CHECK([for working iconv], am_cv_func_iconv_works, [ - dnl This tests against bugs in AIX 5.1 and HP-UX 11.11. + AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [ + dnl This tests against bugs in AIX 5.1, AIX 6.1..7.1, HP-UX 11.11, + dnl Solaris 10. am_save_LIBS="$LIBS" if test $am_cv_lib_iconv = yes; then LIBS="$LIBS $LIBICONV" fi - AC_TRY_RUN([ + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ #include <iconv.h> #include <string.h> int main () { + int result = 0; /* Test against AIX 5.1 bug: Failures are not distinguishable from successful returns. */ { @@ -84,7 +95,47 @@ int main () (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) - return 1; + result |= 1; + iconv_close (cd_utf8_to_88591); + } + } + /* Test against Solaris 10 bug: Failures are not distinguishable from + successful returns. */ + { + iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); + if (cd_ascii_to_88591 != (iconv_t)(-1)) + { + static const char input[] = "\263"; + char buf[10]; + const char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_ascii_to_88591, + (char **) &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res == 0) + result |= 2; + iconv_close (cd_ascii_to_88591); + } + } + /* Test against AIX 6.1..7.1 bug: Buffer overrun. */ + { + iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1"); + if (cd_88591_to_utf8 != (iconv_t)(-1)) + { + static const char input[] = "\304"; + static char buf[2] = { (char)0xDE, (char)0xAD }; + const char *inptr = input; + size_t inbytesleft = 1; + char *outptr = buf; + size_t outbytesleft = 1; + size_t res = iconv (cd_88591_to_utf8, + (char **) &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD) + result |= 4; + iconv_close (cd_88591_to_utf8); } } #if 0 /* This bug could be worked around by the caller. */ @@ -103,7 +154,8 @@ int main () (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if ((int)res > 0) - return 1; + result |= 8; + iconv_close (cd_88591_to_utf8); } } #endif @@ -117,13 +169,19 @@ int main () && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) /* Try HP-UX names. */ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) - return 1; - return 0; -}], [am_cv_func_iconv_works=yes], [am_cv_func_iconv_works=no], - [case "$host_os" in + result |= 16; + return result; +}]])], + [am_cv_func_iconv_works=yes], + [am_cv_func_iconv_works=no], + [ +changequote(,)dnl + case "$host_os" in aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; *) am_cv_func_iconv_works="guessing yes" ;; - esac]) + esac +changequote([,])dnl + ]) LIBS="$am_save_LIBS" ]) case "$am_cv_func_iconv_works" in @@ -134,7 +192,7 @@ int main () am_func_iconv=no am_cv_lib_iconv=no fi if test "$am_func_iconv" = yes; then - AC_DEFINE(HAVE_ICONV, 1, + AC_DEFINE([HAVE_ICONV], [1], [Define if you have the iconv() function and it works.]) fi if test "$am_cv_lib_iconv" = yes; then @@ -147,34 +205,64 @@ int main () LIBICONV= LTLIBICONV= fi - AC_SUBST(LIBICONV) - AC_SUBST(LTLIBICONV) + AC_SUBST([LIBICONV]) + AC_SUBST([LTLIBICONV]) ]) -AC_DEFUN([AM_ICONV], +dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to +dnl avoid warnings like +dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required". +dnl This is tricky because of the way 'aclocal' is implemented: +dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN. +dnl Otherwise aclocal's initial scan pass would miss the macro definition. +dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions. +dnl Otherwise aclocal would emit many "Use of uninitialized value $1" +dnl warnings. +m4_define([gl_iconv_AC_DEFUN], + m4_version_prereq([2.64], + [[AC_DEFUN_ONCE( + [$1], [$2])]], + [m4_ifdef([gl_00GNULIB], + [[AC_DEFUN_ONCE( + [$1], [$2])]], + [[AC_DEFUN( + [$1], [$2])]])])) +gl_iconv_AC_DEFUN([AM_ICONV], [ AM_ICONV_LINK if test "$am_cv_func_iconv" = yes; then AC_MSG_CHECKING([for iconv declaration]) - AC_CACHE_VAL(am_cv_proto_iconv, [ - AC_TRY_COMPILE([ + AC_CACHE_VAL([am_cv_proto_iconv], [ + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[ #include <stdlib.h> #include <iconv.h> extern #ifdef __cplusplus "C" #endif -#if defined(__STDC__) || defined(__cplusplus) +#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); #else size_t iconv(); #endif -], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const") + ]], + [[]])], + [am_cv_proto_iconv_arg1=""], + [am_cv_proto_iconv_arg1="const"]) am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` - AC_MSG_RESULT([$]{ac_t:- - }[$]am_cv_proto_iconv) - AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, + AC_MSG_RESULT([ + $am_cv_proto_iconv]) + AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1], [Define as const if the declaration of iconv() needs const.]) + dnl Also substitute ICONV_CONST in the gnulib generated <iconv.h>. + m4_ifdef([gl_ICONV_H_DEFAULTS], + [AC_REQUIRE([gl_ICONV_H_DEFAULTS]) + if test -n "$am_cv_proto_iconv_arg1"; then + ICONV_CONST="const" + fi + ]) fi ]) diff --git a/m4/lib-ld.m4 b/m4/lib-ld.m4 index 96c4e2c3..c145e478 100644 --- a/m4/lib-ld.m4 +++ b/m4/lib-ld.m4 @@ -1,50 +1,56 @@ -# lib-ld.m4 serial 3 (gettext-0.13) -dnl Copyright (C) 1996-2003 Free Software Foundation, Inc. +# lib-ld.m4 serial 6 +dnl Copyright (C) 1996-2003, 2009-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Subroutines of libtool.m4, -dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision -dnl with libtool.m4. +dnl with replacements s/_*LT_PATH/AC_LIB_PROG/ and s/lt_/acl_/ to avoid +dnl collision with libtool.m4. -dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. +dnl From libtool-2.4. Sets the variable with_gnu_ld to yes or no. AC_DEFUN([AC_LIB_PROG_LD_GNU], -[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld, -[# I'd rather use --version here, but apparently some GNU ld's only accept -v. +[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld], +[# I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 </dev/null` in *GNU* | *'with BFD'*) - acl_cv_prog_gnu_ld=yes ;; + acl_cv_prog_gnu_ld=yes + ;; *) - acl_cv_prog_gnu_ld=no ;; + acl_cv_prog_gnu_ld=no + ;; esac]) with_gnu_ld=$acl_cv_prog_gnu_ld ]) -dnl From libtool-1.4. Sets the variable LD. +dnl From libtool-2.4. Sets the variable LD. AC_DEFUN([AC_LIB_PROG_LD], -[AC_ARG_WITH(gnu-ld, -[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], -test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) -AC_REQUIRE([AC_PROG_CC])dnl +[AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl + +AC_ARG_WITH([gnu-ld], + [AS_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld [default=no]])], + [test "$withval" = no || with_gnu_ld=yes], + [with_gnu_ld=no])dnl + # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh + # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which + # contains only /bin. Note that ksh looks also at the FPATH variable, + # so we have to set that as well for the test. + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + || PATH_SEPARATOR=';' + } fi + ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by GCC]) + AC_MSG_CHECKING([for ld used by $CC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw @@ -54,12 +60,12 @@ if test "$GCC" = yes; then esac case $ac_prog in # Accept absolute paths. - [[\\/]* | [A-Za-z]:[\\/]*)] - [re_direlt='/[^/][^/]*/\.\./'] - # Canonicalize the path of ld - ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'` + while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; @@ -77,33 +83,36 @@ elif test "$with_gnu_ld" = yes; then else AC_MSG_CHECKING([for non-GNU ld]) fi -AC_CACHE_VAL(acl_cv_path_LD, +AC_CACHE_VAL([acl_cv_path_LD], [if test -z "$LD"; then - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" + acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do + IFS="$acl_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then acl_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some GNU ld's only accept -v. + # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in + case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in *GNU* | *'with BFD'*) - test "$with_gnu_ld" != no && break ;; + test "$with_gnu_ld" != no && break + ;; *) - test "$with_gnu_ld" != yes && break ;; + test "$with_gnu_ld" != yes && break + ;; esac fi done - IFS="$ac_save_ifs" + IFS="$acl_save_ifs" else acl_cv_path_LD="$LD" # Let the user override the test with a path. fi]) LD="$acl_cv_path_LD" if test -n "$LD"; then - AC_MSG_RESULT($LD) + AC_MSG_RESULT([$LD]) else - AC_MSG_RESULT(no) + AC_MSG_RESULT([no]) fi test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) AC_LIB_PROG_LD_GNU diff --git a/m4/lib-link.m4 b/m4/lib-link.m4 index e3d26fc4..073f0405 100644 --- a/m4/lib-link.m4 +++ b/m4/lib-link.m4 @@ -1,12 +1,12 @@ -# lib-link.m4 serial 13 (gettext-0.17) -dnl Copyright (C) 2001-2007 Free Software Foundation, Inc. +# lib-link.m4 serial 26 (gettext-0.18.2) +dnl Copyright (C) 2001-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. -AC_PREREQ(2.54) +AC_PREREQ([2.54]) dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and dnl the libraries corresponding to explicit and implicit dependencies. @@ -18,9 +18,9 @@ AC_DEFUN([AC_LIB_LINKFLAGS], [ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) - define([Name],[translit([$1],[./-], [___])]) - define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + pushdef([Name],[m4_translit([$1],[./+-], [____])]) + pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ AC_LIB_LINKFLAGS_BODY([$1], [$2]) ac_cv_lib[]Name[]_libs="$LIB[]NAME" @@ -39,16 +39,17 @@ AC_DEFUN([AC_LIB_LINKFLAGS], dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the dnl results of this search when this library appears as a dependency. HAVE_LIB[]NAME=yes - undefine([Name]) - undefine([NAME]) + popdef([NAME]) + popdef([Name]) ]) -dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode) +dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message]) dnl searches for libname and the libraries corresponding to explicit and dnl implicit dependencies, together with the specified include files and -dnl the ability to compile and link the specified testcode. If found, it -dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and -dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and +dnl the ability to compile and link the specified testcode. The missing-message +dnl defaults to 'no' and may contain additional hints for the user. +dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} +dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname @@ -57,9 +58,9 @@ AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], [ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) - define([Name],[translit([$1],[./-], [___])]) - define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + pushdef([Name],[m4_translit([$1],[./+-], [____])]) + pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME dnl accordingly. @@ -73,13 +74,26 @@ AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ ac_save_LIBS="$LIBS" - LIBS="$LIBS $LIB[]NAME" - AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no]) + dnl If $LIB[]NAME contains some -l options, add it to the end of LIBS, + dnl because these -l options might require -L options that are present in + dnl LIBS. -l options benefit only from the -L options listed before it. + dnl Otherwise, add it to the front of LIBS, because it may be a static + dnl library that depends on another static library that is present in LIBS. + dnl Static libraries benefit only from the static libraries listed after + dnl it. + case " $LIB[]NAME" in + *" -l"*) LIBS="$LIBS $LIB[]NAME" ;; + *) LIBS="$LIB[]NAME $LIBS" ;; + esac + AC_LINK_IFELSE( + [AC_LANG_PROGRAM([[$3]], [[$4]])], + [ac_cv_lib[]Name=yes], + [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])']) LIBS="$ac_save_LIBS" ]) if test "$ac_cv_lib[]Name" = yes; then HAVE_LIB[]NAME=yes - AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.]) + AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.]) AC_MSG_CHECKING([how to link with lib[]$1]) AC_MSG_RESULT([$LIB[]NAME]) else @@ -95,13 +109,15 @@ AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], AC_SUBST([LIB]NAME) AC_SUBST([LTLIB]NAME) AC_SUBST([LIB]NAME[_PREFIX]) - undefine([Name]) - undefine([NAME]) + popdef([NAME]) + popdef([Name]) ]) dnl Determine the platform dependent parameters needed to use rpath: dnl acl_libext, dnl acl_shlibext, +dnl acl_libname_spec, +dnl acl_library_names_spec, dnl acl_hardcode_libdir_flag_spec, dnl acl_hardcode_libdir_separator, dnl acl_hardcode_direct, @@ -114,7 +130,7 @@ AC_DEFUN([AC_LIB_RPATH], AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir - AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [ + AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh . ./conftest.sh @@ -131,11 +147,32 @@ AC_DEFUN([AC_LIB_RPATH], acl_hardcode_direct="$acl_cv_hardcode_direct" acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" dnl Determine whether the user wants rpath handling at all. - AC_ARG_ENABLE(rpath, + AC_ARG_ENABLE([rpath], [ --disable-rpath do not hardcode runtime library paths], :, enable_rpath=yes) ]) +dnl AC_LIB_FROMPACKAGE(name, package) +dnl declares that libname comes from the given package. The configure file +dnl will then not have a --with-libname-prefix option but a +dnl --with-package-prefix option. Several libraries can come from the same +dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar +dnl macro call that searches for libname. +AC_DEFUN([AC_LIB_FROMPACKAGE], +[ + pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) + define([acl_frompackage_]NAME, [$2]) + popdef([NAME]) + pushdef([PACK],[$2]) + pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) + define([acl_libsinpackage_]PACKUP, + m4_ifdef([acl_libsinpackage_]PACKUP, [m4_defn([acl_libsinpackage_]PACKUP)[, ]],)[lib$1]) + popdef([PACKUP]) + popdef([PACK]) +]) + dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and dnl the libraries corresponding to explicit and implicit dependencies. dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. @@ -144,19 +181,23 @@ dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem. AC_DEFUN([AC_LIB_LINKFLAGS_BODY], [ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) - define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) + pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])]) + pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) + pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])]) dnl Autoconf >= 2.61 supports dots in --with options. - define([N_A_M_E],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit([$1],[.],[_])],[$1])]) + pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[m4_translit(PACK,[.],[_])],PACK)]) dnl By default, look in $includedir and $libdir. use_additional=yes AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) - AC_LIB_ARG_WITH([lib]N_A_M_E[-prefix], -[ --with-lib]N_A_M_E[-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib - --without-lib]N_A_M_E[-prefix don't search for lib$1 in includedir and libdir], + AC_ARG_WITH(P_A_C_K[-prefix], +[[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib + --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]], [ if test "X$withval" = "Xno"; then use_additional=no @@ -169,6 +210,10 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" + if test "$acl_libdirstem2" != "$acl_libdirstem" \ + && ! test -d "$withval/$acl_libdirstem"; then + additional_libdir="$withval/$acl_libdirstem2" + fi fi fi ]) @@ -178,6 +223,9 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], LTLIB[]NAME= INC[]NAME= LIB[]NAME[]_PREFIX= + dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been + dnl computed. So it has to be reset here. + HAVE_LIB[]NAME= rpathdirs= ltrpathdirs= names_already_handled= @@ -197,7 +245,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], names_already_handled="$names_already_handled $name" dnl See if it was already located by an earlier AC_LIB_LINKFLAGS dnl or AC_LIB_HAVE_LINKFLAGS call. - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then @@ -327,7 +375,9 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], dnl Linking with a shared library. We attempt to hardcode its dnl directory into the executable's runpath, unless it's the dnl standard /usr/lib. - if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then + if test "$enable_rpath" = no \ + || test "X$found_dir" = "X/usr/$acl_libdirstem" \ + || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then dnl No hardcoding is needed. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else @@ -415,7 +465,16 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` - LIB[]NAME[]_PREFIX="$basedir" + if test "$name" = '$1'; then + LIB[]NAME[]_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + */$acl_libdirstem2 | */$acl_libdirstem2/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` + if test "$name" = '$1'; then + LIB[]NAME[]_PREFIX="$basedir" + fi additional_includedir="$basedir/include" ;; esac @@ -476,9 +535,11 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], dnl 3. if it's already present in $LDFLAGS or the already dnl constructed $LIBNAME, dnl 4. if it doesn't exist as a directory. - if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then + if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ + && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then haveit= - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ + || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; @@ -609,6 +670,11 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" done fi + popdef([P_A_C_K]) + popdef([PACKLIBS]) + popdef([PACKUP]) + popdef([PACK]) + popdef([NAME]) ]) dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, @@ -654,7 +720,8 @@ AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], if test -n "$next"; then dir="$next" dnl No need to hardcode the standard /usr/lib. - if test "X$dir" != "X/usr/$acl_libdirstem"; then + if test "X$dir" != "X/usr/$acl_libdirstem" \ + && test "X$dir" != "X/usr/$acl_libdirstem2"; then rpathdirs="$rpathdirs $dir" fi next= @@ -663,7 +730,8 @@ AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], -L) next=yes ;; -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` dnl No need to hardcode the standard /usr/lib. - if test "X$dir" != "X/usr/$acl_libdirstem"; then + if test "X$dir" != "X/usr/$acl_libdirstem" \ + && test "X$dir" != "X/usr/$acl_libdirstem2"; then rpathdirs="$rpathdirs $dir" fi next= ;; diff --git a/m4/lib-prefix.m4 b/m4/lib-prefix.m4 index a8684e17..60908e8f 100644 --- a/m4/lib-prefix.m4 +++ b/m4/lib-prefix.m4 @@ -1,5 +1,5 @@ -# lib-prefix.m4 serial 5 (gettext-0.15) -dnl Copyright (C) 2001-2005 Free Software Foundation, Inc. +# lib-prefix.m4 serial 7 (gettext-0.18) +dnl Copyright (C) 2001-2005, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -153,33 +153,72 @@ AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], prefix="$acl_save_prefix" ]) -dnl AC_LIB_PREPARE_MULTILIB creates a variable acl_libdirstem, containing -dnl the basename of the libdir, either "lib" or "lib64". +dnl AC_LIB_PREPARE_MULTILIB creates +dnl - a variable acl_libdirstem, containing the basename of the libdir, either +dnl "lib" or "lib64" or "lib/64", +dnl - a variable acl_libdirstem2, as a secondary possible value for +dnl acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or +dnl "lib/amd64". AC_DEFUN([AC_LIB_PREPARE_MULTILIB], [ - dnl There is no formal standard regarding lib and lib64. The current - dnl practice is that on a system supporting 32-bit and 64-bit instruction - dnl sets or ABIs, 64-bit libraries go under $prefix/lib64 and 32-bit - dnl libraries go under $prefix/lib. We determine the compiler's default - dnl mode by looking at the compiler's library search path. If at least - dnl of its elements ends in /lib64 or points to a directory whose absolute - dnl pathname ends in /lib64, we assume a 64-bit ABI. Otherwise we use the - dnl default, namely "lib". + dnl There is no formal standard regarding lib and lib64. + dnl On glibc systems, the current practice is that on a system supporting + dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under + dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine + dnl the compiler's default mode by looking at the compiler's library search + dnl path. If at least one of its elements ends in /lib64 or points to a + dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI. + dnl Otherwise we use the default, namely "lib". + dnl On Solaris systems, the current practice is that on a system supporting + dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under + dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or + dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib. + AC_REQUIRE([AC_CANONICAL_HOST]) acl_libdirstem=lib - searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` - if test -n "$searchpath"; then - acl_save_IFS="${IFS= }"; IFS=":" - for searchdir in $searchpath; do - if test -d "$searchdir"; then - case "$searchdir" in - */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; - *) searchdir=`cd "$searchdir" && pwd` - case "$searchdir" in - */lib64 ) acl_libdirstem=lib64 ;; - esac ;; + acl_libdirstem2= + case "$host_os" in + solaris*) + dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment + dnl <http://docs.sun.com/app/docs/doc/816-5138/dev-env?l=en&a=view>. + dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link." + dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the + dnl symlink is missing, so we set acl_libdirstem2 too. + AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit], + [AC_EGREP_CPP([sixtyfour bits], [ +#ifdef _LP64 +sixtyfour bits +#endif + ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no]) + ]) + if test $gl_cv_solaris_64bit = yes; then + acl_libdirstem=lib/64 + case "$host_cpu" in + sparc*) acl_libdirstem2=lib/sparcv9 ;; + i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; esac fi - done - IFS="$acl_save_IFS" - fi + ;; + *) + searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` + if test -n "$searchpath"; then + acl_save_IFS="${IFS= }"; IFS=":" + for searchdir in $searchpath; do + if test -d "$searchdir"; then + case "$searchdir" in + */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; + */../ | */.. ) + # Better ignore directories of this form. They are misleading. + ;; + *) searchdir=`cd "$searchdir" && pwd` + case "$searchdir" in + */lib64 ) acl_libdirstem=lib64 ;; + esac ;; + esac + fi + done + IFS="$acl_save_IFS" + fi + ;; + esac + test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" ]) @@ -1,5 +1,6 @@ -# nls.m4 serial 3 (gettext-0.15) -dnl Copyright (C) 1995-2003, 2005-2006 Free Software Foundation, Inc. +# nls.m4 serial 5 (gettext-0.18) +dnl Copyright (C) 1995-2003, 2005-2006, 2008-2013 Free Software Foundation, +dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -17,15 +18,15 @@ dnl Authors: dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000. dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003. -AC_PREREQ(2.50) +AC_PREREQ([2.50]) AC_DEFUN([AM_NLS], [ AC_MSG_CHECKING([whether NLS is requested]) dnl Default is enabled NLS - AC_ARG_ENABLE(nls, + AC_ARG_ENABLE([nls], [ --disable-nls do not use Native Language Support], USE_NLS=$enableval, USE_NLS=yes) - AC_MSG_RESULT($USE_NLS) - AC_SUBST(USE_NLS) + AC_MSG_RESULT([$USE_NLS]) + AC_SUBST([USE_NLS]) ]) @@ -1,5 +1,5 @@ -# po.m4 serial 15 (gettext-0.17) -dnl Copyright (C) 1995-2007 Free Software Foundation, Inc. +# po.m4 serial 21 (gettext-0.18.3) +dnl Copyright (C) 1995-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -17,19 +17,20 @@ dnl Authors: dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000. dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003. -AC_PREREQ(2.50) +AC_PREREQ([2.60]) dnl Checks for all prerequisites of the po subdirectory. AC_DEFUN([AM_PO_SUBDIRS], [ AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl - AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake + AC_REQUIRE([AC_PROG_MKDIR_P])dnl + AC_REQUIRE([AC_PROG_SED])dnl AC_REQUIRE([AM_NLS])dnl dnl Release version of the gettext macros. This is used to ensure that dnl the gettext macros and po/Makefile.in.in are in sync. - AC_SUBST([GETTEXT_MACRO_VERSION], [0.17]) + AC_SUBST([GETTEXT_MACRO_VERSION], [0.18]) dnl Perform the following tests also if --disable-nls has been given, dnl because they are needed for "make dist" to work. @@ -41,7 +42,7 @@ AC_DEFUN([AM_PO_SUBDIRS], [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], :) - AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) + AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT]) dnl Test whether it is GNU msgfmt >= 0.15. changequote(,)dnl @@ -102,7 +103,7 @@ changequote([,])dnl case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` - ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" + ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'` ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. @@ -118,7 +119,8 @@ changequote([,])dnl if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then rm -f "$ac_dir/POTFILES" test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" - cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" + gt_tab=`printf '\t'` + cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" POMAKEFILEDEPS="POTFILES.in" # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend # on $ac_dir but don't depend on user-specified configuration @@ -129,12 +131,12 @@ changequote([,])dnl test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` - # Hide the ALL_LINGUAS assigment from automake < 1.5. + # Hide the ALL_LINGUAS assignment from automake < 1.5. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. - # Hide the ALL_LINGUAS assigment from automake < 1.5. + # Hide the ALL_LINGUAS assignment from automake < 1.5. eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' fi # Compute POFILES @@ -226,7 +228,7 @@ AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE], changequote(,)dnl # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` - ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" + ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'` ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. @@ -254,6 +256,7 @@ EOT fi # A sed script that extracts the value of VARIABLE from a Makefile. + tab=`printf '\t'` sed_x_variable=' # Test if the hold space is empty. x @@ -261,9 +264,9 @@ s/P/P/ x ta # Yes it was empty. Look if we have the expected variable definition. -/^[ ]*VARIABLE[ ]*=/{ +/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=/{ # Seen the first line of the variable definition. - s/^[ ]*VARIABLE[ ]*=// + s/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=// ba } bd @@ -315,7 +318,7 @@ changequote([,])dnl sed_x_LINGUAS=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'` ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"` fi - # Hide the ALL_LINGUAS assigment from automake < 1.5. + # Hide the ALL_LINGUAS assignment from automake < 1.5. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' # Compute POFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) @@ -405,14 +408,15 @@ changequote([,])dnl fi sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp" + tab=`printf '\t'` if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then # Add dependencies that cannot be formulated as a simple suffix rule. for lang in $ALL_LINGUAS; do frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` cat >> "$ac_file.tmp" <<EOF $frobbedlang.msg: $lang.po - @echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \ - \$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; } +${tab}@echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \ +${tab}\$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; } EOF done fi @@ -422,8 +426,8 @@ EOF frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` cat >> "$ac_file.tmp" <<EOF $frobbedlang/\$(DOMAIN).resources.dll: $lang.po - @echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \ - \$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; } +${tab}@echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \ +${tab}\$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; } EOF done fi diff --git a/m4/progtest.m4 b/m4/progtest.m4 index a56365cd..7b391232 100644 --- a/m4/progtest.m4 +++ b/m4/progtest.m4 @@ -1,5 +1,5 @@ -# progtest.m4 serial 4 (gettext-0.14.2) -dnl Copyright (C) 1996-2003, 2005 Free Software Foundation, Inc. +# progtest.m4 serial 7 (gettext-0.18.2) +dnl Copyright (C) 1996-2003, 2005, 2008-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -16,7 +16,7 @@ dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper <drepper@cygnus.com>, 1996. -AC_PREREQ(2.50) +AC_PREREQ([2.50]) # Search path for a program which passes the given test. @@ -27,15 +27,14 @@ AC_DEFUN([AM_PATH_PROG_WITH_TEST], # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh + # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which + # contains only /bin. Note that ksh looks also at the FPATH variable, + # so we have to set that as well for the test. + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + || PATH_SEPARATOR=';' + } fi # Find out how to test for executable files. Don't use a zero-byte file, @@ -55,7 +54,7 @@ rm -f conf$$.file # Extract the first word of "$2", so it can be a program name with args. set dummy $2; ac_word=[$]2 AC_MSG_CHECKING([for $ac_word]) -AC_CACHE_VAL(ac_cv_path_$1, +AC_CACHE_VAL([ac_cv_path_$1], [case "[$]$1" in [[\\/]]* | ?:[[\\/]]*) ac_cv_path_$1="[$]$1" # Let the user override the test with a path. @@ -84,9 +83,9 @@ ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" esac])dnl $1="$ac_cv_path_$1" if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then - AC_MSG_RESULT([$]$1) + AC_MSG_RESULT([$][$1]) else - AC_MSG_RESULT(no) + AC_MSG_RESULT([no]) fi -AC_SUBST($1)dnl +AC_SUBST([$1])dnl ]) diff --git a/modules/CMakeLists.txt b/modules/CMakeLists.txt index 48a3b5cf..e3f8eb11 100644 --- a/modules/CMakeLists.txt +++ b/modules/CMakeLists.txt @@ -56,9 +56,11 @@ IF(regen_init_plugin_c) FILE(APPEND ${INIT_PLUGIN_C} "extern yasm_${_type}_module yasm_${_keyword}_LTX_${_type};\n") ENDFOREACH(module) - FILE(APPEND ${INIT_PLUGIN_C} "\n#ifdef _MSC_VER\n") - FILE(APPEND ${INIT_PLUGIN_C} "__declspec(dllexport)\n") - FILE(APPEND ${INIT_PLUGIN_C} "#endif\n") + IF(BUILD_SHARED_LIBS) + FILE(APPEND ${INIT_PLUGIN_C} "\n#ifdef _MSC_VER\n") + FILE(APPEND ${INIT_PLUGIN_C} "__declspec(dllexport)\n") + FILE(APPEND ${INIT_PLUGIN_C} "#endif\n") + ENDIF(BUILD_SHARED_LIBS) FILE(APPEND ${INIT_PLUGIN_C} "void\n") FILE(APPEND ${INIT_PLUGIN_C} "yasm_init_plugin(void)\n") FILE(APPEND ${INIT_PLUGIN_C} "{\n") @@ -80,14 +82,22 @@ SET_SOURCE_FILES_PROPERTIES(init_plugin.c GENERATED) SET(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}) -ADD_LIBRARY(yasmstd MODULE - init_plugin.c - ${YASM_MODULES_SRC} - ) -TARGET_LINK_LIBRARIES(yasmstd libyasm) +IF(BUILD_SHARED_LIBS) + ADD_LIBRARY(yasmstd MODULE + init_plugin.c + ${YASM_MODULES_SRC} + ) + TARGET_LINK_LIBRARIES(yasmstd libyasm) -IF(WIN32) - INSTALL(TARGETS yasmstd LIBRARY DESTINATION bin) -ELSE(WIN32) - INSTALL(TARGETS yasmstd LIBRARY DESTINATION lib) -ENDIF(WIN32) + IF(WIN32) + INSTALL(TARGETS yasmstd LIBRARY DESTINATION bin) + ELSE(WIN32) + INSTALL(TARGETS yasmstd LIBRARY DESTINATION lib) + ENDIF(WIN32) +ELSE(BUILD_SHARED_LIBS) + ADD_LIBRARY(yasmstd + init_plugin.c + ${YASM_MODULES_SRC} + ) + TARGET_LINK_LIBRARIES(yasmstd libyasm) +ENDIF(BUILD_SHARED_LIBS) diff --git a/modules/arch/x86/gen_x86_insn.py b/modules/arch/x86/gen_x86_insn.py index ceed1840..88972b01 100755 --- a/modules/arch/x86/gen_x86_insn.py +++ b/modules/arch/x86/gen_x86_insn.py @@ -39,7 +39,8 @@ ordered_cpu_features = [ "SSE3", "SVM", "PadLock", "SSSE3", "SSE41", "SSE42", "SSE4a", "SSE5", "AVX", "FMA", "AES", "CLMUL", "MOVBE", "XOP", "FMA4", "F16C", "FSGSBASE", "RDRAND", "XSAVEOPT", "EPTVPID", "SMX", "AVX2", "BMI1", - "BMI2", "INVPCID", "LZCNT", "TBM", "TSX"] + "BMI2", "INVPCID", "LZCNT", "TBM", "TSX", "SHA", "SMAP", "RDSEED", "ADX", + "PRFCHW"] unordered_cpu_features = ["Priv", "Prot", "Undoc", "Obs"] # Predefined VEX prefix field values @@ -7371,25 +7372,23 @@ for comb, combval in zip(["lql","hql","lqh","hqh"], [0x00,0x01,0x10,0x11]): # RDRAND add_group("rdrand", - cpu=["RDRAND"], + modifiers=['SpAdd'], opersize=16, opcode=[0x0F, 0xC7], - spare=6, operands=[Operand(type="Reg", size=16, dest="EA")]) add_group("rdrand", #suffix="l", - cpu=["RDRAND"], + modifiers=['SpAdd'], opersize=32, opcode=[0x0F, 0xC7], - spare=6, operands=[Operand(type="Reg", size=32, dest="EA")]) add_group("rdrand", - cpu=["RDRAND"], + modifiers=['SpAdd'], opersize=64, opcode=[0x0F, 0xC7], - spare=6, operands=[Operand(type="Reg", size=64, dest="EA")]) -add_insn("rdrand", "rdrand") +add_insn("rdrand", "rdrand", modifiers=[6], cpu=["RDRAND"]) +add_insn("rdseed", "rdrand", modifiers=[7], cpu=["RDSEED"]) # FSGSBASE instructions add_group("fs_gs_base", @@ -7932,7 +7931,7 @@ add_insn("movbe", "movbe") add_insn("tzcnt", "cnt", modifiers=[0xBC], cpu=["BMI1"]) # LZCNT is present as AMD ext -for sfx, sz in zip("wlq", [32, 64]): +for sfx, sz in zip("lq", [32, 64]): add_group("vex_gpr_ndd_rm_0F38_regext", suffix=sfx, modifiers=["PreAdd", "Op2Add", "SpAdd" ], @@ -7951,7 +7950,7 @@ add_insn("blsmsk", "vex_gpr_ndd_rm_0F38_regext", modifiers=[0x00, 0xF3, 2], add_insn("blsi", "vex_gpr_ndd_rm_0F38_regext", modifiers=[0x00, 0xF3, 3], cpu=["BMI1"]) -for sfx, sz in zip("wlq", [32, 64]): +for sfx, sz in zip("lq", [32, 64]): add_group("vex_gpr_reg_rm_0F_imm8", suffix=sfx, modifiers=["PreAdd", "Op1Add", "Op2Add"], @@ -8056,6 +8055,78 @@ add_group("invpcid", Operand(type="Mem", size=128, relaxed=True, dest="EA")]) add_insn("invpcid", "invpcid") + +##################################################################### +# Intel SHA instructions +##################################################################### +add_group("intel_SHA1MSG1", + cpu=["SHA"], + opcode=[0x0F, 0x38, 0xC9], + operands=[Operand(type="SIMDReg", size=128, dest="Spare"), + Operand(type="SIMDRM", size=128, dest="EA", relaxed=True)]) +add_group("intel_SHA1MSG2", + cpu=["SHA"], + opcode=[0x0F, 0x38, 0xCA], + operands=[Operand(type="SIMDReg", size=128, dest="Spare"), + Operand(type="SIMDRM", size=128, dest="EA", relaxed=True)]) +add_group("intel_SHA1NEXTE", + cpu=["SHA"], + opcode=[0x0F, 0x38, 0xC8], + operands=[Operand(type="SIMDReg", size=128, dest="Spare"), + Operand(type="SIMDRM", size=128, dest="EA", relaxed=True)]) +add_group("intel_SHA1RNDS4", + cpu=["SHA"], + opcode=[0x0F, 0x3A, 0xCC], + operands=[Operand(type="SIMDReg", size=128, dest="Spare"), + Operand(type="SIMDRM", size=128, dest="EA", relaxed=True), + Operand(type="Imm", size=8, dest="Imm", relaxed=True)]) +add_group("intel_SHA256MSG1", + cpu=["SHA"], + opcode=[0x0F, 0x38, 0xCC], + operands=[Operand(type="SIMDReg", size=128, dest="Spare"), + Operand(type="SIMDRM", size=128, dest="EA", relaxed=True)]) +add_group("intel_SHA256MSG2", + cpu=["SHA"], + opcode=[0x0F, 0x38, 0xCD], + operands=[Operand(type="SIMDReg", size=128, dest="Spare"), + Operand(type="SIMDRM", size=128, dest="EA", relaxed=True)]) +add_group("intel_SHA256RNDS2", + cpu=["SHA"], + opcode=[0x0F, 0x38, 0xCB], + operands=[Operand(type="SIMDReg", size=128, dest="Spare"), + Operand(type="SIMDReg", size=128, dest="EA")]) + +add_insn("SHA1MSG1", "intel_SHA1MSG1") +add_insn("SHA1MSG2", "intel_SHA1MSG2") +add_insn("SHA1NEXTE", "intel_SHA1NEXTE") +add_insn("SHA1RNDS4", "intel_SHA1RNDS4") +add_insn("SHA256MSG1", "intel_SHA256MSG1") +add_insn("SHA256MSG2", "intel_SHA256MSG2") +add_insn("SHA256RNDS2", "intel_SHA256RNDS2") + +##################################################################### +# Intel SMAP instructions +##################################################################### +add_insn("clac", "threebyte", modifiers=[0x0F, 0x01, 0xCA], cpu=["SMAP"]) +add_insn("stac", "threebyte", modifiers=[0x0F, 0x01, 0xCB], cpu=["SMAP"]) + +##################################################################### +# Intel ADX instructions +##################################################################### +for sfx, sz in zip("lq", [32, 64]): + add_group("vex_gpr_ndd_rm_0F38", + suffix=sfx, + modifiers=["PreAdd", "Op2Add"], + opersize=sz, + prefix=0x00, + opcode=[0x0F, 0x38, 0x00], + operands=[Operand(type="Reg", size=sz, dest="Spare"), + Operand(type="RM", size=sz, relaxed=True, dest="EA")]) + +add_insn("adcx", "vex_gpr_ndd_rm_0F38", modifiers=[0x66, 0xF6], cpu=["ADX"]) +add_insn("adox", "vex_gpr_ndd_rm_0F38", modifiers=[0xF3, 0xF6], cpu=["ADX"]) + + ##################################################################### # AMD trailing bit manipulation (TBM) ##################################################################### @@ -8088,7 +8159,7 @@ add_insn("tzmsk", "xop_gpr_reg_rm_09", modifiers=[0x01, 4]) ##################################################################### add_insn("prefetch", "twobytemem", modifiers=[0x00, 0x0F, 0x0D], cpu=["3DNow"]) -add_insn("prefetchw", "twobytemem", modifiers=[0x01, 0x0F, 0x0D], cpu=["3DNow"]) +add_insn("prefetchw", "twobytemem", modifiers=[0x01, 0x0F, 0x0D], cpu=["PRFCHW"]) add_insn("femms", "twobyte", modifiers=[0x0F, 0x0E], cpu=["3DNow"]) add_group("now3d", diff --git a/modules/arch/x86/x86arch.h b/modules/arch/x86/x86arch.h index 14b2b2e3..78c3d739 100644 --- a/modules/arch/x86/x86arch.h +++ b/modules/arch/x86/x86arch.h @@ -85,6 +85,11 @@ #define CPU_LZCNT 51 /* Intel LZCNT instruction */ #define CPU_TBM 52 /* AMD TBM instruction */ #define CPU_TSX 53 /* Intel TSX instructions */ +#define CPU_SHA 54 /* Intel SHA instructions */ +#define CPU_SMAP 55 /* Intel SMAP instructions */ +#define CPU_RDSEED 56 /* Intel RDSEED instruction */ +#define CPU_ADX 57 /* Intel ADCX and ADOX instructions */ +#define CPU_PRFCHW 58 /* Intel/AMD PREFETCHW instruction */ enum x86_parser_type { X86_PARSER_NASM = 0, diff --git a/modules/arch/x86/x86cpu.gperf b/modules/arch/x86/x86cpu.gperf index 3d495746..334ea1c8 100644 --- a/modules/arch/x86/x86cpu.gperf +++ b/modules/arch/x86/x86cpu.gperf @@ -46,8 +46,12 @@ #define PROC_conroe 11 #define PROC_penryn 12 #define PROC_nehalem 13 -#define PROC_westmere 14 -#define PROC_sandybridge 15 +#define PROC_westmere 14 +#define PROC_sandybridge 15 +#define PROC_ivybridge 16 +#define PROC_haswell 17 +#define PROC_broadwell 18 +#define PROC_skylake 19 static void x86_cpu_intel(wordptr cpu, yasm_arch_x86 *arch_x86, unsigned int data) @@ -59,8 +63,35 @@ x86_cpu_intel(wordptr cpu, yasm_arch_x86 *arch_x86, unsigned int data) BitVector_Bit_On(cpu, CPU_Prot); if (data >= PROC_386) BitVector_Bit_On(cpu, CPU_SMM); - if (data >= PROC_sandybridge) + if (data >= PROC_skylake) { + BitVector_Bit_On(cpu, CPU_SHA); + } + if (data >= PROC_broadwell) { + BitVector_Bit_On(cpu, CPU_RDSEED); + BitVector_Bit_On(cpu, CPU_ADX); + BitVector_Bit_On(cpu, CPU_PRFCHW); + } + if (data >= PROC_haswell) { + BitVector_Bit_On(cpu, CPU_FMA); + BitVector_Bit_On(cpu, CPU_AVX2); + BitVector_Bit_On(cpu, CPU_BMI1); + BitVector_Bit_On(cpu, CPU_BMI2); + BitVector_Bit_On(cpu, CPU_INVPCID); + BitVector_Bit_On(cpu, CPU_LZCNT); + BitVector_Bit_On(cpu, CPU_TSX); + BitVector_Bit_On(cpu, CPU_SMAP); + } + if (data >= PROC_ivybridge) { + BitVector_Bit_On(cpu, CPU_F16C); + BitVector_Bit_On(cpu, CPU_FSGSBASE); + BitVector_Bit_On(cpu, CPU_RDRAND); + } + if (data >= PROC_sandybridge) { BitVector_Bit_On(cpu, CPU_AVX); + BitVector_Bit_On(cpu, CPU_XSAVEOPT); + BitVector_Bit_On(cpu, CPU_EPTVPID); + BitVector_Bit_On(cpu, CPU_SMX); + } if (data >= PROC_westmere) { BitVector_Bit_On(cpu, CPU_AES); BitVector_Bit_On(cpu, CPU_CLMUL); @@ -298,6 +329,10 @@ nehalem, x86_cpu_intel, PROC_nehalem corei7, x86_cpu_intel, PROC_nehalem westmere, x86_cpu_intel, PROC_westmere sandybridge, x86_cpu_intel, PROC_sandybridge +ivybridge, x86_cpu_intel, PROC_ivybridge +haswell, x86_cpu_intel, PROC_haswell +broadwell, x86_cpu_intel, PROC_broadwell +skylake, x86_cpu_intel, PROC_skylake # # Features have "no" versions to disable them, and only set/reset the # specific feature being changed. All other bits are left alone. @@ -402,6 +437,16 @@ lzcnt, x86_cpu_set, CPU_LZCNT nolzcnt, x86_cpu_clear, CPU_LZCNT tbm, x86_cpu_set, CPU_TBM notbm, x86_cpu_clear, CPU_TBM +sha, x86_cpu_set, CPU_SHA +nosha, x86_cpu_clear, CPU_SHA +smap, x86_cpu_set, CPU_SMAP +nosmap, x86_cpu_clear, CPU_SMAP +rdseed, x86_cpu_set, CPU_RDSEED +nordseed, x86_cpu_clear, CPU_RDSEED +adx, x86_cpu_set, CPU_ADX +noadx, x86_cpu_clear, CPU_ADX +prfchw, x86_cpu_set, CPU_PRFCHW +noprfchw, x86_cpu_clear, CPU_PRFCHW # Change NOP patterns basicnop, x86_nop, X86_NOP_BASIC intelnop, x86_nop, X86_NOP_INTEL diff --git a/modules/arch/x86/x86expr.c b/modules/arch/x86/x86expr.c index 85feb785..e9ddcce5 100644 --- a/modules/arch/x86/x86expr.c +++ b/modules/arch/x86/x86expr.c @@ -644,7 +644,7 @@ yasm_x86__expr_checkea(x86_effaddr *x86_ea, unsigned char *addrsize, (x86_ea->need_sib && !x86_ea->valid_sib))) { int i; unsigned char low3; - typedef enum { + enum { REG3264_NONE = -1, REG3264_EAX = 0, REG3264_ECX, @@ -664,7 +664,7 @@ yasm_x86__expr_checkea(x86_effaddr *x86_ea, unsigned char *addrsize, REG64_R15, REG64_RIP, SIMDREGS - } reg3264type; + }; int reg3264mult[33] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; diff --git a/modules/dbgfmts/codeview/tests/cv8-multi.asm b/modules/dbgfmts/codeview/tests/cv8-multi.asm deleted file mode 100644 index ddb9adcd..00000000 --- a/modules/dbgfmts/codeview/tests/cv8-multi.asm +++ /dev/null @@ -1,23 +0,0 @@ -; -; Test for windbg's ability to single step thru two (or more) source files -; contributing instructions to the same sections. -; -; YASM 1.2.0 and earlier used to generate one CV8_LINE_NUMS per file per -; section, thus potentially having several CV8_LINE_NUMS records for each -; section. It is seems that this confuses either the linker or/and windbg -; and prevents single stepping in and out of include files. -; -; MASM generates one line number debug subsection for each code section, -; repeating the 12 bytes before the offset/lineno pairs for each new file. -; -; It also appears that line numbers must be ordered by section offset, and -; therefore cannot be grouped per file as done by YASM 1.2.0 and earlier. -; -_start: -global _start -%include "cv8-multi.mac" - mov eax, 42 -%include "cv8-multi.mac" - xor eax, eax - ret - diff --git a/modules/dbgfmts/codeview/tests/cv8-multi.mac b/modules/dbgfmts/codeview/tests/cv8-multi.mac deleted file mode 100644 index 5a559f48..00000000 --- a/modules/dbgfmts/codeview/tests/cv8-multi.mac +++ /dev/null @@ -1,4 +0,0 @@ - int3 - nop - ; Must be able to step back into the main file. - diff --git a/modules/dbgfmts/dwarf2/dwarf2-line.c b/modules/dbgfmts/dwarf2/dwarf2-line.c index 151dc198..10bb2f29 100644 --- a/modules/dbgfmts/dwarf2/dwarf2-line.c +++ b/modules/dbgfmts/dwarf2/dwarf2-line.c @@ -691,7 +691,7 @@ yasm_dwarf2__generate_line(yasm_object *object, yasm_linemap *linemap, dwarf2_line_info info; int new; size_t i; - yasm_bytecode *last, *sppbc; + yasm_bytecode *sppbc; dwarf2_spp *spp; dwarf2_head *head; @@ -709,7 +709,6 @@ yasm_dwarf2__generate_line(yasm_object *object, yasm_linemap *linemap, info.dbgfmt_dwarf2 = dbgfmt_dwarf2; info.debug_line = yasm_object_get_general(object, ".debug_line", 1, 0, 0, &new, 0); - last = yasm_section_bcs_last(info.debug_line); /* header */ head = yasm_dwarf2__add_head(dbgfmt_dwarf2, info.debug_line, NULL, 0, 0); diff --git a/modules/dbgfmts/stabs/stabs-dbgfmt.c b/modules/dbgfmts/stabs/stabs-dbgfmt.c index c8cf9b39..5c0cba6a 100644 --- a/modules/dbgfmts/stabs/stabs-dbgfmt.c +++ b/modules/dbgfmts/stabs/stabs-dbgfmt.c @@ -316,7 +316,7 @@ stabs_dbgfmt_generate(yasm_object *object, yasm_linemap *linemap, int new; yasm_bytecode *dbgbc; stabs_stab *stab; - yasm_bytecode *filebc, *nullbc, *laststr, *firstbc; + yasm_bytecode *filebc, *laststr, *firstbc; yasm_symrec *firstsym; yasm_section *stext; @@ -371,7 +371,7 @@ stabs_dbgfmt_generate(yasm_object *object, yasm_linemap *linemap, yasm_section_bcs_append(info.stab, dbgbc); /* initial strtab bytecodes */ - nullbc = stabs_dbgfmt_append_bcstr(info.stabstr, ""); + stabs_dbgfmt_append_bcstr(info.stabstr, ""); filebc = stabs_dbgfmt_append_bcstr(info.stabstr, object->src_filename); stext = yasm_object_find_general(object, ".text"); diff --git a/modules/objfmts/coff/coff-objfmt.c b/modules/objfmts/coff/coff-objfmt.c index c42bf7e3..b1987ac3 100644 --- a/modules/objfmts/coff/coff-objfmt.c +++ b/modules/objfmts/coff/coff-objfmt.c @@ -524,12 +524,9 @@ coff_objfmt_output_value(yasm_value *value, unsigned char *buf, if (vis & YASM_SYM_COMMON) { /* In standard COFF, COMMON symbols have their length added in */ if (!objfmt_coff->win32) { - /*@dependent@*/ /*@null@*/ coff_symrec_data *csymd; /*@dependent@*/ /*@null@*/ yasm_expr **csize_expr; /*@dependent@*/ /*@null@*/ yasm_intnum *common_size; - csymd = yasm_symrec_get_data(sym, &coff_symrec_data_cb); - assert(csymd != NULL); csize_expr = yasm_symrec_get_common_size(sym); assert(csize_expr != NULL); common_size = yasm_expr_get_intnum(csize_expr, 1); @@ -1367,6 +1364,7 @@ coff_helper_gasflags(void *obj, yasm_valparam *vp, unsigned long line, void *d, datasect = 1; load = 1; readonly = 0; + break; case 'x': code = 1; load = 1; diff --git a/modules/objfmts/elf/elf.c b/modules/objfmts/elf/elf.c index addec913..2486bba8 100644 --- a/modules/objfmts/elf/elf.c +++ b/modules/objfmts/elf/elf.c @@ -82,7 +82,7 @@ elf_set_arch(yasm_arch *arch, yasm_symtab *symtab, int bits_pref) elf_march != NULL; elf_march = elf_machine_handlers[++i]) { - if (yasm__strcasecmp(yasm_arch_keyword(arch), elf_march->arch)==0) + if (yasm__strcasecmp(yasm_arch_keyword(arch), elf_march->arch)==0) { if (yasm__strcasecmp(machine, elf_march->machine)==0) { if (bits_pref == 0 || bits_pref == elf_march->bits) break; @@ -90,6 +90,7 @@ elf_set_arch(yasm_arch *arch, yasm_symtab *symtab, int bits_pref) && yasm__strcasecmp(machine, "amd64") == 0 && yasm__strcasecmp(elf_march->machine, "x32") == 0) break; + } } if (elf_march && elf_march->num_ssyms > 0) @@ -468,13 +469,12 @@ elf_symtab_write_to_file(FILE *f, elf_symtab_head *symtab, yasm_errwarns *errwarns) { unsigned char buf[SYMTAB_MAXSIZE], *bufp; - elf_symtab_entry *entry, *prev; + elf_symtab_entry *entry; unsigned long size = 0; if (!symtab) yasm_internal_error(N_("symtab is null")); - prev = NULL; STAILQ_FOREACH(entry, symtab, qlink) { yasm_intnum *size_intn=NULL, *value_intn=NULL; @@ -537,8 +537,6 @@ elf_symtab_write_to_file(FILE *f, elf_symtab_head *symtab, yasm_intnum_destroy(size_intn); yasm_intnum_destroy(value_intn); - - prev = entry; } return size; } @@ -788,7 +786,6 @@ elf_secthead_write_relocs_to_file(FILE *f, yasm_section *sect, while (reloc) { - yasm_sym_vis vis; unsigned int r_type=0, r_sym; elf_symtab_entry *esym; @@ -798,7 +795,6 @@ elf_secthead_write_relocs_to_file(FILE *f, yasm_section *sect, else r_sym = STN_UNDEF; - vis = yasm_symrec_get_visibility(reloc->reloc.sym); if (!elf_march->map_reloc_info_to_type) yasm_internal_error(N_("Unsupported arch/machine for elf output")); r_type = elf_march->map_reloc_info_to_type(reloc); diff --git a/modules/objfmts/macho/macho-objfmt.c b/modules/objfmts/macho/macho-objfmt.c index 1b009185..0a48d9b9 100644 --- a/modules/objfmts/macho/macho-objfmt.c +++ b/modules/objfmts/macho/macho-objfmt.c @@ -730,12 +730,10 @@ static int macho_objfmt_output_secthead(yasm_section *sect, /*@null@*/ void *d) { /*@null@*/ macho_objfmt_output_info *info = (macho_objfmt_output_info *)d; - yasm_objfmt_macho *objfmt_macho; /*@dependent@*/ /*@null@*/ macho_section_data *msd; unsigned char *localbuf; assert(info != NULL); - objfmt_macho = info->objfmt_macho; msd = yasm_section_get_data(sect, &macho_section_data_cb); assert(msd != NULL); @@ -970,8 +968,6 @@ macho_objfmt_output_str(yasm_symrec *sym, /*@null@*/ void *d) { /*@null@*/ macho_objfmt_output_info *info = (macho_objfmt_output_info *)d; yasm_sym_vis vis = yasm_symrec_get_visibility(sym); - /*@null@*/ macho_symrec_data *xsymd; - assert(info != NULL); @@ -982,7 +978,6 @@ macho_objfmt_output_str(yasm_symrec *sym, /*@null@*/ void *d) yasm_symrec_get_global_name(sym, info->object); size_t len = strlen(name); - xsymd = yasm_symrec_get_data(sym, &macho_symrec_data_cb); fwrite(name, len + 1, 1, info->f); yasm_xfree(name); } @@ -1037,7 +1032,7 @@ macho_objfmt_output(yasm_object *object, FILE *f, int all_syms, unsigned long symtab_count = 0; unsigned long headsize; unsigned int macho_segcmdsize, macho_sectcmdsize, macho_nlistsize; - unsigned int macho_relinfosize, macho_segcmd; + unsigned int macho_segcmd; unsigned int head_ncmds, head_sizeofcmds; unsigned long fileoffset, fileoff_sections; yasm_intnum *val; @@ -1072,7 +1067,6 @@ macho_objfmt_output(yasm_object *object, FILE *f, int all_syms, macho_segcmdsize = MACHO_SEGCMD64_SIZE; macho_sectcmdsize = MACHO_SECTCMD64_SIZE; macho_nlistsize = MACHO_NLIST64_SIZE; - macho_relinfosize = MACHO_RELINFO64_SIZE; long_int_bytes = 8; } else { headsize = @@ -1083,7 +1077,6 @@ macho_objfmt_output(yasm_object *object, FILE *f, int all_syms, macho_segcmdsize = MACHO_SEGCMD_SIZE; macho_sectcmdsize = MACHO_SECTCMD_SIZE; macho_nlistsize = MACHO_NLIST_SIZE; - macho_relinfosize = MACHO_RELINFO_SIZE; long_int_bytes = 4; } diff --git a/modules/objfmts/rdf/rdf-objfmt.c b/modules/objfmts/rdf/rdf-objfmt.c index d081fc54..eb3c6668 100644 --- a/modules/objfmts/rdf/rdf-objfmt.c +++ b/modules/objfmts/rdf/rdf-objfmt.c @@ -183,7 +183,6 @@ rdf_objfmt_output_value(yasm_value *value, unsigned char *buf, yasm_bytecode *bc, int warn, /*@null@*/ void *d) { /*@null@*/ rdf_objfmt_output_info *info = (rdf_objfmt_output_info *)d; - yasm_objfmt_rdf *objfmt_rdf; /*@dependent@*/ /*@null@*/ yasm_intnum *intn; unsigned long intn_minus; unsigned long intn_plus; @@ -191,7 +190,6 @@ rdf_objfmt_output_value(yasm_value *value, unsigned char *buf, unsigned int valsize = value->size; assert(info != NULL); - objfmt_rdf = info->objfmt_rdf; if (value->abs) value->abs = yasm_expr_simplify(value->abs, 1); diff --git a/modules/objfmts/win32/tests/win32-longsect.asm b/modules/objfmts/win32/tests/win32-longsect.asm deleted file mode 100644 index db4380c5..00000000 --- a/modules/objfmts/win32/tests/win32-longsect.asm +++ /dev/null @@ -1,10 +0,0 @@ -[section this_is_a_very_long_section_name] -dd 0 -[section another.long.section] -dd 0 -[section exactly8] -dd 0 -[section onemorex9] -dd 0 -[section juuust7] -dd 0 diff --git a/modules/objfmts/win32/tests/win32-longsect.hex b/modules/objfmts/win32/tests/win32-longsect.hex deleted file mode 100644 index 57ab5286..00000000 --- a/modules/objfmts/win32/tests/win32-longsect.hex +++ /dev/null @@ -1,682 +0,0 @@ -4c -01 -06 -00 -00 -00 -00 -00 -18 -01 -00 -00 -0f -00 -00 -00 -00 -00 -0c -01 -2e -74 -65 -78 -74 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -20 -00 -50 -60 -2f -34 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -04 -00 -00 -00 -04 -01 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -20 -00 -00 -60 -2f -33 -37 -00 -00 -00 -00 -00 -04 -00 -00 -00 -00 -00 -00 -00 -04 -00 -00 -00 -08 -01 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -20 -00 -00 -60 -65 -78 -61 -63 -74 -6c -79 -38 -08 -00 -00 -00 -00 -00 -00 -00 -04 -00 -00 -00 -0c -01 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -20 -00 -00 -60 -2f -35 -38 -00 -00 -00 -00 -00 -0c -00 -00 -00 -00 -00 -00 -00 -04 -00 -00 -00 -10 -01 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -20 -00 -00 -60 -6a -75 -75 -75 -73 -74 -37 -00 -10 -00 -00 -00 -00 -00 -00 -00 -04 -00 -00 -00 -14 -01 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -20 -00 -00 -60 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -2e -66 -69 -6c -65 -00 -00 -00 -00 -00 -00 -00 -fe -ff -00 -00 -67 -01 -2d -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -40 -66 -65 -61 -74 -2e -30 -30 -01 -00 -00 -00 -ff -ff -00 -00 -03 -00 -2e -74 -65 -78 -74 -00 -00 -00 -00 -00 -00 -00 -01 -00 -00 -00 -03 -01 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -44 -00 -00 -00 -00 -00 -00 -00 -02 -00 -00 -00 -03 -01 -04 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -65 -00 -00 -00 -00 -00 -00 -00 -03 -00 -00 -00 -03 -01 -04 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -65 -78 -61 -63 -74 -6c -79 -38 -00 -00 -00 -00 -04 -00 -00 -00 -03 -01 -04 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -7a -00 -00 -00 -00 -00 -00 -00 -05 -00 -00 -00 -03 -01 -04 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -6a -75 -75 -75 -73 -74 -37 -00 -00 -00 -00 -00 -06 -00 -00 -00 -03 -01 -04 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -00 -84 -00 -00 -00 -74 -68 -69 -73 -5f -69 -73 -5f -61 -5f -76 -65 -72 -79 -5f -6c -6f -6e -67 -5f -73 -65 -63 -74 -69 -6f -6e -5f -6e -61 -6d -65 -00 -61 -6e -6f -74 -68 -65 -72 -2e -6c -6f -6e -67 -2e -73 -65 -63 -74 -69 -6f -6e -00 -6f -6e -65 -6d -6f -72 -65 -78 -39 -00 -74 -68 -69 -73 -5f -69 -73 -5f -61 -5f -76 -65 -72 -79 -5f -6c -6f -6e -67 -5f -73 -65 -63 -74 -69 -6f -6e -5f -6e -61 -6d -65 -00 -61 -6e -6f -74 -68 -65 -72 -2e -6c -6f -6e -67 -2e -73 -65 -63 -74 -69 -6f -6e -00 -6f -6e -65 -6d -6f -72 -65 -78 -39 -00 diff --git a/modules/objfmts/xdf/xdf-objfmt.c b/modules/objfmts/xdf/xdf-objfmt.c index aac6e777..9ad0e60a 100644 --- a/modules/objfmts/xdf/xdf-objfmt.c +++ b/modules/objfmts/xdf/xdf-objfmt.c @@ -149,14 +149,12 @@ xdf_objfmt_output_value(yasm_value *value, unsigned char *buf, yasm_bytecode *bc, int warn, /*@null@*/ void *d) { /*@null@*/ xdf_objfmt_output_info *info = (xdf_objfmt_output_info *)d; - yasm_objfmt_xdf *objfmt_xdf; /*@dependent@*/ /*@null@*/ yasm_intnum *intn; unsigned long intn_minus; int retval; unsigned int valsize = value->size; assert(info != NULL); - objfmt_xdf = info->objfmt_xdf; if (value->abs) value->abs = yasm_expr_simplify(value->abs, 1); @@ -375,13 +373,11 @@ static int xdf_objfmt_output_secthead(yasm_section *sect, /*@null@*/ void *d) { /*@null@*/ xdf_objfmt_output_info *info = (xdf_objfmt_output_info *)d; - yasm_objfmt_xdf *objfmt_xdf; /*@dependent@*/ /*@null@*/ xdf_section_data *xsd; /*@null@*/ xdf_symrec_data *xsymd; unsigned char *localbuf; assert(info != NULL); - objfmt_xdf = info->objfmt_xdf; xsd = yasm_section_get_data(sect, &xdf_section_data_cb); assert(xsd != NULL); diff --git a/modules/parsers/nasm/tests/numcase.asm b/modules/parsers/nasm/tests/numcase.asm deleted file mode 100644 index 6f74f2fb..00000000 --- a/modules/parsers/nasm/tests/numcase.asm +++ /dev/null @@ -1,6 +0,0 @@ -dd 10100100b -dd 10101010B -dd 76543210q -dd 01234567Q -dd 005A5h -dd 010ABH diff --git a/modules/parsers/nasm/tests/numcase.hex b/modules/parsers/nasm/tests/numcase.hex deleted file mode 100644 index bafcbd2d..00000000 --- a/modules/parsers/nasm/tests/numcase.hex +++ /dev/null @@ -1,24 +0,0 @@ -a4 -00 -00 -00 -aa -00 -00 -00 -88 -c6 -fa -00 -77 -39 -05 -00 -a5 -05 -00 -00 -ab -10 -00 -00 diff --git a/modules/preprocs/nasm/nasm-pp.c b/modules/preprocs/nasm/nasm-pp.c index 06eaa9ab..27a8cc6c 100644 --- a/modules/preprocs/nasm/nasm-pp.c +++ b/modules/preprocs/nasm/nasm-pp.c @@ -366,7 +366,7 @@ static ListGen *list; * FIXME: We should *really* be able to configure this at run time, * or even have the hash table automatically expanding when necessary. */ -#define NHASH 31 +#define NHASH 4096 /* * The current set of multi-line macros we have defined. diff --git a/modules/preprocs/yapp/Makefile.inc b/modules/preprocs/yapp/Makefile.inc deleted file mode 100644 index 137fe2fb..00000000 --- a/modules/preprocs/yapp/Makefile.inc +++ /dev/null @@ -1,12 +0,0 @@ -libyasm_a_SOURCES += modules/preprocs/yapp/yapp-preproc.c -libyasm_a_SOURCES += modules/preprocs/yapp/yapp-preproc.h -libyasm_a_SOURCES += modules/preprocs/yapp/yapp-token.h -libyasm_a_SOURCES += modules/preprocs/yapp/yapp-token.l - -YASM_MODULES += preproc_yapp - -BUILT_SOURCES += yapp-token.c - -CLEANFILES += yapp-token.c - -include modules/preprocs/yapp/tests/Makefile.inc diff --git a/modules/preprocs/yapp/tests/Makefile.inc b/modules/preprocs/yapp/tests/Makefile.inc deleted file mode 100644 index 4ac216dc..00000000 --- a/modules/preprocs/yapp/tests/Makefile.inc +++ /dev/null @@ -1,24 +0,0 @@ -TESTS += modules/preprocs/yapp/tests/yapp_test.sh - -EXTRA_DIST += modules/preprocs/yapp/tests/Makefile.inc -EXTRA_DIST += modules/preprocs/yapp/tests/yapp_test.sh -EXTRA_DIST += modules/preprocs/yapp/tests/raw.asm -EXTRA_DIST += modules/preprocs/yapp/tests/raw.pre -EXTRA_DIST += modules/preprocs/yapp/tests/comment.asm -EXTRA_DIST += modules/preprocs/yapp/tests/comment.pre -EXTRA_DIST += modules/preprocs/yapp/tests/define.asm -EXTRA_DIST += modules/preprocs/yapp/tests/define.pre -EXTRA_DIST += modules/preprocs/yapp/tests/ddefine.asm -EXTRA_DIST += modules/preprocs/yapp/tests/ddefine.pre -EXTRA_DIST += modules/preprocs/yapp/tests/rdefine.asm -EXTRA_DIST += modules/preprocs/yapp/tests/rdefine.pre -EXTRA_DIST += modules/preprocs/yapp/tests/pdefine.asm -EXTRA_DIST += modules/preprocs/yapp/tests/pdefine.pre -EXTRA_DIST += modules/preprocs/yapp/tests/ifdef.asm -EXTRA_DIST += modules/preprocs/yapp/tests/ifdef.pre -EXTRA_DIST += modules/preprocs/yapp/tests/include.asm -EXTRA_DIST += modules/preprocs/yapp/tests/include.pre -EXTRA_DIST += modules/preprocs/yapp/tests/rinclude.asm -EXTRA_DIST += modules/preprocs/yapp/tests/rinclude.pre -EXTRA_DIST += modules/preprocs/yapp/tests/params.asm -EXTRA_DIST += modules/preprocs/yapp/tests/params.pre diff --git a/modules/preprocs/yapp/tests/comment.asm b/modules/preprocs/yapp/tests/comment.asm deleted file mode 100644 index e41966d4..00000000 --- a/modules/preprocs/yapp/tests/comment.asm +++ /dev/null @@ -1,2 +0,0 @@ -; mov ax, 4 ; asdfasdf - mov ax, 4 ; asdfasdf diff --git a/modules/preprocs/yapp/tests/comment.pre b/modules/preprocs/yapp/tests/comment.pre deleted file mode 100644 index 6d0bfdd3..00000000 --- a/modules/preprocs/yapp/tests/comment.pre +++ /dev/null @@ -1,2 +0,0 @@ -%line 2+1 - - mov ax, 4 diff --git a/modules/preprocs/yapp/tests/ddefine.asm b/modules/preprocs/yapp/tests/ddefine.asm deleted file mode 100644 index ae46fc6f..00000000 --- a/modules/preprocs/yapp/tests/ddefine.asm +++ /dev/null @@ -1,6 +0,0 @@ -%define foo 5 -%define bar baz - mov ax, [foo+bar] -%define baz bzzt -%define bzzt 9 - mov ax, baz+bar diff --git a/modules/preprocs/yapp/tests/ddefine.pre b/modules/preprocs/yapp/tests/ddefine.pre deleted file mode 100644 index 5d2f788d..00000000 --- a/modules/preprocs/yapp/tests/ddefine.pre +++ /dev/null @@ -1,5 +0,0 @@ -%line 3+1 - - mov ax, [5+baz] - - - mov ax, 9+9 diff --git a/modules/preprocs/yapp/tests/define.asm b/modules/preprocs/yapp/tests/define.asm deleted file mode 100644 index f9330d39..00000000 --- a/modules/preprocs/yapp/tests/define.asm +++ /dev/null @@ -1,4 +0,0 @@ -%define foo 5 -%define bar baz - mov ax, [foo+bar] -%define baz bzzt diff --git a/modules/preprocs/yapp/tests/define.pre b/modules/preprocs/yapp/tests/define.pre deleted file mode 100644 index b631ba28..00000000 --- a/modules/preprocs/yapp/tests/define.pre +++ /dev/null @@ -1,3 +0,0 @@ -%line 3+1 - - mov ax, [5+baz] - diff --git a/modules/preprocs/yapp/tests/ifdef.asm b/modules/preprocs/yapp/tests/ifdef.asm deleted file mode 100644 index b9d7807e..00000000 --- a/modules/preprocs/yapp/tests/ifdef.asm +++ /dev/null @@ -1,13 +0,0 @@ -%ifdef foo - mov ax, foo -%endif -%ifdef bar - mov ax, bar -%endif -%define foo 5 -%ifdef foo - mov ax, foo -%endif -%ifdef bar - mov ax, bar -%endif diff --git a/modules/preprocs/yapp/tests/ifdef.pre b/modules/preprocs/yapp/tests/ifdef.pre deleted file mode 100644 index 4031163b..00000000 --- a/modules/preprocs/yapp/tests/ifdef.pre +++ /dev/null @@ -1,5 +0,0 @@ -%line 9+1 - - mov ax, 5 - - -%line 14+1 - diff --git a/modules/preprocs/yapp/tests/include.asm b/modules/preprocs/yapp/tests/include.asm deleted file mode 100644 index 08b1b487..00000000 --- a/modules/preprocs/yapp/tests/include.asm +++ /dev/null @@ -1,5 +0,0 @@ - mov ax, 5 -%include "./modules/preprocs/yapp/tests/raw.asm" - mov ax, 6 -%include "./modules/preprocs/yapp/tests/raw.asm" - mov ax, 7 diff --git a/modules/preprocs/yapp/tests/include.pre b/modules/preprocs/yapp/tests/include.pre deleted file mode 100644 index ea172aca..00000000 --- a/modules/preprocs/yapp/tests/include.pre +++ /dev/null @@ -1,10 +0,0 @@ -%line 1+1 - - mov ax, 5 -%line 1+1 ./modules/preprocs/yapp/tests/raw.asm - mov ax, raw -%line 3+1 - - mov ax, 6 -%line 1+1 ./modules/preprocs/yapp/tests/raw.asm - mov ax, raw -%line 5+1 - - mov ax, 7 diff --git a/modules/preprocs/yapp/tests/params.asm b/modules/preprocs/yapp/tests/params.asm deleted file mode 100644 index 046775e8..00000000 --- a/modules/preprocs/yapp/tests/params.asm +++ /dev/null @@ -1,2 +0,0 @@ -%define foo(a, b) (a)+(b) - foo((a+b,c),(d*e,f)) diff --git a/modules/preprocs/yapp/tests/params.pre b/modules/preprocs/yapp/tests/params.pre deleted file mode 100644 index dc2cd987..00000000 --- a/modules/preprocs/yapp/tests/params.pre +++ /dev/null @@ -1,2 +0,0 @@ -%line 2+1 - - ((a+b,c))+((d*e,f)) diff --git a/modules/preprocs/yapp/tests/pdefine.asm b/modules/preprocs/yapp/tests/pdefine.asm deleted file mode 100644 index ebde9222..00000000 --- a/modules/preprocs/yapp/tests/pdefine.asm +++ /dev/null @@ -1,6 +0,0 @@ -%define foo(bar) bar+1 -%define foo(bar, baz) bar-baz - mov ax, foo - mov ax, foo(5) - mov ax, foo(5, 3) - mov ax, foo(5, 6, 7) diff --git a/modules/preprocs/yapp/tests/pdefine.pre b/modules/preprocs/yapp/tests/pdefine.pre deleted file mode 100644 index 553799d9..00000000 --- a/modules/preprocs/yapp/tests/pdefine.pre +++ /dev/null @@ -1,5 +0,0 @@ -%line 3+1 - - mov ax, foo - mov ax, 5+1 - mov ax, 5-3 - mov ax, foo(5, 6, 7) diff --git a/modules/preprocs/yapp/tests/raw.asm b/modules/preprocs/yapp/tests/raw.asm deleted file mode 100644 index 9d5f67f6..00000000 --- a/modules/preprocs/yapp/tests/raw.asm +++ /dev/null @@ -1 +0,0 @@ - mov ax, raw diff --git a/modules/preprocs/yapp/tests/raw.pre b/modules/preprocs/yapp/tests/raw.pre deleted file mode 100644 index 3bf60621..00000000 --- a/modules/preprocs/yapp/tests/raw.pre +++ /dev/null @@ -1,2 +0,0 @@ -%line 1+1 - - mov ax, raw diff --git a/modules/preprocs/yapp/tests/rdefine.asm b/modules/preprocs/yapp/tests/rdefine.asm deleted file mode 100644 index c4b1644b..00000000 --- a/modules/preprocs/yapp/tests/rdefine.asm +++ /dev/null @@ -1,6 +0,0 @@ -%define recursion endless -%define endless recursion - mov ax, 5 - mov ax, endless -%define recurse recurse - mov ax, recurse diff --git a/modules/preprocs/yapp/tests/rdefine.pre b/modules/preprocs/yapp/tests/rdefine.pre deleted file mode 100644 index dfc1bfac..00000000 --- a/modules/preprocs/yapp/tests/rdefine.pre +++ /dev/null @@ -1,5 +0,0 @@ -%line 3+1 - - mov ax, 5 - mov ax, endless - - mov ax, recurse diff --git a/modules/preprocs/yapp/tests/rinclude.asm b/modules/preprocs/yapp/tests/rinclude.asm deleted file mode 100644 index 43f3efea..00000000 --- a/modules/preprocs/yapp/tests/rinclude.asm +++ /dev/null @@ -1,5 +0,0 @@ -%ifndef recurse -%define recurse -%include "./modules/preprocs/yapp/tests/rinclude.asm" - mov ax, 5 -%endif diff --git a/modules/preprocs/yapp/tests/rinclude.pre b/modules/preprocs/yapp/tests/rinclude.pre deleted file mode 100644 index 63ac7fcd..00000000 --- a/modules/preprocs/yapp/tests/rinclude.pre +++ /dev/null @@ -1,3 +0,0 @@ -%line 4+1 - - mov ax, 5 - diff --git a/modules/preprocs/yapp/tests/yapp_test.sh b/modules/preprocs/yapp/tests/yapp_test.sh deleted file mode 100755 index 146d5ae6..00000000 --- a/modules/preprocs/yapp/tests/yapp_test.sh +++ /dev/null @@ -1,105 +0,0 @@ -#! /bin/sh - -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in - *c*,-n*) ECHO_N= ECHO_C=' -' ECHO_T=' ' ;; - *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; - *) ECHO_N= ECHO_C='\c' ECHO_T= ;; -esac - -mkdir results >/dev/null 2>&1 - -# -# Verify that all test cases match -# (aside from whitespace for now) -# - -passedct=0 -failedct=0 - -YT="yapp_test" - - -echo $ECHO_N "Test $YT: $ECHO_C" -for asm in ${srcdir}/modules/preprocs/yapp/tests/*.asm -do - a=`echo ${asm} | sed 's,^.*/,,;s,.asm$,,'` - o=${a}.yp - og=`echo ${asm} | sed 's,.asm$,.pre,'` - e=${a}.ew - eg=`echo ${asm} | sed 's,.asm$,.errwarn,'` - if test \! -f ${eg}; then - eg=/dev/null - fi - - srcdir_re=`echo ${srcdir} | sed 's,\.,\\.,'` - - # Run within a subshell to prevent signal messages from displaying. - sh -c "sed 's,\./,${srcdir}/,' ${asm} | ./yasm -e -r yapp - 2>results/${e} | sed 's,${srcdir_re}/,./,' > results/${o}" >/dev/null 2>/dev/null - status=$? - if test $status -gt 128; then - # We should never get a coredump! - echo $ECHO_N "C$ECHO_C" - eval "failed$failedct='C: ${a} crashed!'" - failedct=`expr $failedct + 1` - elif test $status -gt 0; then - echo ${asm} | grep err >/dev/null - if test $? -gt 0; then - # YASM detected errors but shouldn't have! - echo $ECHO_N "E$ECHO_C" - eval "failed$failedct='E: ${a} returned an error code!'" - failedct=`expr $failedct + 1` - else - # We got errors, check to see if they match: - if diff -w ${eg} results/${e} >/dev/null; then - # Error/warnings match, it passes! - echo $ECHO_N ".$ECHO_C" - passedct=`expr $passedct + 1` - else - # Error/warnings don't match. - echo $ECHO_N "W$ECHO_C" - eval "failed$failedct='W: ${a} did not match errors and warnings!'" - failedct=`expr $failedct + 1` - fi - fi - else - echo ${asm} | grep -v err >/dev/null - if test $? -gt 0; then - # YASM didn't detect errors but should have! - echo $ECHO_N "E$ECHO_C" - eval "failed$failedct='E: ${a} did not return an error code!'" - failedct=`expr $failedct + 1` - else - if diff -w ${og} results/${o} >/dev/null; then - if diff -w ${eg} results/${e} >/dev/null; then - # Both output file and error/warnings match, it passes! - echo $ECHO_N ".$ECHO_C" - passedct=`expr $passedct + 1` - else - # Error/warnings don't match. - echo $ECHO_N "W$ECHO_C" - eval "failed$failedct='W: ${a} did not match errors and warnings!'" - failedct=`expr $failedct + 1` - fi - else - # Output file doesn't match. - echo $ECHO_N "O$ECHO_C" - eval "failed$failedct='O: ${a} did not match output file!'" - failedct=`expr $failedct + 1` - fi - fi - fi -done - -ct=`expr $failedct + $passedct` -per=`expr 100 \* $passedct / $ct` - -echo " +$passedct-$failedct/$ct $per%" -i=0 -while test $i -lt $failedct; do - eval "failure=\$failed$i" - echo " ** $failure" - i=`expr $i + 1` -done - -exit $failedct diff --git a/modules/preprocs/yapp/yapp-preproc.c b/modules/preprocs/yapp/yapp-preproc.c deleted file mode 100644 index ec91256e..00000000 --- a/modules/preprocs/yapp/yapp-preproc.c +++ /dev/null @@ -1,1020 +0,0 @@ -/* - * YAPP preprocessor (mimics NASM's preprocessor) - * - * Copyright (C) 2001 Michael Urman - * - * 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. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND OTHER 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 AUTHOR OR OTHER 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. - */ -#include <util.h> - -#include <libyasm.h> - -#include "yapp-preproc.h" -#include "yapp-token.h" - -#define ydebug(x) /* printf x */ - -typedef struct yasm_preproc_yapp { - yasm_preproc_base preproc; /* base structure */ -} yasm_preproc_yapp; - -yasm_preproc_module yasm_yapp_LTX_preproc; - -static int saved_length; - -static HAMT *macro_table; - -static YAPP_Output current_output; -YYSTYPE yapp_preproc_lval; - -/*@dependent@*/ yasm_linemap *yapp_preproc_linemap; - -/* Build source and macro representations */ -static SLIST_HEAD(source_head, source_s) source_head, macro_head, param_head; -static struct source_s { - SLIST_ENTRY(source_s) next; - YAPP_Token token; -} *src, *source_tail, *macro_tail, *param_tail; -typedef struct source_s source; - -/* don't forget what the nesting level says */ -static SLIST_HEAD(output_head, output_s) output_head; -static struct output_s { - SLIST_ENTRY(output_s) next; - YAPP_Output out; -} output, *out; - -/*****************************************************************************/ -/* macro support - to be moved to a separate file later (?) */ -/*****************************************************************************/ -typedef struct YAPP_Macro_s { - struct source_head macro_head; - struct source_head param_head; - enum { - YAPP_MACRO = 0, - YAPP_DEFINE - } type; - int args; - int fillargs; - int expanding; -} YAPP_Macro; - -YAPP_Macro * -yapp_macro_insert (char *name, int argc, int fillargs); - -void -yapp_macro_error_exists (YAPP_Macro *v); - -void -yapp_macro_error_sameargname (YAPP_Macro *v); - -YAPP_Macro * -yapp_define_insert (char *name, int argc, int fillargs); - -void -yapp_macro_delete (YAPP_Macro *ym); - -static YAPP_Macro * -yapp_macro_get (const char *key); - -struct source_head * -yapp_define_param_get (HAMT *hamt, const char *key); - -static void -replay_saved_tokens(char *ident, - struct source_head *from_head, - struct source_head *to_head, - source **to_tail); - -YAPP_Macro * -yapp_macro_insert (char *name, int argc, int fillargs) -{ - YAPP_Macro *ym = yasm_xmalloc(sizeof(YAPP_Macro)); - ym->type = YAPP_MACRO; - ym->args = argc; - ym->fillargs = fillargs; - - memcpy(&ym->macro_head, ¯o_head, sizeof(macro_head)); - - SLIST_INIT(¯o_head); - macro_tail = SLIST_FIRST(¯o_head); - return ym; -} - -void -yapp_macro_error_exists (YAPP_Macro *v) -{ - if (v) yasm_error_set(YASM_ERROR_VALUE, N_("Redefining macro of the same name %d:%d"), v->type, v->args); -} - -void -yapp_macro_error_sameargname (YAPP_Macro *v) -{ - if (v) yasm_error_set(YASM_ERROR_VALUE, N_("Duplicate argument names in macro")); -} - -YAPP_Macro * -yapp_define_insert (char *name, int argc, int fillargs) -{ - int zero = 0; - char *mungename = name; - YAPP_Macro *ym; - - ym = yapp_macro_get(name); - if (ym) { - if ((argc >= 0 && ym->args < 0) - || (argc < 0 && ym->args >= 0)) - { - yasm_warn_set(YASM_WARN_PREPROC, N_("Attempted %%define both with and without parameters")); - return NULL; - } - } - else if (argc >= 0) - { - /* insert placeholder for paramlisted defines */ - ym = yasm_xmalloc(sizeof(YAPP_Macro)); - ym->type = YAPP_DEFINE; - ym->args = argc; - ym->fillargs = fillargs; - ym->expanding = 0; - HAMT_insert(macro_table, name, (void *)ym, &zero, (void (*)(void *))yapp_macro_error_exists); - } - - /* now for the real one */ - ym = yasm_xmalloc(sizeof(YAPP_Macro)); - ym->type = YAPP_DEFINE; - ym->args = argc; - ym->fillargs = fillargs; - ym->expanding = 0; - - if (argc>=0) { - mungename = yasm_xmalloc(strlen(name)+8); - sprintf(mungename, "%s(%d)", name, argc); - } - - ydebug(("YAPP: +Inserting macro %s\n", mungename)); - - memcpy(&ym->macro_head, ¯o_head, sizeof(macro_head)); - memcpy(&ym->param_head, ¶m_head, sizeof(param_head)); - - HAMT_insert(macro_table, mungename, (void *)ym, &zero, (void (*)(void *))yapp_macro_error_exists); - - SLIST_INIT(¯o_head); - SLIST_INIT(¶m_head); - - macro_tail = SLIST_FIRST(¯o_head); - param_tail = SLIST_FIRST(¶m_head); - - return ym; -} - -void -yapp_macro_delete (YAPP_Macro *ym) -{ - while (!SLIST_EMPTY(&ym->macro_head)) { - source *s = SLIST_FIRST(&ym->macro_head); - yasm_xfree(s); - SLIST_REMOVE_HEAD(&ym->macro_head, next); - } - yasm_xfree(ym); -} - -static YAPP_Macro * -yapp_macro_get (const char *key) -{ - return (YAPP_Macro *)HAMT_search(macro_table, key); -} - -struct source_head * -yapp_define_param_get (HAMT *hamt, const char *key) -{ - return (struct source_head *)HAMT_search(hamt, key); -} - -/*****************************************************************************/ - -void -append_processed_token(source *tok, struct source_head *to_head, source **to_tail); - -void -append_token(int token, struct source_head *to_head, source **to_tail); - -int -append_to_return(struct source_head *to_head, source **to_tail); - -int -eat_through_return(struct source_head *to_head, source **to_tail); - -int -yapp_get_ident(const char *synlvl); - -void -copy_token(YAPP_Token *tok, struct source_head *to_head, source **to_tail); - -void -expand_macro(char *name, - struct source_head *from_head, - struct source_head *to_head, - source **to_tail); - -void -expand_token_list(struct source_head *paramexp, struct source_head *to_head, source **to_tail); - -static yasm_preproc * -yapp_preproc_create(const char *in_filename, yasm_linemap *lm, - yasm_errwarns *errwarns) -{ - FILE *f; - yasm_preproc_yapp *preproc_yapp = yasm_xmalloc(sizeof(yasm_preproc_yapp)); - - if (strcmp(in_filename, "-") != 0) { - f = fopen(in_filename, "r"); - if (!f) - yasm__fatal( N_("Could not open input file") ); - } - else - f = stdin; - - preproc_yapp->preproc.module = &yasm_yapp_LTX_preproc; - - yapp_preproc_linemap = lm; - yapp_preproc_current_file = yasm__xstrdup(in_filename); - yapp_preproc_line_number = 1; - yapp_lex_initialize(f); - SLIST_INIT(&output_head); - SLIST_INIT(&source_head); - SLIST_INIT(¯o_head); - SLIST_INIT(¶m_head); - out = yasm_xmalloc(sizeof(output)); - out->out = current_output = YAPP_OUTPUT; - SLIST_INSERT_HEAD(&output_head, out, next); - - macro_table = HAMT_create(yasm_internal_error_); - - source_tail = SLIST_FIRST(&source_head); - macro_tail = SLIST_FIRST(¯o_head); - param_tail = SLIST_FIRST(¶m_head); - - append_token(LINE, &source_head, &source_tail); - - return (yasm_preproc *)preproc_yapp; -} - -static void -yapp_preproc_destroy(yasm_preproc *preproc) -{ - /* TODO: clean up */ - yasm_xfree(preproc); -} - -/* Generate a new level of if* context - * if val is true, this module of the current level will be output IFF the - * surrounding one is. - */ -static void -push_if(int val) -{ - out = yasm_xmalloc(sizeof(output)); - out->out = current_output; - SLIST_INSERT_HEAD(&output_head, out, next); - - switch (current_output) - { - case YAPP_OUTPUT: - current_output = val ? YAPP_OUTPUT : YAPP_NO_OUTPUT; - break; - - case YAPP_NO_OUTPUT: - case YAPP_OLD_OUTPUT: - case YAPP_BLOCKED_OUTPUT: - current_output = YAPP_BLOCKED_OUTPUT; - break; - } - if (current_output != YAPP_OUTPUT) set_inhibit(); - -} - -/* Generate a new module in the current if* context - * if val is true and this level hasn't had a true, it will be output if the - * surrounding level is. - */ -static void -push_else(int val) -{ - switch (current_output) - { - /* if it was NO, turn to output IFF val is true */ - case YAPP_NO_OUTPUT: - current_output = val ? YAPP_OUTPUT : YAPP_NO_OUTPUT; - break; - - /* if it was yes, make it OLD */ - case YAPP_OUTPUT: - current_output = YAPP_OLD_OUTPUT; - break; - - /* leave OLD as OLD, BLOCKED as BLOCKED */ - case YAPP_OLD_OUTPUT: - case YAPP_BLOCKED_OUTPUT: - break; - } - if (current_output != YAPP_OUTPUT) set_inhibit(); -} - -/* Clear the curent if* context level */ -static void -pop_if(void) -{ - out = SLIST_FIRST(&output_head); - current_output = out->out; - SLIST_REMOVE_HEAD(&output_head, next); - yasm_xfree(out); - if (current_output != YAPP_OUTPUT) set_inhibit(); -} - -/* undefine a symbol */ -static void -yapp_undef(const char *key) -{ - int zero = 0; - HAMT_insert(macro_table, key, NULL, &zero, (void (*)(void *))yapp_macro_delete); -} - -/* Is a symbol known to YAPP? */ -static int -yapp_defined(const char *key) -{ - return yapp_macro_get(key) != NULL; -} - -void -append_processed_token(source *tok, struct source_head *to_head, source **to_tail) -{ - ydebug(("YAPP: appended token \"%s\"\n", tok->token.str)); - if (*to_tail) { - SLIST_INSERT_AFTER(*to_tail, tok, next); - } - else { - SLIST_INSERT_HEAD(to_head, tok, next); - } - *to_tail = tok; - if (to_head == &source_head) - saved_length += strlen(tok->token.str); -} - -void -append_token(int token, struct source_head *to_head, source **to_tail) -{ - if (current_output != YAPP_OUTPUT) { - ydebug(("YAPP: append_token while not YAPP_OUTPUT\n")); - return; - } - - /* attempt to condense LINES together or newlines onto LINES */ - if ((*to_tail) && (*to_tail)->token.type == LINE - && (token == '\n' || token == LINE)) - { - yasm_xfree ((*to_tail)->token.str); - (*to_tail)->token.str = yasm_xmalloc(23+strlen(yapp_preproc_current_file)); - sprintf((*to_tail)->token.str, "%%line %d+1 %s\n", yapp_preproc_line_number, yapp_preproc_current_file); - } - else { - src = yasm_xmalloc(sizeof(source)); - src->token.type = token; - switch (token) - { - case INTNUM: - src->token.str = yasm__xstrdup(yapp_preproc_lval.int_str_val.str); - src->token.val.int_val = yapp_preproc_lval.int_str_val.val; - break; - - case FLTNUM: - src->token.str = yasm__xstrdup(yapp_preproc_lval.double_str_val.str); - src->token.val.double_val = yapp_preproc_lval.double_str_val.val; - break; - - case STRING: - case WHITESPACE: - src->token.str = yasm__xstrdup(yapp_preproc_lval.str_val); - break; - - case IDENT: - src->token.str = yasm__xstrdup(yapp_preproc_lval.str_val); - break; - - case '+': case '-': case '*': case '/': case '%': case ',': case '\n': - case '[': case ']': case '(': case ')': - src->token.str = yasm_xmalloc(2); - src->token.str[0] = (char)token; - src->token.str[1] = '\0'; - break; - - case LINE: - /* TODO: consider removing any trailing newline or LINE tokens */ - src->token.str = yasm_xmalloc(23+strlen(yapp_preproc_current_file)); - sprintf(src->token.str, "%%line %d+1 %s\n", yapp_preproc_line_number, yapp_preproc_current_file); - break; - - default: - yasm_xfree(src); - return; - } - append_processed_token(src, to_head, to_tail); - } -} - -static void -replay_saved_tokens(char *ident, - struct source_head *from_head, - struct source_head *to_head, - source **to_tail) -{ - source *item, *after; - ydebug(("-No, %s didn't match any macro we have\n", ident)); - /* this means a macro expansion failed. stick its name and all the saved - * tokens into the output stream */ - yapp_preproc_lval.str_val = ident; - append_token(IDENT, to_head, to_tail); - - item = SLIST_FIRST(from_head); - while (item) { - after = SLIST_NEXT(item, next); - SLIST_INSERT_AFTER(*to_tail, item, next); - *to_tail = item; - saved_length += strlen(item->token.str); - item = after; - } - SLIST_INIT(from_head); -} - -int -append_to_return(struct source_head *to_head, source **to_tail) -{ - int token = yapp_preproc_lex(); - while (token != '\n') { - ydebug(("YAPP: ATR: '%c' \"%s\"\n", token, yapp_preproc_lval.str_val)); - if (token == 0) - return 0; - append_token(token, to_head, to_tail); - token = yapp_preproc_lex(); - } - return '\n'; -} - -int -eat_through_return(struct source_head *to_head, source **to_tail) -{ - int token; - while ((token = yapp_preproc_lex()) != '\n') { - if (token == 0) - return 0; - yasm_error_set(YASM_ERROR_SYNTAX, - N_("Skipping possibly valid %%define stuff")); - } - append_token('\n', to_head, to_tail); - return '\n'; -} - -int -yapp_get_ident(const char *synlvl) -{ - int token = yapp_preproc_lex(); - if (token == WHITESPACE) - token = yapp_preproc_lex(); - if (token != IDENT) { - yasm_error_set(YASM_ERROR_SYNTAX, N_("Identifier expected after %%%s"), - synlvl); - } - return token; -} - -void -copy_token(YAPP_Token *tok, struct source_head *to_head, source **to_tail) -{ - src = yasm_xmalloc(sizeof(source)); - src->token.type = tok->type; - src->token.str = yasm__xstrdup(tok->str); - - append_processed_token(src, to_head, to_tail); -} - -void -expand_macro(char *name, - struct source_head *from_head, - struct source_head *to_head, - source **to_tail) -{ - struct source_head replay_head, arg_head; - source *replay_tail, *arg_tail; - - YAPP_Macro *ym = yapp_macro_get(name); - - ydebug(("YAPP: +Expand macro %s...\n", name)); - - if (ym->expanding) yasm_internal_error(N_("Recursively expanding a macro!")); - - if (ym->type == YAPP_DEFINE) { - if (ym->args == -1) { - /* no parens to deal with */ - ym->expanding = 1; - expand_token_list(&ym->macro_head, to_head, to_tail); - ym->expanding = 0; - } - else - { - char *mungename; - int token; - int argc=0; - int parennest=0; - HAMT *param_table; - source *replay, *param; - - ydebug(("YAPP: +Expanding multi-arg macro %s...\n", name)); - - /* Build up both a parameter reference list and a token buffer, - * because we won't know until we've reached the closing paren if - * we can actuall expand the macro or not. bleah. */ - /* worse, we can't build the parameter list until we know the - * parameter names, which we can't look up until we know the - * number of arguments. sigh */ - /* HMM */ - SLIST_INIT(&replay_head); - replay_tail = SLIST_FIRST(&replay_head); - - /* find out what we got */ - if (from_head) { - yasm_internal_error(N_("Expanding macro with non-null from_head ugh\n")); - } - token = yapp_preproc_lex(); - append_token(token, &replay_head, &replay_tail); - /* allow one whitespace */ - if (token == WHITESPACE) { - ydebug(("Ignoring WS between macro and paren\n")); - token = yapp_preproc_lex(); - append_token(token, &replay_head, &replay_tail); - } - if (token != '(') { - ydebug(("YAPP: -Didn't get to left paren; instead got '%c' \"%s\"\n", token, yapp_preproc_lval.str_val)); - replay_saved_tokens(name, &replay_head, to_head, to_tail); - return; - } - - /* at this point, we've got the left paren. time to get annoyed */ - while (token != ')') { - token = yapp_preproc_lex(); - append_token(token, &replay_head, &replay_tail); - /* TODO: handle { } for commas? or is that just macros? */ - switch (token) { - case '(': - parennest++; - break; - - case ')': - if (parennest) { - parennest--; - token = ','; - } - else { - argc++; - } - break; - - case ',': - if (!parennest) - argc++; - break; - - case WHITESPACE: case IDENT: case INTNUM: case FLTNUM: case STRING: - case '+': case '-': case '*': case '/': - break; - - default: - if (token < 256) - yasm_internal_error(N_("Unexpected character token in parameter expansion")); - else - yasm_error_set(YASM_ERROR_SYNTAX, N_("Cannot handle preprocessor items inside possible macro invocation")); - } - } - - /* Now we have the argument count; let's see if it exists */ - mungename = yasm_xmalloc(strlen(name)+8); - sprintf(mungename, "%s(%d)", name, argc); - ym = yapp_macro_get(mungename); - if (!ym) - { - ydebug(("YAPP: -Didn't find macro %s\n", mungename)); - replay_saved_tokens(name, &replay_head, to_head, to_tail); - yasm_xfree(mungename); - return; - } - ydebug(("YAPP: +Found macro %s\n", mungename)); - - ym->expanding = 1; - - /* so the macro exists. build a HAMT parameter table */ - param_table = HAMT_create(yasm_internal_error_); - /* fill the entries by walking the replay buffer and create - * "macros". coincidentally, clear the replay buffer. */ - - /* get to the opening paren */ - replay = SLIST_FIRST(&replay_head); - while (replay->token.type != '(') { - ydebug(("YAPP: Ignoring replay token '%c' \"%s\"\n", replay->token.type, replay->token.str)); - SLIST_REMOVE_HEAD(&replay_head, next); - yasm_xfree(replay->token.str); - yasm_xfree(replay); - replay = SLIST_FIRST(&replay_head); - } - ydebug(("YAPP: Ignoring replay token '%c' \"%s\"\n", replay->token.type, replay->token.str)); - - /* free the open paren */ - SLIST_REMOVE_HEAD(&replay_head, next); - yasm_xfree(replay->token.str); - yasm_xfree(replay); - - param = SLIST_FIRST(&ym->param_head); - - SLIST_INIT(&arg_head); - arg_tail = SLIST_FIRST(&arg_head); - - replay = SLIST_FIRST(&replay_head); - SLIST_REMOVE_HEAD(&replay_head, next); - while (parennest || replay) { - if (replay->token.type == '(') { - parennest++; - append_processed_token(replay, &arg_head, &arg_tail); - ydebug(("YAPP: +add arg token '%c'\n", replay->token.type)); - } - else if (parennest && replay->token.type == ')') { - parennest--; - append_processed_token(replay, &arg_head, &arg_tail); - ydebug(("YAPP: +add arg token '%c'\n", replay->token.type)); - } - else if ((!parennest) && (replay->token.type == ',' - || replay->token.type == ')')) - { - int zero=0; - struct source_head *argmacro = yasm_xmalloc(sizeof(struct source_head)); - memcpy(argmacro, &arg_head, sizeof(struct source_head)); - SLIST_INIT(&arg_head); - arg_tail = SLIST_FIRST(&arg_head); - - /* don't save the comma */ - yasm_xfree(replay->token.str); - yasm_xfree(replay); - - HAMT_insert(param_table, - param->token.str, - (void *)argmacro, - &zero, - (void (*)(void *))yapp_macro_error_sameargname); - param = SLIST_NEXT(param, next); - } - else if (replay->token.type == IDENT - && yapp_defined(replay->token.str)) - { - ydebug(("YAPP: +add arg macro '%c' \"%s\"\n", replay->token.type, replay->token.str)); - expand_macro(replay->token.str, &replay_head, &arg_head, &arg_tail); - } - else if (arg_tail || replay->token.type != WHITESPACE) { - ydebug(("YAPP: +else add arg token '%c' \"%s\"\n", replay->token.type, replay->token.str)); - append_processed_token(replay, &arg_head, &arg_tail); - } - replay = SLIST_FIRST(&replay_head); - if (replay) SLIST_REMOVE_HEAD(&replay_head, next); - } - if (replay) { - yasm_xfree(replay->token.str); - yasm_xfree(replay); - } - else if (param) { - yasm_internal_error(N_("Got to end of arglist before end of replay!")); - } - replay = SLIST_FIRST(&replay_head); - if (replay || param) - yasm_internal_error(N_("Count and distribution of define args mismatched!")); - - /* the param_table is set up without errors, so expansion is ready - * to go */ - SLIST_FOREACH (replay, &ym->macro_head, next) { - if (replay->token.type == IDENT) { - - /* check local args first */ - struct source_head *paramexp = - yapp_define_param_get(param_table, replay->token.str); - - if (paramexp) { - expand_token_list(paramexp, to_head, to_tail); - } - else { - /* otherwise, check macros */ - YAPP_Macro *imacro = yapp_macro_get(replay->token.str); - if (imacro != NULL && !imacro->expanding) { - expand_macro(replay->token.str, NULL, to_head, to_tail); - } - else { - /* otherwise it's just a vanilla ident */ - copy_token(&replay->token, to_head, to_tail); - } - } - } - else { - copy_token(&replay->token, to_head, to_tail); - } - } - ym->expanding = 0; - } - } - else - yasm_internal_error(N_("Invoking Macros not yet supported")); - - ym->expanding = 0; -} - -void -expand_token_list(struct source_head *paramexp, struct source_head *to_head, source **to_tail) -{ - source *item; - SLIST_FOREACH (item, paramexp, next) { - if (item->token.type == IDENT) { - YAPP_Macro *imacro = yapp_macro_get(item->token.str); - if (imacro != NULL && !imacro->expanding) { - expand_macro(item->token.str, NULL, to_head, to_tail); - } - else { - copy_token(&item->token, to_head, to_tail); - } - } - else { - copy_token(&item->token, to_head, to_tail); - } - } -} - -static size_t -yapp_preproc_input(yasm_preproc *preproc, char *buf, size_t max_size) -{ - static YAPP_State state = YAPP_STATE_INITIAL; - size_t n = 0; - int token; - int need_line_directive = 0; - - while ((size_t)saved_length < max_size && state != YAPP_STATE_EOF) - { - token = yapp_preproc_lex(); - - switch (state) { - case YAPP_STATE_INITIAL: - switch (token) - { - char *s; - default: - append_token(token, &source_head, &source_tail); - /*if (append_to_return()==0) state=YAPP_STATE_EOF;*/ - ydebug(("YAPP: default: '%c' \"%s\"\n", token, yapp_preproc_lval.str_val)); - /*yasm_error_set(YASM_ERROR_SYNTAX, N_("YAPP got an unhandled token."));*/ - break; - - case IDENT: - ydebug(("YAPP: ident: \"%s\"\n", yapp_preproc_lval.str_val)); - if (yapp_defined(yapp_preproc_lval.str_val)) { - expand_macro(yapp_preproc_lval.str_val, NULL, &source_head, &source_tail); - } - else { - append_token(token, &source_head, &source_tail); - } - break; - - case 0: - state = YAPP_STATE_EOF; - break; - - case '\n': - append_token(token, &source_head, &source_tail); - break; - - case CLEAR: - HAMT_destroy(macro_table, (void (*)(void *))yapp_macro_delete); - macro_table = HAMT_create(yasm_internal_error_); - break; - - case DEFINE: - ydebug(("YAPP: define: ")); - token = yapp_get_ident("define"); - ydebug((" \"%s\"\n", yapp_preproc_lval.str_val)); - s = yasm__xstrdup(yapp_preproc_lval.str_val); - - /* three cases: newline or stuff or left paren */ - token = yapp_preproc_lex(); - if (token == '\n') { - /* no args or content - just insert it */ - yapp_define_insert(s, -1, 0); - append_token('\n', &source_head, &source_tail); - } - else if (token == WHITESPACE) { - /* no parens */ - if(append_to_return(¯o_head, ¯o_tail)==0) state=YAPP_STATE_EOF; - else { - yapp_define_insert(s, -1, 0); - } - append_token('\n', &source_head, &source_tail); - } - else if (token == '(') { - /* get all params of the parameter list */ - /* ensure they alternate IDENT and ',' */ - int param_count = 0; - int last_token = ','; - - ydebug((" *Getting arglist for define %s\n", s)); - - while ((token = yapp_preproc_lex())!=')') { - ydebug(("YAPP: +read token '%c' \"%s\" for macro %s\n", token, yapp_preproc_lval.str_val, s)); - if (token == WHITESPACE) { - token = last_token; - } - else if (last_token == ',' && token == IDENT) { - append_token(token, ¶m_head, ¶m_tail); - param_count++; - } - else if (token == 0) { - state = YAPP_STATE_EOF; - break; - } - else if (last_token == ',' || token != ',') - yasm_error_set(YASM_ERROR_SYNTAX, N_("Unexpected token in %%define parameters")); - last_token = token; - } - if (token == ')') { - /* after paramlist and ')' */ - /* everything is what it's defined to be */ - token = yapp_preproc_lex(); - if (token != WHITESPACE) append_token(token, ¯o_head, ¯o_tail); - if (append_to_return(¯o_head, ¯o_tail)==0) state=YAPP_STATE_EOF; - else { - ydebug(("YAPP: Inserting define macro %s (%d)\n", s, param_count)); - yapp_define_insert(s, param_count, 0); - } - } - append_token('\n', &source_head, &source_tail); - } - else { - yasm_internal_error(N_("%%define ... failed miserably - neither \\n, WS, or ( followed ident")); - } - break; - - case UNDEF: - token = yapp_get_ident("undef"); - yapp_undef(yapp_preproc_lval.str_val); - state = YAPP_STATE_NEED_EOL; - break; - - case IFDEF: - token = yapp_get_ident("ifdef"); - push_if(yapp_defined(yapp_preproc_lval.str_val)); - state = YAPP_STATE_NEED_EOL; - break; - - case IFNDEF: - token = yapp_get_ident("ifndef"); - push_if(!yapp_defined(yapp_preproc_lval.str_val)); - state = YAPP_STATE_NEED_EOL; - break; - - case ELSE: - push_else(1); - if (current_output == YAPP_OUTPUT) need_line_directive = 1; - state = YAPP_STATE_NEED_EOL; - break; - - case ELIFDEF: - token = yapp_get_ident("elifdef"); - push_else(yapp_defined(yapp_preproc_lval.str_val)); - if (current_output == YAPP_OUTPUT) need_line_directive = 1; - state = YAPP_STATE_NEED_EOL; - break; - - case ELIFNDEF: - token = yapp_get_ident("elifndef"); - push_else(!yapp_defined(yapp_preproc_lval.str_val)); - if (current_output == YAPP_OUTPUT) need_line_directive = 1; - state = YAPP_STATE_NEED_EOL; - break; - - case ENDIF: - /* there's got to be another way to do this: */ - /* only set if going from non-output to output */ - if (current_output != YAPP_OUTPUT) need_line_directive = 1; - pop_if(); - if (current_output != YAPP_OUTPUT) need_line_directive = 0; - state = YAPP_STATE_NEED_EOL; - break; - - case INCLUDE: - case LINE: - need_line_directive = 1; - break; - } - if (state == YAPP_STATE_NEED_EOL) - { - if (eat_through_return(&source_head, &source_tail)==0) state=YAPP_STATE_EOF; - else state=YAPP_STATE_INITIAL; - } - break; - default: - yasm_error_set(YASM_ERROR_PARSE, N_("YAPP got into a bad state")); - } - if (need_line_directive) { - append_token(LINE, &source_head, &source_tail); - need_line_directive = 0; - } - } - - /* convert saved stuff into output. we either have enough, or are EOF */ - while (n < max_size && saved_length) - { - src = SLIST_FIRST(&source_head); - if (max_size - n >= strlen(src->token.str)) { - strcpy(buf+n, src->token.str); - n += strlen(src->token.str); - - saved_length -= strlen(src->token.str); - SLIST_REMOVE_HEAD(&source_head, next); - yasm_xfree(src->token.str); - yasm_xfree(src); - } - } - - return n; -} - -static size_t -yapp_preproc_get_included_file(yasm_preproc *preproc, /*@out@*/ char *buf, - size_t max_size) -{ - /* TODO */ - return 0; -} - -static void -yapp_preproc_add_include_file(yasm_preproc *preproc, const char *filename) -{ - /* TODO */ -} - -static void -yapp_preproc_predefine_macro(yasm_preproc *preproc, const char *macronameval) -{ - /* TODO */ -} - -static void -yapp_preproc_undefine_macro(yasm_preproc *preproc, const char *macroname) -{ - /* TODO */ -} - -static void -yapp_preproc_define_builtin(yasm_preproc *preproc, const char *macronameval) -{ - /* TODO */ -} - -static void -yapp_preproc_add_standard(yasm_preproc *preproc, const char **macros) -{ - /* TODO */ -} - -/* Define preproc structure -- see preproc.h for details */ -yasm_preproc_module yasm_yapp_LTX_preproc = { - "YAPP preprocessing (NASM style)", - "yapp", - yapp_preproc_create, - yapp_preproc_destroy, - yapp_preproc_input, - yapp_preproc_get_included_file, - yapp_preproc_add_include_file, - yapp_preproc_predefine_macro, - yapp_preproc_undefine_macro, - yapp_preproc_define_builtin, - yapp_preproc_add_standard -}; diff --git a/modules/preprocs/yapp/yapp-preproc.h b/modules/preprocs/yapp/yapp-preproc.h deleted file mode 100644 index 38065ab6..00000000 --- a/modules/preprocs/yapp/yapp-preproc.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * YAPP preprocessor (mimics NASM's preprocessor) header file - * - * Copyright (C) 2001 Michael Urman - * - * 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. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND OTHER 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 AUTHOR OR OTHER 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. - */ - -/* Representation of tokenized file, both for straight source, and macros */ -typedef struct YAPP_Token_s { - unsigned int type; - char *str; - union { - unsigned int int_val; - double double_val; - char *str_val; - } val; -} YAPP_Token; - -/* internal state of preprocessor's parser */ -typedef enum { - YAPP_STATE_INITIAL = 0, - YAPP_STATE_ASSIGN, - YAPP_STATE_DEFINING_MACRO, - YAPP_STATE_BUILDING_MACRO, - YAPP_STATE_NEED_EOL, - YAPP_STATE_EOF -} YAPP_State; - -/* tracks nested %if* %elif* %else %endif structures */ -typedef enum { - YAPP_OUTPUT, /* this level+module outputs */ - YAPP_NO_OUTPUT, /* this would never output */ - YAPP_OLD_OUTPUT, /* this level has already output */ - YAPP_BLOCKED_OUTPUT /* the surrounding level is not outputting */ -} YAPP_Output; - -void yapp_lex_initialize(FILE *f); -void set_inhibit(void); - -extern /*@dependent@*/ yasm_linemap *yapp_preproc_linemap; -#define cur_lindex yasm_linemap_get_current(yapp_preproc_linemap) - diff --git a/modules/preprocs/yapp/yapp-token.h b/modules/preprocs/yapp/yapp-token.h deleted file mode 100644 index e63c4c83..00000000 --- a/modules/preprocs/yapp/yapp-token.h +++ /dev/null @@ -1,64 +0,0 @@ -typedef union { - char *str_val; - struct { - char *str; - unsigned long val; - } int_str_val; - struct { - char *str; - double val; - } double_str_val; -} YYSTYPE; -#define INTNUM 257 -#define FLTNUM 258 -#define STRING 259 -#define IDENT 260 -#define CLEAR 261 -#define INCLUDE 262 -#define LINE 263 -#define DEFINE 264 -#define UNDEF 265 -#define ASSIGN 266 -#define MACRO 267 -#define ENDMACRO 268 -#define ROTATE 269 -#define REP 270 -#define EXITREP 271 -#define ENDREP 272 -#define IF 273 -#define ELIF 274 -#define ELSE 275 -#define ENDIF 276 -#define IFDEF 277 -#define ELIFDEF 278 -#define IFNDEF 279 -#define ELIFNDEF 280 -#define IFCTX 281 -#define ELIFCTX 282 -#define IFIDN 283 -#define ELIFIDN 284 -#define IFIDNI 285 -#define ELIFIDNI 286 -#define IFID 287 -#define ELIFID 288 -#define IFNUM 289 -#define ELIFNUM 290 -#define IFSTR 291 -#define ELIFSTR 292 -#define ERROR 293 -#define PUSH 294 -#define POP 295 -#define REPL 296 -#define LEFT_OP 297 -#define RIGHT_OP 298 -#define SIGNDIV 299 -#define SIGNMOD 300 -#define UNARYOP 301 -#define WHITESPACE 302 - - -extern YYSTYPE yapp_preproc_lval; -extern char *yapp_preproc_current_file; -extern int yapp_preproc_line_number; - -int yapp_preproc_lex(void); diff --git a/modules/preprocs/yapp/yapp-token.l b/modules/preprocs/yapp/yapp-token.l deleted file mode 100644 index d1390777..00000000 --- a/modules/preprocs/yapp/yapp-token.l +++ /dev/null @@ -1,361 +0,0 @@ -/* - * YAPP lexer - * - * Copyright (C) 2001 Michael Urman - * - * 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. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND OTHER 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 AUTHOR OR OTHER 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. - */ -%{ -#include <util.h> - -#define YASM_LIB_INTERNAL -#include <libyasm.h> - -#include <errno.h> - -#include "modules/preprocs/yapp/yapp-preproc.h" -#include "modules/preprocs/yapp/yapp-token.h" - - -#define yylval yapp_preproc_lval - -#define malloc yasm_xmalloc -#define realloc yasm_xrealloc - -/* starting size of string buffer */ -#define STRBUF_ALLOC_SIZE 128 - -/* string buffer used when parsing strings/character constants */ -static char *strbuf = (char *)NULL; - -/* length of strbuf (including terminating NULL character) */ -static size_t strbuf_size = 0; - -/* include file mumbo jumbo */ -static SLIST_HEAD(include_head, include_s) includes_head; -struct include_s { - SLIST_ENTRY(include_s) next; - YY_BUFFER_STATE include_state; - char *filename; - int line_number; -}; -typedef struct include_s include; - -char *yapp_preproc_current_file; -int yapp_preproc_line_number; - -%} -%option noyywrap -%option nounput -%option case-insensitive -%option prefix="yapp_preproc_" -%option outfile="lex.yy.c" - -%x D -%x incl -%x line -%x inhibit - -DIGIT [0-9] -BINDIGIT [01] -OCTDIGIT [0-7] -HEXDIGIT [0-9a-f] -WS [ \t] -DIR %[ \t]* - -%% - - /* standard decimal integer */ -{DIGIT}+ { - yylval.int_str_val.val = strtoul(yytext, (char **)NULL, 10); - yylval.int_str_val.str = yytext; - return INTNUM; -} - - /* 10010011b - binary number */ -{BINDIGIT}+b { - yylval.int_str_val.val = strtoul(yytext, (char **)NULL, 2); - yylval.int_str_val.str = yytext; - return INTNUM; -} - - /* 777q - octal number */ -{OCTDIGIT}+q { - yylval.int_str_val.val = strtoul(yytext, (char **)NULL, 8); - yylval.int_str_val.str = yytext; - return INTNUM; -} - - /* 0AAh form of hexidecimal number */ -0{HEXDIGIT}+h { - yylval.int_str_val.val = strtoul(yytext+1, (char **)NULL, 16); - yylval.int_str_val.str = yytext; - return INTNUM; -} - - /* $0AA and 0xAA forms of hexidecimal number */ -(\$0|0x){HEXDIGIT}+ { - yylval.int_str_val.val = strtoul(yytext+2, (char **)NULL, 16); - yylval.int_str_val.str = yytext; - return INTNUM; -} - - /* floating point value */ -{DIGIT}+\.{DIGIT}*(e[-+]?{DIGIT}+)? { - yylval.double_str_val.val = strtod(yytext, (char **)NULL); - yylval.double_str_val.str = yytext; - return FLTNUM; -} - - /* string/character constant values */ -["'] { - int inch; - size_t count; - char endch = yytext[0]; - - strbuf = yasm_xmalloc(STRBUF_ALLOC_SIZE); - - strbuf_size = STRBUF_ALLOC_SIZE; - inch = input(); - count = 0; - while(inch != EOF && inch != endch && inch != '\n') { - strbuf[count++] = inch; - if(count >= strbuf_size) { - strbuf = yasm_xrealloc(strbuf, strbuf_size + STRBUF_ALLOC_SIZE); - strbuf_size += STRBUF_ALLOC_SIZE; - } - inch = input(); - } - - if(inch == '\n') - yasm_error_set(YASM_ERROR_VALUE, N_("unterminated string")); - else if(inch == EOF) - yasm_error_set(YASM_ERROR_VALUE, N_("unexpected end of file in string")); - - strbuf[count] = '\0'; - - yylval.str_val = strbuf; - return STRING; -} - - /* identifiers */ -\.\.[a-z0-9_$#@~.?]+ | -\.[a-z0-9_$#@~?][a-z0-9_$#@~.?]* | -[a-z_?][a-z0-9_$#@~.?]* { - yylval.str_val = yasm__xstrdup(yytext); - return IDENT; -} - - /* includes - based on flex manual handling of include files */ -<inhibit>{DIR}include[^\n]* ; -{DIR}include BEGIN(incl); - /* note the " handling here is a hack that doesn't accept useful - * things (like spaces, or quotes). fix it later */ -<incl>[ \t"]* /* eat whitespace */ -<incl>[^ \t\n"]* { /* have the filename */ - include *inc; - FILE *incfile; - inc = yasm_xmalloc(sizeof(include)); - inc->include_state = YY_CURRENT_BUFFER; - - /* FIXME: handle includes that aren't relative */ - incfile = fopen (yytext, "r"); - if(!incfile) { - yasm_error_set(YASM_ERROR_VALUE, N_("include file `%s': %s"), - yytext, strerror(errno)); - yasm_xfree(inc); - } - else { - yyin = incfile; - inc->filename = yapp_preproc_current_file; - inc->line_number = yapp_preproc_line_number; - SLIST_INSERT_HEAD(&includes_head, inc, next); - - yapp_preproc_line_number = 1; - yapp_preproc_current_file = yasm__xstrdup(yytext); - BEGIN(INITIAL); - yy_switch_to_buffer(yy_create_buffer(yyin, YY_BUF_SIZE)); - } - return INCLUDE; -} - - /* end includes - note that it's not in <incl> at the time */ -<<EOF>> { - if(SLIST_EMPTY(&includes_head)) { - yyterminate(); - } - else { - include *inc; - inc = SLIST_FIRST(&includes_head); - yy_delete_buffer (YY_CURRENT_BUFFER); - yy_switch_to_buffer (inc->include_state); - yasm_xfree(yapp_preproc_current_file); - yapp_preproc_current_file = inc->filename; - yapp_preproc_line_number = inc->line_number + 1; - SLIST_REMOVE_HEAD(&includes_head, next); - yasm_xfree(inc); - - BEGIN(incl); - return INCLUDE; - } -} - -<incl>["]{WS}*\n BEGIN(INITIAL); - - - /* directive: % directive [args] */ -<inhibit>{DIR}clear[^\n] ; -{DIR}clear return CLEAR; - -<inhibit>{DIR}line[^\n] ; -{DIR}line BEGIN(line); -<line>{DIGIT}+ yapp_preproc_line_number = strtoul(yytext, (char **)NULL, 10); -<line>{DIGIT}+{WS}*\n { - yapp_preproc_line_number = strtoul(yytext, (char **)NULL, 10); - BEGIN(INITIAL); - return LINE; -} -<line>{WS}+["] ; /* eat space before file */ -<line>[^ \t\n"]* { /* have the filename */ - yasm_xfree(yapp_preproc_current_file); - yapp_preproc_current_file = yasm__xstrdup(yytext); -} -<line>["]{WS}*\n { - BEGIN(INITIAL); - return LINE; -} - -{DIR}define return DEFINE; -{DIR}undef return UNDEF; -{DIR}assign return ASSIGN; -{DIR}macro return MACRO; -{DIR}endmacro return ENDMACRO; -{DIR}rotate return ROTATE; -<inhibit>{DIR}define[^\n]* ; -<inhibit>{DIR}undef[^\n]* ; -<inhibit>{DIR}assign[^\n]* ; -<inhibit>{DIR}macro[^\n]* ; -<inhibit>{DIR}endmacro[^\n]* ; -<inhibit>{DIR}rotate[^\n]* ; - - /* preprocessor loops */ -{DIR}rep return REP; -{DIR}exitrep return EXITREP; -{DIR}endrep return ENDREP; -<inhibit>{DIR}rep[^\n]* ; -<inhibit>{DIR}exitrep[^\n]* ; -<inhibit>{DIR}endrep[^\n]* ; - -{DIR}if return IF; -{DIR}elif return ELIF; -{DIR}else return ELSE; -{DIR}endif return ENDIF; -<inhibit>{DIR}if { BEGIN(INITIAL); return IF; } -<inhibit>{DIR}elif { BEGIN(INITIAL); return ELIF; } -<inhibit>{DIR}else { BEGIN(INITIAL); return ELSE; } -<inhibit>{DIR}endif { BEGIN(INITIAL); return ENDIF; } - - /* test defines */ -{DIR}ifdef return IFDEF; -{DIR}elifdef return ELIFDEF; -{DIR}ifndef return IFNDEF; -{DIR}elifndef return ELIFNDEF; -<inhibit>{DIR}ifdef { BEGIN(INITIAL); return IFDEF; } -<inhibit>{DIR}elifdef { BEGIN(INITIAL); return ELIFDEF; } -<inhibit>{DIR}ifndef { BEGIN(INITIAL); return IFNDEF; } -<inhibit>{DIR}elifndef { BEGIN(INITIAL); return ELIFNDEF; } - - /* test context stack */ -{DIR}ifctx return IFCTX; -{DIR}elifctx return ELIFCTX; -<inhibit>{DIR}ifctx { BEGIN(INITIAL); return IFCTX; } -<inhibit>{DIR}elifctx { BEGIN(INITIAL); return ELIFCTX; } - - /* test exact identity */ -{DIR}ifidn return IFIDN; -{DIR}elifidn return ELIFIDN; -{DIR}ifidni return IFIDNI; -{DIR}elifidni return ELIFIDNI; -<inhibit>{DIR}ifidn { BEGIN(INITIAL); return IFIDN; } -<inhibit>{DIR}elifidn { BEGIN(INITIAL); return ELIFIDN; } -<inhibit>{DIR}ifidni { BEGIN(INITIAL); return IFIDNI; } -<inhibit>{DIR}elifidni { BEGIN(INITIAL); return ELIFIDNI; } - - /* test token types */ -{DIR}ifid return IFID; -{DIR}elifid return ELIFID; -{DIR}ifnum return IFNUM; -{DIR}elifnum return ELIFNUM; -{DIR}ifstr return IFSTR; -{DIR}elifstr return ELIFSTR; -<inhibit>{DIR}ifid { BEGIN(INITIAL); return IFID; } -<inhibit>{DIR}elifid { BEGIN(INITIAL); return ELIFID; } -<inhibit>{DIR}ifnum { BEGIN(INITIAL); return IFNUM; } -<inhibit>{DIR}elifnum { BEGIN(INITIAL); return ELIFNUM; } -<inhibit>{DIR}ifstr { BEGIN(INITIAL); return IFSTR; } -<inhibit>{DIR}elifstr { BEGIN(INITIAL); return ELIFSTR; } - - /* error reporting */ -<inhibit>{DIR}error[^\n]* ; -{DIR}error[ ]+.* { yylval.str_val = yytext; return ERROR; } - - /* context stack management */ -{DIR}push return PUSH; -{DIR}pop return POP; -{DIR}repl return REPL; -<inhibit>{DIR}push[^\n]* ; -<inhibit>{DIR}pop[^\n]* ; -<inhibit>{DIR}repl[^\n]* ; - -<inhibit>[^%\n]*\n { yapp_preproc_line_number++; return '\n'; } - -;.*\n { yapp_preproc_line_number++; return '\n'; } - -{WS}+ { yylval.str_val = yytext; return WHITESPACE; } - -{WS}*\n { yapp_preproc_line_number++; return '\n'; } - - -[][+*/,()-] { return yytext[0]; } - -<inhibit>. { - yasm_warn_set(YASM_WARN_PREPROC, N_("Unhandled character in <inhibit> `%s'"), yasm__conv_unprint(yytext[0])); -} - -. { - yasm_warn_set(YASM_WARN_PREPROC, N_("ignoring unrecognized character `%s'"), - yasm__conv_unprint(yytext[0])); -} - -%% - -void -yapp_lex_initialize(FILE *f) -{ - SLIST_INIT(&includes_head); - yyin = f; -} - -void set_inhibit(void) -{ - BEGIN(inhibit); -} diff --git a/po/.gitignore b/po/.gitignore deleted file mode 100644 index 38039dfd..00000000 --- a/po/.gitignore +++ /dev/null @@ -1,10 +0,0 @@ -Makefile.in.in -POTFILES -cat-id-tbl.c -yasm.pot -stamp-cat-id -remove-potcdate.sed -Makefile -Makefile.in -.*.swp -stamp-po diff --git a/po/ChangeLog b/po/ChangeLog index 07f045bd..3cafdef3 100644 --- a/po/ChangeLog +++ b/po/ChangeLog @@ -1,3 +1,8 @@ +2014-08-10 gettextize <bug-gnu-gettext@gnu.org> + + * Makefile.in.in: Upgrade to gettext-0.18.3. + * Rules-quot: Upgrade to gettext-0.18.3. + 2010-06-15 gettextize <bug-gnu-gettext@gnu.org> * Makefile.in.in: Upgrade to gettext-0.17. diff --git a/po/Makefile.in.in b/po/Makefile.in.in index fecf500f..fabdc76c 100644 --- a/po/Makefile.in.in +++ b/po/Makefile.in.in @@ -1,5 +1,5 @@ # Makefile for PO directory in any package using GNU gettext. -# Copyright (C) 1995-1997, 2000-2007 by Ulrich Drepper <drepper@gnu.ai.mit.edu> +# Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper <drepper@gnu.ai.mit.edu> # # This file can be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU General Public @@ -8,13 +8,14 @@ # Please note that the actual code of GNU gettext is covered by the GNU # General Public License and is *not* in the public domain. # -# Origin: gettext-0.17 -GETTEXT_MACRO_VERSION = 0.17 +# Origin: gettext-0.18.3 +GETTEXT_MACRO_VERSION = 0.18 PACKAGE = @PACKAGE@ VERSION = @VERSION@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +SED = @SED@ SHELL = /bin/sh @SET_MAKE@ @@ -88,22 +89,22 @@ CATALOGS = @CATALOGS@ .po.gmo: @lang=`echo $* | sed -e 's,.*/,,'`; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ - echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \ - cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo + echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \ + cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo .sin.sed: sed -e '/^#/d' $< > t-$@ mv t-$@ $@ -all: check-macro-version all-@USE_NLS@ +all: all-@USE_NLS@ all-yes: stamp-po all-no: # Ensure that the gettext macros and this Makefile.in.in are in sync. -check-macro-version: - @test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \ +CHECK_MACRO_VERSION = \ + test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \ || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \ exit 1; \ } @@ -123,6 +124,7 @@ check-macro-version: # $(POFILES) has been designed to not touch files that don't need to be # changed. stamp-po: $(srcdir)/$(DOMAIN).pot + @$(CHECK_MACRO_VERSION) test ! -f $(srcdir)/$(DOMAIN).pot || \ test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) @test ! -f $(srcdir)/$(DOMAIN).pot || { \ @@ -137,8 +139,16 @@ stamp-po: $(srcdir)/$(DOMAIN).pot # This target rebuilds $(DOMAIN).pot; it is an expensive operation. # Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. +# The determination of whether the package xyz is a GNU one is based on the +# heuristic whether some file in the top level directory mentions "GNU xyz". +# If GNU 'find' is available, we avoid grepping through monster files. $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed - if LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \ + if { if (LC_ALL=C find --version) 2>/dev/null | grep GNU >/dev/null; then \ + LC_ALL=C find -L $(top_srcdir) -maxdepth 1 -type f -size -10000000c -exec grep 'GNU @PACKAGE@' /dev/null '{}' ';' 2>/dev/null; \ + else \ + LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null; \ + fi; \ + } | grep -v 'libtool:' >/dev/null; then \ package_gnu='GNU '; \ else \ package_gnu=''; \ @@ -193,8 +203,15 @@ $(POFILES): $(srcdir)/$(DOMAIN).pot @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ if test -f "$(srcdir)/$${lang}.po"; then \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ - echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \ - cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot; \ + echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ + cd $(srcdir) \ + && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ + esac; \ + }; \ else \ $(MAKE) $${lang}.po-create; \ fi @@ -217,7 +234,6 @@ install-data: install-data-@USE_NLS@ fi install-data-no: all install-data-yes: all - $(mkdir_p) $(DESTDIR)$(datadir) @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ @@ -269,7 +285,6 @@ installdirs-data: installdirs-data-@USE_NLS@ fi installdirs-data-no: installdirs-data-yes: - $(mkdir_p) $(DESTDIR)$(datadir) @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ @@ -395,9 +410,15 @@ update-po: Makefile tmpdir=`pwd`; \ echo "$$lang:"; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ - echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ + echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ cd $(srcdir); \ - if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \ + if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + *) \ + $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ + esac; \ + }; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ @@ -418,9 +439,13 @@ $(DUMMYPOFILES): update-gmo: Makefile $(GMOFILES) @: +# Recreate Makefile by invoking config.status. Explicitly invoke the shell, +# because execution permission bits may not work on the current file system. +# Use @SHELL@, which is the shell determined by autoconf for the use by its +# scripts, not $(SHELL) which is hardwired to /bin/sh and may be deficient. Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@ cd $(top_builddir) \ - && $(SHELL) ./config.status $(subdir)/$@.in po-directories + && @SHELL@ ./config.status $(subdir)/$@.in po-directories force: diff --git a/po/Makevars b/po/Makevars index 89166e06..589f9f15 100644 --- a/po/Makevars +++ b/po/Makevars @@ -39,3 +39,15 @@ MSGID_BUGS_ADDRESS = bug-yasm@tortall.net # This is the list of locale categories, beyond LC_MESSAGES, for which the # message catalogs shall be used. It is usually empty. EXTRA_LOCALE_CATEGORIES = + +# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt' +# context. Possible values are "yes" and "no". Set this to yes if the +# package uses functions taking also a message context, like pgettext(), or +# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument. +USE_MSGCTXT = no + +# These options get passed to msgmerge. +# Useful options are in particular: +# --previous to keep previous msgids of translated messages, +# --quiet to reduce the verbosity. +MSGMERGE_OPTIONS = diff --git a/po/Makevars.template b/po/Makevars.template deleted file mode 100644 index 32692ab4..00000000 --- a/po/Makevars.template +++ /dev/null @@ -1,41 +0,0 @@ -# Makefile variables for PO directory in any package using GNU gettext. - -# Usually the message domain is the same as the package name. -DOMAIN = $(PACKAGE) - -# These two variables depend on the location of this directory. -subdir = po -top_builddir = .. - -# These options get passed to xgettext. -XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ - -# This is the copyright holder that gets inserted into the header of the -# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding -# package. (Note that the msgstr strings, extracted from the package's -# sources, belong to the copyright holder of the package.) Translators are -# expected to transfer the copyright for their translations to this person -# or entity, or to disclaim their copyright. The empty string stands for -# the public domain; in this case the translators are expected to disclaim -# their copyright. -COPYRIGHT_HOLDER = Free Software Foundation, Inc. - -# This is the email address or URL to which the translators shall report -# bugs in the untranslated strings: -# - Strings which are not entire sentences, see the maintainer guidelines -# in the GNU gettext documentation, section 'Preparing Strings'. -# - Strings which use unclear terms or require additional context to be -# understood. -# - Strings which make invalid assumptions about notation of date, time or -# money. -# - Pluralisation problems. -# - Incorrect English spelling. -# - Incorrect formatting. -# It can be your email address, or a mailing list address where translators -# can write to without being subscribed, or the URL of a web page through -# which the translators can contact you. -MSGID_BUGS_ADDRESS = - -# This is the list of locale categories, beyond LC_MESSAGES, for which the -# message catalogs shall be used. It is usually empty. -EXTRA_LOCALE_CATEGORIES = diff --git a/po/Rules-quot b/po/Rules-quot index 9c2a995e..5931e539 100644 --- a/po/Rules-quot +++ b/po/Rules-quot @@ -14,13 +14,13 @@ en@boldquot.po-update: en@boldquot.po-update-en .insert-header.po-update-en: @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ - if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ + if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ ll=`echo $$lang | sed -e 's/@.*//'`; \ LC_ALL=C; export LC_ALL; \ cd $(srcdir); \ - if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \ + if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$lang -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) $(SED) -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ diff --git a/po/stamp-po b/po/stamp-po new file mode 100644 index 00000000..9788f702 --- /dev/null +++ b/po/stamp-po @@ -0,0 +1 @@ +timestamp diff --git a/po/yasm.pot b/po/yasm.pot new file mode 100644 index 00000000..82521a6d --- /dev/null +++ b/po/yasm.pot @@ -0,0 +1,2425 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR Peter Johnson and other YASM developers +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: yasm 1.3.0\n" +"Report-Msgid-Bugs-To: bug-yasm@tortall.net\n" +"POT-Creation-Date: 2014-08-10 22:26-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: frontends/yasm/yasm-options.c:86 +#, c-format +msgid "option `--%s' needs an argument!" +msgstr "" + +#: frontends/yasm/yasm-options.c:106 frontends/yasm/yasm-options.c:144 +#, c-format +msgid "warning: unrecognized option `%s'" +msgstr "" + +#: frontends/yasm/yasm-options.c:125 +#, c-format +msgid "option `-%c' needs an argument!" +msgstr "" + +#: frontends/yasm/yasm-options.c:179 frontends/yasm/yasm-options.c:187 +msgid "param" +msgstr "" + +#: frontends/yasm/yasm.c:150 +msgid "show version text" +msgstr "" + +#: frontends/yasm/yasm.c:152 +msgid "show license text" +msgstr "" + +#: frontends/yasm/yasm.c:154 +msgid "show help text" +msgstr "" + +#: frontends/yasm/yasm.c:156 +msgid "select architecture (list with -a help)" +msgstr "" + +#: frontends/yasm/yasm.c:156 +msgid "arch" +msgstr "" + +#: frontends/yasm/yasm.c:158 +msgid "select parser (list with -p help)" +msgstr "" + +#: frontends/yasm/yasm.c:158 frontends/yasm/yasm.c:420 +#: frontends/yasm/yasm.c:466 frontends/yasm/yasm.c:698 +#: frontends/yasm/yasm.c:900 +msgid "parser" +msgstr "" + +#: frontends/yasm/yasm.c:160 +msgid "select preprocessor (list with -r help)" +msgstr "" + +#: frontends/yasm/yasm.c:160 +msgid "preproc" +msgstr "" + +#: frontends/yasm/yasm.c:162 +msgid "select object format (list with -f help)" +msgstr "" + +#: frontends/yasm/yasm.c:162 +msgid "format" +msgstr "" + +#: frontends/yasm/yasm.c:164 +msgid "select debugging format (list with -g help)" +msgstr "" + +#: frontends/yasm/yasm.c:164 +msgid "debug" +msgstr "" + +#: frontends/yasm/yasm.c:166 +msgid "select list format (list with -L help)" +msgstr "" + +#: frontends/yasm/yasm.c:166 +msgid "list" +msgstr "" + +#: frontends/yasm/yasm.c:168 +msgid "name of list-file output" +msgstr "" + +#: frontends/yasm/yasm.c:168 +msgid "listfile" +msgstr "" + +#: frontends/yasm/yasm.c:170 +msgid "name of object-file output" +msgstr "" + +#: frontends/yasm/yasm.c:170 frontends/yasm/yasm.c:172 +#: frontends/yasm/yasm.c:194 +msgid "filename" +msgstr "" + +#: frontends/yasm/yasm.c:172 +msgid "name of map-file output" +msgstr "" + +#: frontends/yasm/yasm.c:174 +msgid "select machine (list with -m help)" +msgstr "" + +#: frontends/yasm/yasm.c:174 frontends/yasm/yasm.c:414 +msgid "machine" +msgstr "" + +#: frontends/yasm/yasm.c:176 +msgid "treat all sized operands as if `strict' was used" +msgstr "" + +#: frontends/yasm/yasm.c:178 +msgid "inhibits warning messages" +msgstr "" + +#: frontends/yasm/yasm.c:180 +msgid "enables/disables warning" +msgstr "" + +#: frontends/yasm/yasm.c:182 +msgid "generate Makefile dependencies on stdout" +msgstr "" + +#: frontends/yasm/yasm.c:184 +msgid "redirect error messages to file" +msgstr "" + +#: frontends/yasm/yasm.c:184 +msgid "file" +msgstr "" + +#: frontends/yasm/yasm.c:186 +msgid "redirect error messages to stdout" +msgstr "" + +#: frontends/yasm/yasm.c:188 +msgid "preprocess only (writes output to stdout by default)" +msgstr "" + +#: frontends/yasm/yasm.c:190 frontends/yasm/yasm.c:192 +msgid "add include path" +msgstr "" + +#: frontends/yasm/yasm.c:190 frontends/yasm/yasm.c:192 +msgid "path" +msgstr "" + +#: frontends/yasm/yasm.c:194 +msgid "pre-include file" +msgstr "" + +#: frontends/yasm/yasm.c:196 frontends/yasm/yasm.c:198 +msgid "pre-define a macro, optionally to value" +msgstr "" + +#: frontends/yasm/yasm.c:196 frontends/yasm/yasm.c:198 +msgid "macro[=value]" +msgstr "" + +#: frontends/yasm/yasm.c:200 frontends/yasm/yasm.c:202 +msgid "undefine a macro" +msgstr "" + +#: frontends/yasm/yasm.c:200 frontends/yasm/yasm.c:202 +msgid "macro" +msgstr "" + +#: frontends/yasm/yasm.c:204 +msgid "select error/warning message style (`gnu' or `vc')" +msgstr "" + +#: frontends/yasm/yasm.c:204 +msgid "style" +msgstr "" + +#: frontends/yasm/yasm.c:206 +msgid "prepend argument to name of all external symbols" +msgstr "" + +#: frontends/yasm/yasm.c:206 +msgid "prefix" +msgstr "" + +#: frontends/yasm/yasm.c:208 frontends/yasm/yasm.c:210 +msgid "append argument to name of all external symbols" +msgstr "" + +#: frontends/yasm/yasm.c:208 frontends/yasm/yasm.c:210 +msgid "suffix" +msgstr "" + +#: frontends/yasm/yasm.c:213 +msgid "load plugin module" +msgstr "" + +#: frontends/yasm/yasm.c:213 +msgid "plugin" +msgstr "" + +#: frontends/yasm/yasm.c:227 +msgid "" +"usage: yasm [option]* file\n" +"Options:\n" +msgstr "" + +#: frontends/yasm/yasm.c:230 +msgid "" +"\n" +"Files are asm sources to be assembled.\n" +"\n" +"Sample invocation:\n" +" yasm -f elf -o object.o source.asm\n" +"\n" +"Report bugs to bug-yasm@tortall.net\n" +msgstr "" + +#: frontends/yasm/yasm.c:413 frontends/yasm/yasm.c:418 +#: frontends/yasm/yasm.c:464 +#, c-format +msgid "%s: `%s' is not a valid %s for %s `%s'" +msgstr "" + +#: frontends/yasm/yasm.c:414 frontends/yasm/yasm.c:419 +#: frontends/yasm/yasm.c:424 frontends/yasm/yasm.c:439 +#: frontends/yasm/yasm.c:464 frontends/yasm/yasm.c:608 +#: frontends/yasm/yasm.c:620 frontends/yasm/yasm.c:665 +#: frontends/yasm/yasm.c:675 frontends/yasm/yasm.c:697 +#: frontends/yasm/yasm.c:709 frontends/yasm/yasm.c:732 +#: frontends/yasm/yasm.c:743 frontends/yasm/yasm.c:881 +#: frontends/yasm/yasm.c:900 frontends/yasm/yasm.c:919 +#: frontends/yasm/yasm.c:939 frontends/yasm/yasm.c:963 +#: frontends/yasm/yasm.c:983 frontends/yasm/yasm.c:1366 libyasm/errwarn.c:180 +msgid "FATAL" +msgstr "" + +#: frontends/yasm/yasm.c:415 frontends/yasm/yasm.c:420 +#: frontends/yasm/yasm.c:676 frontends/yasm/yasm.c:685 +#: frontends/yasm/yasm.c:882 +msgid "architecture" +msgstr "" + +#: frontends/yasm/yasm.c:424 +#, c-format +msgid "%s: unknown architecture error" +msgstr "" + +#: frontends/yasm/yasm.c:465 frontends/yasm/yasm.c:710 +#: frontends/yasm/yasm.c:920 +msgid "preprocessor" +msgstr "" + +#: frontends/yasm/yasm.c:513 +#, c-format +msgid "warning: object format `%s' does not support map files" +msgstr "" + +#: frontends/yasm/yasm.c:608 +#, c-format +msgid "%s: could not initialize BitVector" +msgstr "" + +#: frontends/yasm/yasm.c:620 +#, c-format +msgid "%s: could not load standard modules" +msgstr "" + +#: frontends/yasm/yasm.c:665 frontends/yasm/yasm.c:675 +#: frontends/yasm/yasm.c:697 frontends/yasm/yasm.c:709 +#: frontends/yasm/yasm.c:732 frontends/yasm/yasm.c:743 +#, c-format +msgid "%s: could not load default %s" +msgstr "" + +#: frontends/yasm/yasm.c:666 frontends/yasm/yasm.c:940 +msgid "object format" +msgstr "" + +#: frontends/yasm/yasm.c:684 +#, c-format +msgid "Available %s for %s `%s':\n" +msgstr "" + +#: frontends/yasm/yasm.c:684 +msgid "machines" +msgstr "" + +#: frontends/yasm/yasm.c:718 +msgid "No input files specified" +msgstr "" + +#: frontends/yasm/yasm.c:733 frontends/yasm/yasm.c:984 +msgid "list format" +msgstr "" + +#: frontends/yasm/yasm.c:744 frontends/yasm/yasm.c:964 +msgid "debug format" +msgstr "" + +#: frontends/yasm/yasm.c:761 +#, c-format +msgid "could not open file `%s'" +msgstr "" + +#: frontends/yasm/yasm.c:835 +msgid "" +"warning: can open only one input file, only the last file will be processed" +msgstr "" + +#: frontends/yasm/yasm.c:876 frontends/yasm/yasm.c:895 +#: frontends/yasm/yasm.c:914 frontends/yasm/yasm.c:934 +#: frontends/yasm/yasm.c:958 frontends/yasm/yasm.c:978 +#, c-format +msgid "Available yasm %s:\n" +msgstr "" + +#: frontends/yasm/yasm.c:876 +msgid "architectures" +msgstr "" + +#: frontends/yasm/yasm.c:881 frontends/yasm/yasm.c:900 +#: frontends/yasm/yasm.c:919 frontends/yasm/yasm.c:939 +#: frontends/yasm/yasm.c:963 frontends/yasm/yasm.c:983 +#, c-format +msgid "%s: unrecognized %s `%s'" +msgstr "" + +#: frontends/yasm/yasm.c:895 +msgid "parsers" +msgstr "" + +#: frontends/yasm/yasm.c:914 +msgid "preprocessors" +msgstr "" + +#: frontends/yasm/yasm.c:934 +msgid "object formats" +msgstr "" + +#: frontends/yasm/yasm.c:958 +msgid "debug formats" +msgstr "" + +#: frontends/yasm/yasm.c:978 +msgid "list formats" +msgstr "" + +#: frontends/yasm/yasm.c:996 +msgid "warning: can output to only one list file, last specified used" +msgstr "" + +#: frontends/yasm/yasm.c:1012 +msgid "warning: can output to only one object file, last specified used" +msgstr "" + +#: frontends/yasm/yasm.c:1028 +msgid "warning: can output to only one map file, last specified used" +msgstr "" + +#: frontends/yasm/yasm.c:1105 +msgid "warning: can output to only one error file, last specified used" +msgstr "" + +#: frontends/yasm/yasm.c:1163 +#, c-format +msgid "warning: unrecognized message style `%s'" +msgstr "" + +#: frontends/yasm/yasm.c:1209 +#, c-format +msgid "warning: could not load plugin `%s'" +msgstr "" + +#: frontends/yasm/yasm.c:1303 +#, c-format +msgid "file name already ends in `.%s': output will be in `%s'" +msgstr "" + +#: frontends/yasm/yasm.c:1312 +#, c-format +msgid "file name already has no extension: output will be in `%s'" +msgstr "" + +#: frontends/yasm/yasm.c:1354 libyasm/errwarn.c:165 +#, c-format +msgid "INTERNAL ERROR at %s, line %u: %s\n" +msgstr "" + +#: frontends/yasm/yasm.c:1394 frontends/yasm/yasm.c:1396 +#: frontends/yasm/yasm.c:1400 frontends/yasm/yasm.c:1403 +msgid "error: " +msgstr "" + +#: frontends/yasm/yasm.c:1412 frontends/yasm/yasm.c:1415 +msgid "warning: " +msgstr "" + +#: libyasm/bc-align.c:110 +msgid "align boundary must be a constant" +msgstr "" + +#: libyasm/bc-align.c:113 +msgid "align fill must be a constant" +msgstr "" + +#: libyasm/bc-align.c:116 +msgid "align maximum skip must be a constant" +msgstr "" + +#: libyasm/bc-align.c:205 +msgid "could not find any code alignment size" +msgstr "" + +#: libyasm/bc-align.c:218 +#, c-format +msgid "invalid alignment size %d" +msgstr "" + +#: libyasm/bc-data.c:119 +msgid "data expression too complex" +msgstr "" + +#: libyasm/bc-data.c:128 +msgid "LEB128 requires constant values" +msgstr "" + +#: libyasm/bc-data.c:137 +msgid "negative value in unsigned LEB128" +msgstr "" + +#: libyasm/bc-data.c:146 libyasm/bytecode.c:182 +msgid "multiple expression too complex" +msgstr "" + +#: libyasm/bc-data.c:149 libyasm/bytecode.c:185 +msgid "multiple expression not absolute" +msgstr "" + +#: libyasm/bc-data.c:188 libyasm/bc-data.c:243 +msgid "non-constant in data_tobytes" +msgstr "" + +#: libyasm/bc-data.c:437 +msgid "LEB128 does not allow string constants" +msgstr "" + +#: libyasm/bc-data.c:511 libyasm/bytecode.c:362 +msgid "could not determine multiple" +msgstr "" + +#: libyasm/bc-data.c:515 libyasm/bytecode.c:258 libyasm/bytecode.c:366 +msgid "multiple is negative" +msgstr "" + +#: libyasm/bc-incbin.c:115 +msgid "start expression too complex" +msgstr "" + +#: libyasm/bc-incbin.c:118 +msgid "start expression not absolute" +msgstr "" + +#: libyasm/bc-incbin.c:123 +msgid "maximum length expression too complex" +msgstr "" + +#: libyasm/bc-incbin.c:126 +msgid "maximum length expression not absolute" +msgstr "" + +#: libyasm/bc-incbin.c:147 libyasm/bc-incbin.c:160 +msgid "incbin does not yet understand non-constant" +msgstr "" + +#: libyasm/bc-incbin.c:169 libyasm/bc-incbin.c:220 +#, c-format +msgid "`incbin': unable to open file `%s'" +msgstr "" + +#: libyasm/bc-incbin.c:175 libyasm/bc-incbin.c:228 +#, c-format +msgid "`incbin': unable to seek on file `%s'" +msgstr "" + +#: libyasm/bc-incbin.c:185 +#, c-format +msgid "`incbin': start past end of file `%s'" +msgstr "" + +#: libyasm/bc-incbin.c:213 +msgid "could not determine start in bc_tobytes_incbin" +msgstr "" + +#: libyasm/bc-incbin.c:237 +#, c-format +msgid "`incbin': unable to read %lu bytes from file `%s'" +msgstr "" + +#: libyasm/bc-org.c:113 libyasm/bc-org.c:134 +msgid "ORG overlap with already existing data" +msgstr "" + +#: libyasm/bc-reserve.c:122 +msgid "bc_reserve_tobytes called" +msgstr "" + +#: libyasm/bytecode.c:60 +msgid "bytecode length cannot be calculated" +msgstr "" + +#: libyasm/bytecode.c:69 +msgid "bytecode does not have any dependent spans" +msgstr "" + +#: libyasm/bytecode.c:80 +msgid "bytecode cannot be converted to bytes" +msgstr "" + +#: libyasm/bytecode.c:229 +msgid "got empty bytecode in yasm_bc_elem_size" +msgstr "" + +#: libyasm/bytecode.c:246 +msgid "got empty bytecode in yasm_bc_calc_len" +msgstr "" + +#: libyasm/bytecode.c:265 +msgid "expression must not contain floating point value" +msgstr "" + +#: libyasm/bytecode.c:292 +msgid "got empty bytecode in yasm_bc_expand" +msgstr "" + +#: libyasm/bytecode.c:338 +msgid "got empty bytecode in bc_tobytes" +msgstr "" + +#: libyasm/bytecode.c:346 +msgid "written length does not match optimized length" +msgstr "" + +#: libyasm/errwarn.c:238 +msgid "Unexpected errwarn insert action" +msgstr "" + +#: libyasm/errwarn.c:498 +msgid "warnings being treated as errors" +msgstr "" + +#: libyasm/expr.c:79 libyasm/expr.c:102 +msgid "could not find expritem in pool" +msgstr "" + +#: libyasm/expr.c:95 +msgid "Right side of expression must exist" +msgstr "" + +#: libyasm/expr.c:137 +msgid "too many expritems" +msgstr "" + +#: libyasm/expr.c:828 libyasm/section.c:977 libyasm/section.c:1186 +msgid "circular reference detected" +msgstr "" + +#: libyasm/file.c:171 +msgid "octal value out of range" +msgstr "" + +#: libyasm/file.c:255 +msgid "could not determine current working directory" +msgstr "" + +#: libyasm/floatnum.c:519 +msgid "Unsupported floating-point arithmetic operation" +msgstr "" + +#: libyasm/floatnum.c:596 +msgid "Both underflow and overflow set" +msgstr "" + +#: libyasm/floatnum.c:620 +msgid "Byte length of BitVector does not match bit length" +msgstr "" + +#: libyasm/floatnum.c:681 +msgid "unsupported floatnum functionality" +msgstr "" + +#: libyasm/floatnum.c:697 +msgid "Invalid float conversion size" +msgstr "" + +#: libyasm/floatnum.c:704 +msgid "underflow in floating point expression" +msgstr "" + +#: libyasm/floatnum.c:707 +msgid "overflow in floating point expression" +msgstr "" + +#: libyasm/hamt.c:69 +msgid "Subtrie is seen as subtrie before flag is set (misaligned?)" +msgstr "" + +#: libyasm/hamt.c:75 +msgid "Value is seen as subtrie (misaligned?)" +msgstr "" + +#: libyasm/hamt.c:241 +msgid "Data is seen as subtrie (misaligned?)" +msgstr "" + +#: libyasm/insn.c:49 modules/arch/x86/x86id.c:1514 +msgid "multiple segment overrides, using leftmost" +msgstr "" + +#: libyasm/intnum.c:139 +msgid "invalid decimal literal" +msgstr "" + +#: libyasm/intnum.c:143 libyasm/intnum.c:163 libyasm/intnum.c:183 +#: libyasm/intnum.c:203 libyasm/intnum.c:357 libyasm/intnum.c:374 +msgid "Numeric constant too large for internal format" +msgstr "" + +#: libyasm/intnum.c:159 +msgid "invalid binary literal" +msgstr "" + +#: libyasm/intnum.c:179 +msgid "invalid octal literal" +msgstr "" + +#: libyasm/intnum.c:199 +msgid "invalid hex literal" +msgstr "" + +#: libyasm/intnum.c:221 libyasm/intnum.c:267 +msgid "Character constant too large for internal format" +msgstr "" + +#: libyasm/intnum.c:380 libyasm/intnum.c:801 libyasm/intnum.c:832 +msgid "big endian not implemented" +msgstr "" + +#: libyasm/intnum.c:438 +msgid "operation needs an operand" +msgstr "" + +#: libyasm/intnum.c:457 libyasm/intnum.c:465 libyasm/intnum.c:474 +#: libyasm/intnum.c:482 +msgid "divide by zero" +msgstr "" + +#: libyasm/intnum.c:582 libyasm/intnum.c:586 libyasm/intnum.c:590 +#, c-format +msgid "invalid use of '%s'" +msgstr "" + +#: libyasm/intnum.c:599 +msgid "invalid operation in intnum calculation" +msgstr "" + +#: libyasm/intnum.c:736 libyasm/intnum.c:768 +msgid "unknown intnum type" +msgstr "" + +#: libyasm/intnum.c:787 +msgid "destination too large" +msgstr "" + +#: libyasm/intnum.c:792 +#, c-format +msgid "value does not fit in signed %d bit field" +msgstr "" + +#: libyasm/intnum.c:796 +#, c-format +msgid "value does not fit in %d bit field" +msgstr "" + +#: libyasm/intnum.c:814 +msgid "misaligned value, truncating to boundary" +msgstr "" + +#: libyasm/section.c:136 +#, c-format +msgid "no size specified in %s declaration" +msgstr "" + +#: libyasm/section.c:160 +#, c-format +msgid "invalid argument to directive `%s'" +msgstr "" + +#: libyasm/section.c:248 +#, c-format +msgid "object format `%s' does not support architecture `%s' machine `%s'" +msgstr "" + +#: libyasm/section.c:274 +#, c-format +msgid "`%s' is not a valid debug format for object format `%s'" +msgstr "" + +#: libyasm/section.c:283 +#, c-format +msgid "debug format `%s' does not work with object format `%s'" +msgstr "" + +#: libyasm/section.c:571 +msgid "NULL destroy function given to add_reloc" +msgstr "" + +#: libyasm/section.c:573 +msgid "different destroy function given to add_reloc" +msgstr "" + +#: libyasm/section.c:948 libyasm/section.c:1418 +msgid "could not calculate bc distance" +msgstr "" + +#: libyasm/section.c:1350 +msgid "cannot combine multiples and setting assembly position" +msgstr "" + +#: libyasm/section.c:1384 +msgid "secondary expansion of an external/complex value" +msgstr "" + +#: libyasm/section.c:1553 +msgid "org/align went to negative offset" +msgstr "" + +#: libyasm/symrec.c:302 +#, c-format +msgid "`%s' previously defined here" +msgstr "" + +#: libyasm/symrec.c:303 +#, c-format +msgid "redefinition of `%s'" +msgstr "" + +#: libyasm/symrec.c:308 +#, c-format +msgid "`%s' both defined and declared extern" +msgstr "" + +#: libyasm/symrec.c:399 +#, c-format +msgid "duplicate definition of `%s'; first defined on line %lu" +msgstr "" + +#: libyasm/symrec.c:421 +#, c-format +msgid "undefined symbol `%s' (first use)" +msgstr "" + +#: libyasm/symrec.c:442 +msgid " (Each undefined symbol is reported only once.)" +msgstr "" + +#: libyasm/valparam.c:50 modules/parsers/nasm/nasm-parse.c:1575 +#: modules/parsers/nasm/nasm-parse.c:1611 +#, c-format +msgid "directive `%s' requires an argument" +msgstr "" + +#: libyasm/valparam.c:59 +#, c-format +msgid "directive `%s' requires an identifier parameter" +msgstr "" + +#: libyasm/valparam.c:314 +#, c-format +msgid "argument to `%s' is not an expression" +msgstr "" + +#: libyasm/valparam.c:335 modules/objfmts/rdf/rdf-objfmt.c:617 +#, c-format +msgid "argument to `%s' is not an integer" +msgstr "" + +#: libyasm/valparam.c:357 +#, c-format +msgid "argument to `%s' is not a string or identifier" +msgstr "" + +#: libyasm/valparam.c:372 libyasm/valparam.c:378 +#: modules/objfmts/elf/elf-objfmt.c:246 modules/objfmts/rdf/rdf-objfmt.c:634 +#, c-format +msgid "Unrecognized qualifier `%s'" +msgstr "" + +#: libyasm/valparam.c:380 +msgid "Unrecognized string qualifier" +msgstr "" + +#: libyasm/valparam.c:382 +msgid "Unrecognized numeric qualifier" +msgstr "" + +#: libyasm/value.c:165 +#, c-format +msgid "expression on line %d has too many add terms; internal limit of 32" +msgstr "" + +#: libyasm/value.c:539 +msgid "unexpected expr term type" +msgstr "" + +#: libyasm/value.c:649 +msgid "floating point expression too complex" +msgstr "" + +#: libyasm/value.c:670 +msgid "expression too complex" +msgstr "" + +#: libyasm/xmalloc.c:71 libyasm/xmalloc.c:86 libyasm/xmalloc.c:103 +msgid "out of memory" +msgstr "" + +#: modules/arch/lc3b/lc3barch.c:146 +msgid "LC-3b does not support floating point" +msgstr "" + +#: modules/arch/lc3b/lc3bbc.c:163 +msgid "jump target out of range" +msgstr "" + +#: modules/arch/lc3b/lc3bbc.c:234 +msgid "Unrecognized immediate type" +msgstr "" + +#: modules/arch/x86/x86arch.c:140 +msgid "ignoring default rel in non-64-bit mode" +msgstr "" + +#: modules/arch/x86/x86arch.c:166 modules/arch/x86/x86arch.c:173 +#: modules/arch/x86/x86arch.c:195 +#, c-format +msgid "invalid argument to [%s]" +msgstr "" + +#: modules/arch/x86/x86arch.c:454 +msgid "Invalid mode_bits in x86_get_fill" +msgstr "" + +#: modules/arch/x86/x86arch.c:483 modules/arch/x86/x86arch.c:578 +msgid "unknown register size" +msgstr "" + +#: modules/arch/x86/x86arch.c:514 +msgid "bad register group" +msgstr "" + +#: modules/arch/x86/x86bc.c:123 modules/arch/x86/x86bc.c:131 +msgid "cannot use A/B/C/DH with instruction needing REX" +msgstr "" + +#: modules/arch/x86/x86bc.c:165 +msgid "effective address too complex" +msgstr "" + +#: modules/arch/x86/x86bc.c:296 +msgid "multiple XACQUIRE/XRELEASE prefixes, using leftmost" +msgstr "" + +#: modules/arch/x86/x86bc.c:303 +msgid "multiple LOCK or REP prefixes, using leftmost" +msgstr "" + +#: modules/arch/x86/x86bc.c:315 modules/arch/x86/x86bc.c:332 +msgid "ignoring REX prefix on jump" +msgstr "" + +#: modules/arch/x86/x86bc.c:318 modules/arch/x86/x86bc.c:335 +msgid "REX prefix not allowed on this instruction, ignoring" +msgstr "" + +#: modules/arch/x86/x86bc.c:340 +msgid "overriding generated REX prefix" +msgstr "" + +#: modules/arch/x86/x86bc.c:343 +msgid "multiple REX prefixes, using leftmost" +msgstr "" + +#: modules/arch/x86/x86bc.c:703 modules/arch/x86/x86bc.c:986 +msgid "near jump does not exist" +msgstr "" + +#: modules/arch/x86/x86bc.c:717 modules/arch/x86/x86bc.c:958 +msgid "short jump does not exist" +msgstr "" + +#: modules/arch/x86/x86bc.c:764 modules/objfmts/coff/win64-except.c:275 +msgid "unrecognized span id" +msgstr "" + +#: modules/arch/x86/x86bc.c:771 +msgid "short jump out of range" +msgstr "" + +#: modules/arch/x86/x86bc.c:776 +msgid "trying to expand an already-near jump" +msgstr "" + +#: modules/arch/x86/x86bc.c:864 +msgid "x86: REX.WXB set, but 2-byte VEX" +msgstr "" + +#: modules/arch/x86/x86bc.c:867 +msgid "x86: got a REX prefix in non-64-bit mode" +msgstr "" + +#: modules/arch/x86/x86bc.c:880 +msgid "invalid Mod/RM in x86 tobytes_insn" +msgstr "" + +#: modules/arch/x86/x86bc.c:886 +msgid "invalid SIB in x86 tobytes_insn" +msgstr "" + +#: modules/arch/x86/x86bc.c:1014 +msgid "jump op_sel cannot be JMP_NONE in tobytes" +msgstr "" + +#: modules/arch/x86/x86bc.c:1016 +msgid "unrecognized relative jump op_sel" +msgstr "" + +#: modules/arch/x86/x86expr.c:223 +msgid "Register expression not ADD or EXPN" +msgstr "" + +#: modules/arch/x86/x86expr.c:360 +msgid "Non-integer value in reg expn" +msgstr "" + +#: modules/arch/x86/x86expr.c:417 +msgid "unexpected expr op" +msgstr "" + +#: modules/arch/x86/x86expr.c:458 +msgid "invalid displacement size; fixed" +msgstr "" + +#: modules/arch/x86/x86expr.c:471 modules/arch/x86/x86expr.c:607 +msgid "invalid effective address (displacement size)" +msgstr "" + +#: modules/arch/x86/x86expr.c:480 +msgid "strange EA displacement size" +msgstr "" + +#: modules/arch/x86/x86expr.c:682 modules/arch/x86/x86expr.c:1026 +msgid "invalid effective address (64-bit in non-64-bit mode)" +msgstr "" + +#: modules/arch/x86/x86expr.c:688 +msgid "RIP-relative directive ignored in non-64-bit mode" +msgstr "" + +#: modules/arch/x86/x86expr.c:703 modules/arch/x86/x86expr.c:730 +#: modules/arch/x86/x86expr.c:753 modules/arch/x86/x86expr.c:789 +#: modules/arch/x86/x86expr.c:797 modules/arch/x86/x86expr.c:808 +#: modules/arch/x86/x86expr.c:819 modules/arch/x86/x86expr.c:977 +#: modules/arch/x86/x86expr.c:993 modules/arch/x86/x86expr.c:1009 +msgid "invalid effective address" +msgstr "" + +#: modules/arch/x86/x86expr.c:961 modules/arch/x86/x86expr.c:1038 +#: modules/arch/x86/x86id.c:1401 +msgid "16-bit addresses not supported in 64-bit mode" +msgstr "" + +#: modules/arch/x86/x86expr.c:1055 +msgid "invalid floating point constant size" +msgstr "" + +#: modules/arch/x86/x86id.c:436 modules/arch/x86/x86id.c:456 +msgid "jump target segment too complex" +msgstr "" + +#: modules/arch/x86/x86id.c:440 modules/arch/x86/x86id.c:460 +msgid "jump target offset too complex" +msgstr "" + +#: modules/arch/x86/x86id.c:449 modules/arch/x86/x86id.c:524 +msgid "jump target expression too complex" +msgstr "" + +#: modules/arch/x86/x86id.c:464 +msgid "didn't get FAR expression in jmpfar" +msgstr "" + +#: modules/arch/x86/x86id.c:518 modules/arch/x86/x86id.c:1270 +#: modules/arch/x86/x86id.c:1308 modules/arch/x86/x86id.c:1322 +#: modules/arch/x86/x86id.c:1333 modules/arch/x86/x86id.c:1343 +#: modules/arch/x86/x86id.c:1347 modules/arch/x86/x86id.c:1361 +#: modules/arch/x86/x86id.c:1371 modules/arch/x86/x86id.c:1388 +#: modules/arch/x86/x86id.c:1397 modules/arch/x86/x86id.c:1416 +#: modules/arch/x86/x86id.c:1421 modules/arch/x86/x86id.c:1446 +msgid "invalid operand conversion" +msgstr "" + +#: modules/arch/x86/x86id.c:526 +msgid "invalid jump target" +msgstr "" + +#: modules/arch/x86/x86id.c:601 +msgid "no SHORT form of that jump instruction exists" +msgstr "" + +#: modules/arch/x86/x86id.c:604 +msgid "no NEAR form of that jump instruction exists" +msgstr "" + +#: modules/arch/x86/x86id.c:900 +msgid "invalid operand type" +msgstr "" + +#: modules/arch/x86/x86id.c:985 +msgid "invalid target modifier type" +msgstr "" + +#: modules/arch/x86/x86id.c:1018 +msgid "invalid number of operands" +msgstr "" + +#: modules/arch/x86/x86id.c:1032 modules/arch/x86/x86id.c:1037 +#: modules/arch/x86/x86id.c:1042 +#, c-format +msgid "invalid size for operand %d" +msgstr "" + +#: modules/arch/x86/x86id.c:1046 +msgid "one of source operand 1 or 3 must match dest operand" +msgstr "" + +#: modules/arch/x86/x86id.c:1052 +#, c-format +msgid "requires CPU%s" +msgstr "" + +#: modules/arch/x86/x86id.c:1058 +msgid "invalid combination of opcode and operands" +msgstr "" + +#: modules/arch/x86/x86id.c:1088 +msgid "too many operands" +msgstr "" + +#: modules/arch/x86/x86id.c:1119 +msgid "indirect call without `*'" +msgstr "" + +#: modules/arch/x86/x86id.c:1127 +msgid "skipping prefixes on this instruction" +msgstr "" + +#: modules/arch/x86/x86id.c:1274 +msgid "invalid segment in effective address" +msgstr "" + +#: modules/arch/x86/x86id.c:1317 modules/arch/x86/x86id.c:1327 +msgid "immediate does not support segment" +msgstr "" + +#: modules/arch/x86/x86id.c:1410 +msgid "unsupported address size" +msgstr "" + +#: modules/arch/x86/x86id.c:1468 +msgid "unknown operand action" +msgstr "" + +#: modules/arch/x86/x86id.c:1502 +msgid "unknown operand postponed action" +msgstr "" + +#: modules/arch/x86/x86id.c:1518 +msgid "unhandled segment prefix" +msgstr "" + +#: modules/arch/x86/x86id.c:1524 +msgid "immediate expression too complex" +msgstr "" + +#: modules/arch/x86/x86id.c:1535 +msgid "address size override ignored" +msgstr "" + +#: modules/arch/x86/x86id.c:1609 +msgid "first opcode byte of XOP must be 0x08, 0x09, or 0x0A" +msgstr "" + +#: modules/arch/x86/x86id.c:1618 +msgid "first opcode byte of VEX must be 0x0F" +msgstr "" + +#: modules/arch/x86/x86id.c:1647 +msgid "unrecognized special prefix" +msgstr "" + +#: modules/arch/x86/x86id.c:1833 +#, c-format +msgid "`%s' is an instruction in 64-bit mode" +msgstr "" + +#: modules/arch/x86/x86id.c:1838 +#, c-format +msgid "`%s' invalid in 64-bit mode" +msgstr "" + +#: modules/arch/x86/x86id.c:1866 +#, c-format +msgid "`%s' is an instruction in CPU%s" +msgstr "" + +#: modules/arch/x86/x86id.c:1893 +msgid "Cannot override data size to 32 bits in 64-bit mode" +msgstr "" + +#: modules/arch/x86/x86id.c:1899 +msgid "Cannot override address size to 16 bits in 64-bit mode" +msgstr "" + +#: modules/arch/x86/x86id.c:1905 +#, c-format +msgid "`%s' is a prefix in 64-bit mode" +msgstr "" + +#: modules/dbgfmts/codeview/cv-symline.c:378 +msgid "codeview: could not open source file" +msgstr "" + +#: modules/dbgfmts/codeview/cv-symline.c:457 +#: modules/dbgfmts/dwarf2/dwarf2-line.c:550 +msgid "could not find filename in table" +msgstr "" + +#: modules/dbgfmts/codeview/cv-symline.c:577 +#, c-format +msgid "codeview file number %d unassigned" +msgstr "" + +#: modules/dbgfmts/codeview/cv-symline.c:718 +msgid "tried to calc_len a codeview symhead bytecode" +msgstr "" + +#: modules/dbgfmts/codeview/cv-symline.c:792 +msgid "tried to calc_len a codeview fileinfo bytecode" +msgstr "" + +#: modules/dbgfmts/codeview/cv-symline.c:860 +msgid "tried to calc_len a codeview linehead bytecode" +msgstr "" + +#: modules/dbgfmts/codeview/cv-symline.c:973 +#: modules/dbgfmts/codeview/cv-symline.c:1002 +msgid "unknown sym format character" +msgstr "" + +#: modules/dbgfmts/codeview/cv-symline.c:1020 +msgid "tried to calc_len a codeview sym bytecode" +msgstr "" + +#: modules/dbgfmts/codeview/cv-symline.c:1093 +#: modules/dbgfmts/codeview/cv-type.c:560 +#: modules/dbgfmts/codeview/cv-type.c:601 +#: modules/dbgfmts/codeview/cv-type.c:658 +msgid "unknown leaf format character" +msgstr "" + +#: modules/dbgfmts/dwarf2/dwarf2-dbgfmt.c:244 +msgid "tried to calc_len a dwarf2 head bytecode" +msgstr "" + +#: modules/dbgfmts/dwarf2/dwarf2-info.c:393 +msgid "tried to calc_len a dwarf2 aranges head bytecode" +msgstr "" + +#: modules/dbgfmts/dwarf2/dwarf2-line.c:415 +msgid "could not find label prior to loc" +msgstr "" + +#: modules/dbgfmts/dwarf2/dwarf2-line.c:423 +msgid "dwarf2 address went backwards?" +msgstr "" + +#: modules/dbgfmts/dwarf2/dwarf2-line.c:731 +#, c-format +msgid "dwarf2 file number %d unassigned" +msgstr "" + +#: modules/dbgfmts/dwarf2/dwarf2-line.c:773 +msgid "tried to calc_len a dwarf2 spp bytecode" +msgstr "" + +#: modules/dbgfmts/dwarf2/dwarf2-line.c:858 +msgid "tried to calc_len a dwarf2 line_op bytecode" +msgstr "" + +#: modules/dbgfmts/dwarf2/dwarf2-line.c:909 +msgid "file number required" +msgstr "" + +#: modules/dbgfmts/dwarf2/dwarf2-line.c:916 +#: modules/dbgfmts/dwarf2/dwarf2-line.c:1131 +msgid "file number is not a constant" +msgstr "" + +#: modules/dbgfmts/dwarf2/dwarf2-line.c:921 +msgid "file number less than one" +msgstr "" + +#: modules/dbgfmts/dwarf2/dwarf2-line.c:930 +msgid "line number required" +msgstr "" + +#: modules/dbgfmts/dwarf2/dwarf2-line.c:937 +msgid "line number is not a constant" +msgstr "" + +#: modules/dbgfmts/dwarf2/dwarf2-line.c:946 +#: modules/objfmts/coff/coff-objfmt.c:2056 +#, c-format +msgid "[%s] can only be used inside of a section" +msgstr "" + +#: modules/dbgfmts/dwarf2/dwarf2-line.c:975 +msgid "column number is not a constant" +msgstr "" + +#: modules/dbgfmts/dwarf2/dwarf2-line.c:997 +msgid "is_stmt value is not a constant" +msgstr "" + +#: modules/dbgfmts/dwarf2/dwarf2-line.c:1009 +msgid "is_stmt value not 0 or 1" +msgstr "" + +#: modules/dbgfmts/dwarf2/dwarf2-line.c:1020 +msgid "isa value is not a constant" +msgstr "" + +#: modules/dbgfmts/dwarf2/dwarf2-line.c:1028 +msgid "isa value less than zero" +msgstr "" + +#: modules/dbgfmts/dwarf2/dwarf2-line.c:1041 +msgid "discriminator value is not a constant" +msgstr "" + +#: modules/dbgfmts/dwarf2/dwarf2-line.c:1049 +msgid "discriminator value less than zero" +msgstr "" + +#: modules/dbgfmts/dwarf2/dwarf2-line.c:1071 +#: modules/dbgfmts/dwarf2/dwarf2-line.c:1086 +#, c-format +msgid "unrecognized loc option `%s'" +msgstr "" + +#: modules/dbgfmts/dwarf2/dwarf2-line.c:1074 +msgid "unrecognized numeric qualifier" +msgstr "" + +#: modules/dbgfmts/dwarf2/dwarf2-line.c:1091 +#, c-format +msgid "%s requires value" +msgstr "" + +#: modules/dbgfmts/dwarf2/dwarf2-line.c:1115 +#, c-format +msgid "[%s] requires an argument" +msgstr "" + +#: modules/dbgfmts/dwarf2/dwarf2-line.c:1139 +msgid "file number given but no filename" +msgstr "" + +#: modules/dbgfmts/stabs/stabs-dbgfmt.c:340 +msgid "stabs debugging conflicts with user-defined section .stab" +msgstr "" + +#: modules/dbgfmts/stabs/stabs-dbgfmt.c:345 +msgid "stabs debugging overrides empty section .stab" +msgstr "" + +#: modules/dbgfmts/stabs/stabs-dbgfmt.c:356 +msgid "stabs debugging conflicts with user-defined section .stabstr" +msgstr "" + +#: modules/dbgfmts/stabs/stabs-dbgfmt.c:361 +msgid "stabs debugging overrides empty section .stabstr" +msgstr "" + +#: modules/dbgfmts/stabs/stabs-dbgfmt.c:399 +msgid "over 65535 stabs" +msgstr "" + +#: modules/dbgfmts/stabs/stabs-dbgfmt.c:489 +msgid "tried to resolve a stabs stab bytecode" +msgstr "" + +#: modules/dbgfmts/stabs/stabs-dbgfmt.c:498 +msgid "tried to resolve a stabs str bytecode" +msgstr "" + +#: modules/listfmts/nasm/nasm-listfmt.c:127 +msgid "relocation too complex" +msgstr "" + +#: modules/objfmts/bin/bin-objfmt.c:216 +msgid "binary object format does not support extern variables" +msgstr "" + +#: modules/objfmts/bin/bin-objfmt.c:220 +msgid "binary object format does not support global variables" +msgstr "" + +#: modules/objfmts/bin/bin-objfmt.c:224 +msgid "binary object format does not support common variables" +msgstr "" + +#: modules/objfmts/bin/bin-objfmt.c:253 modules/objfmts/bin/bin-objfmt.c:430 +#, c-format +msgid "" +"section `%s' internal align of %lu is greater than `%s' of %lu; using `%s'" +msgstr "" + +#: modules/objfmts/bin/bin-objfmt.c:256 modules/objfmts/bin/bin-objfmt.c:258 +msgid "align" +msgstr "" + +#: modules/objfmts/bin/bin-objfmt.c:269 +msgid "start expression is too complex" +msgstr "" + +#: modules/objfmts/bin/bin-objfmt.c:282 +msgid "vstart expression is too complex" +msgstr "" + +#: modules/objfmts/bin/bin-objfmt.c:361 +msgid "start inconsistent with align; using aligned value" +msgstr "" + +#: modules/objfmts/bin/bin-objfmt.c:433 modules/objfmts/bin/bin-objfmt.c:435 +msgid "valign" +msgstr "" + +#: modules/objfmts/bin/bin-objfmt.c:448 +msgid "vstart inconsistent with valign" +msgstr "" + +#: modules/objfmts/bin/bin-objfmt.c:755 +#, c-format +msgid "unable to open map file `%s'" +msgstr "" + +#: modules/objfmts/bin/bin-objfmt.c:883 +#, c-format +msgid "sections `%s' and `%s' overlap by %lu bytes" +msgstr "" + +#: modules/objfmts/bin/bin-objfmt.c:970 +msgid "binary object format does not support external references" +msgstr "" + +#: modules/objfmts/bin/bin-objfmt.c:998 modules/objfmts/coff/coff-objfmt.c:738 +#: modules/objfmts/elf/elf-objfmt.c:623 +msgid "uninitialized space declared in code/data section: zeroing" +msgstr "" + +#: modules/objfmts/bin/bin-objfmt.c:1044 +msgid "initialized space declared in nobits section: ignoring" +msgstr "" + +#: modules/objfmts/bin/bin-objfmt.c:1067 +#, c-format +msgid "section `%s' starts before origin (ORG)" +msgstr "" + +#: modules/objfmts/bin/bin-objfmt.c:1074 +#, c-format +msgid "section `%s' start value too large" +msgstr "" + +#: modules/objfmts/bin/bin-objfmt.c:1081 +#: modules/objfmts/coff/coff-objfmt.c:1213 +#: modules/objfmts/coff/coff-objfmt.c:1258 +#: modules/objfmts/elf/elf-objfmt.c:762 modules/objfmts/elf/elf-objfmt.c:874 +#: modules/objfmts/macho/macho-objfmt.c:1094 +#: modules/objfmts/macho/macho-objfmt.c:1114 +#: modules/objfmts/macho/macho-objfmt.c:1225 +#: modules/objfmts/rdf/rdf-objfmt.c:683 modules/objfmts/rdf/rdf-objfmt.c:772 +#: modules/objfmts/xdf/xdf-objfmt.c:551 modules/objfmts/xdf/xdf-objfmt.c:578 +msgid "could not seek on output file" +msgstr "" + +#: modules/objfmts/bin/bin-objfmt.c:1122 +msgid "ORG expression is too complex" +msgstr "" + +#: modules/objfmts/bin/bin-objfmt.c:1127 +msgid "ORG expression is negative" +msgstr "" + +#: modules/objfmts/bin/bin-objfmt.c:1171 +#, c-format +msgid "section `%s' follows an invalid or unknown section `%s'" +msgstr "" + +#: modules/objfmts/bin/bin-objfmt.c:1184 +#, c-format +msgid "follows loop between section `%s' and section `%s'" +msgstr "" + +#: modules/objfmts/bin/bin-objfmt.c:1295 +#, c-format +msgid "section `%s' vfollows an invalid or unknown section `%s'" +msgstr "" + +#: modules/objfmts/bin/bin-objfmt.c:1309 +#, c-format +msgid "vfollows loop between section `%s' and section `%s'" +msgstr "" + +#: modules/objfmts/bin/bin-objfmt.c:1528 +msgid "cannot combine `start' and `follows' section attributes" +msgstr "" + +#: modules/objfmts/bin/bin-objfmt.c:1534 +msgid "cannot combine `vstart' and `vfollows' section attributes" +msgstr "" + +#: modules/objfmts/bin/bin-objfmt.c:1544 modules/objfmts/bin/bin-objfmt.c:1557 +#: modules/objfmts/coff/coff-objfmt.c:1570 +#: modules/objfmts/elf/elf-objfmt.c:1098 +#: modules/objfmts/macho/macho-objfmt.c:1458 +#: modules/objfmts/xdf/xdf-objfmt.c:721 +#, c-format +msgid "argument to `%s' is not a power of two" +msgstr "" + +#: modules/objfmts/bin/bin-objfmt.c:1603 +msgid "program origin redefined" +msgstr "" + +#: modules/objfmts/bin/bin-objfmt.c:1612 +msgid "argument to ORG must be expression" +msgstr "" + +#: modules/objfmts/bin/bin-objfmt.c:1629 +msgid "map file already specified" +msgstr "" + +#: modules/objfmts/bin/bin-objfmt.c:1636 +msgid "unexpected expression in [map]" +msgstr "" + +#: modules/objfmts/bin/bin-objfmt.c:1928 +#, c-format +msgid "%s: could not find symbol `start'" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:486 +#: modules/objfmts/coff/coff-objfmt.c:692 +msgid "coff: relocation too complex" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:512 +msgid "coff: wrt expression too complex" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:518 +msgid "coff: cannot wrt across sections" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:535 +msgid "coff: common size too complex" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:541 +msgid "coff: common size is negative" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:600 +#: modules/objfmts/coff/coff-objfmt.c:606 +#: modules/objfmts/coff/coff-objfmt.c:632 +#: modules/objfmts/coff/coff-objfmt.c:667 +msgid "coff: invalid relocation size" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:636 +#: modules/objfmts/coff/coff-objfmt.c:643 +#: modules/objfmts/coff/coff-objfmt.c:650 +#: modules/objfmts/coff/coff-objfmt.c:671 +msgid "coff objfmt: unrecognized machine" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:793 +#: modules/objfmts/coff/coff-objfmt.c:824 +#: modules/objfmts/coff/coff-objfmt.c:1244 +#: modules/objfmts/elf/elf-objfmt.c:440 modules/objfmts/rdf/rdf-objfmt.c:748 +#: modules/objfmts/rdf/rdf-objfmt.c:765 modules/objfmts/xdf/xdf-objfmt.c:301 +#: modules/objfmts/xdf/xdf-objfmt.c:329 +msgid "could not get file position on output file" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:807 +msgid "coff: section computed size did not match actual size" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:849 +msgid "coff: no symbol data for relocated symbol" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:935 +#, c-format +msgid "too many relocations in section `%s'" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:1028 +#: modules/objfmts/coff/coff-objfmt.c:1151 +msgid "coff: expected sym data to be present" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:1049 +#: modules/objfmts/macho/macho-objfmt.c:875 +#: modules/objfmts/rdf/rdf-objfmt.c:256 modules/objfmts/rdf/rdf-objfmt.c:549 +#: modules/objfmts/xdf/xdf-objfmt.c:479 +msgid "didn't understand section" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:1059 +#: modules/objfmts/macho/macho-objfmt.c:893 +#: modules/objfmts/xdf/xdf-objfmt.c:489 +msgid "global EQU value not an integer expression" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:1075 +#: modules/objfmts/macho/macho-objfmt.c:915 +#: modules/objfmts/rdf/rdf-objfmt.c:597 +msgid "COMMON data size not an integer expression" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:1124 +msgid "coff: unrecognized aux symtab type" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:1186 +#: modules/objfmts/coff/coff-objfmt.c:2274 +msgid "procedure started here" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:1188 +msgid "end of file in procedure frame" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:1341 +#: modules/objfmts/elf/elf-objfmt.c:957 +msgid "non-string section attribute" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:1382 +#: modules/objfmts/elf/elf-objfmt.c:992 +#, c-format +msgid "unrecognized section attribute: `%c'" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:1523 +msgid "Standard COFF does not support read-only data sections" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:1578 +msgid "Win32 does not support alignments > 8192" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:1590 +msgid "COFF section names limited to 8 characters: truncating" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:1607 +#: modules/objfmts/elf/elf-objfmt.c:1133 +#: modules/objfmts/macho/macho-objfmt.c:1497 +#: modules/objfmts/rdf/rdf-objfmt.c:958 modules/objfmts/xdf/xdf-objfmt.c:763 +msgid "section flags ignored on section redeclaration" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:1698 +msgid "argument to EXPORT must be symbol name" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:1749 +#: modules/objfmts/coff/coff-objfmt.c:1928 +msgid "argument to SAFESEH must be symbol name" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:1804 +msgid "coff: no symbol data for SAFESEH symbol" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:1863 +#: modules/objfmts/elf/elf-objfmt.c:1268 +msgid ".comment requires string parameters" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:1884 +msgid ".secrel32 can only be used inside of a section" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:1895 +msgid ".secrel32 requires expressions" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:1920 +msgid ".def pseudo-op used inside of .def/.endef; ignored" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:1950 +#: modules/objfmts/coff/coff-objfmt.c:1973 +#, c-format +msgid "%s pseudo-op used outside of .def/.endef; ignored" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:1994 +msgid ".endef pseudo-op used before .def; ignored" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:2010 +msgid "previous procedure started here" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:2012 +msgid "nested procedures not supported (didn't use [ENDPROC_FRAME]?)" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:2033 +#: modules/objfmts/coff/coff-objfmt.c:2268 +#, c-format +msgid "[%s] without preceding [PROC_FRAME]" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:2038 +#: modules/objfmts/coff/win64-except.c:261 +msgid "prologue ended here" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:2039 +#, c-format +msgid "[%s] after end of prologue" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:2044 +#: modules/objfmts/coff/coff-objfmt.c:2284 +msgid "unwind info not present" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:2079 +#: modules/objfmts/coff/coff-objfmt.c:2110 +#: modules/objfmts/coff/coff-objfmt.c:2180 +#, c-format +msgid "[%s] requires a register as the first parameter" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:2147 +#, c-format +msgid "[%s] requires a size" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:2189 +#, c-format +msgid "[%s] requires an offset as the second parameter" +msgstr "" + +#: modules/objfmts/coff/coff-objfmt.c:2276 +msgid "ended procedure without ending prologue" +msgstr "" + +#: modules/objfmts/coff/win64-except.c:211 +msgid "prolog size expression too complex" +msgstr "" + +#: modules/objfmts/coff/win64-except.c:214 +msgid "codes count expression too complex" +msgstr "" + +#: modules/objfmts/coff/win64-except.c:218 +#: modules/objfmts/coff/win64-except.c:311 +msgid "frame offset expression too complex" +msgstr "" + +#: modules/objfmts/coff/win64-except.c:240 +#: modules/objfmts/coff/win64-except.c:271 +#: modules/objfmts/coff/win64-except.c:317 +#, c-format +msgid "frame offset of %ld bytes, must be between 0 and 240" +msgstr "" + +#: modules/objfmts/coff/win64-except.c:244 +#: modules/objfmts/coff/win64-except.c:320 +#, c-format +msgid "frame offset of %ld is not a multiple of 16" +msgstr "" + +#: modules/objfmts/coff/win64-except.c:263 +#, c-format +msgid "prologue %ld bytes, must be <256" +msgstr "" + +#: modules/objfmts/coff/win64-except.c:267 +#, c-format +msgid "%ld unwind codes, maximum of 255" +msgstr "" + +#: modules/objfmts/coff/win64-except.c:348 +#: modules/objfmts/coff/win64-except.c:526 +msgid "offset expression too complex" +msgstr "" + +#: modules/objfmts/coff/win64-except.c:397 +#: modules/objfmts/coff/win64-except.c:518 +msgid "unrecognied unwind opcode" +msgstr "" + +#: modules/objfmts/coff/win64-except.c:412 +#: modules/objfmts/coff/win64-except.c:429 +msgid "negative offset not allowed" +msgstr "" + +#: modules/objfmts/coff/win64-except.c:415 +#: modules/objfmts/coff/win64-except.c:538 +#, c-format +msgid "offset of %ld is not a multiple of %ld" +msgstr "" + +#: modules/objfmts/coff/win64-except.c:436 +msgid "expansion on already largest alloc" +msgstr "" + +#: modules/objfmts/coff/win64-except.c:532 +#, c-format +msgid "offset of %ld bytes, must be between %ld and %ld" +msgstr "" + +#: modules/objfmts/dbg/dbg-objfmt.c:50 +#, c-format +msgid "could not open temporary file" +msgstr "" + +#: modules/objfmts/elf/elf-objfmt.c:125 modules/objfmts/elf/elf-objfmt.c:150 +#: modules/objfmts/elf/elf-objfmt.c:1182 +#, c-format +msgid "unrecognized symbol type `%s'" +msgstr "" + +#: modules/objfmts/elf/elf-objfmt.c:203 +msgid "More than one symbol visibility provided; using last" +msgstr "" + +#: modules/objfmts/elf/elf-objfmt.c:230 +msgid "alignment constraint is not an integer" +msgstr "" + +#: modules/objfmts/elf/elf-objfmt.c:241 modules/objfmts/rdf/rdf-objfmt.c:629 +msgid "alignment constraint is not a power of two" +msgstr "" + +#: modules/objfmts/elf/elf-objfmt.c:448 +msgid "could not set file position on output file" +msgstr "" + +#: modules/objfmts/elf/elf-objfmt.c:468 +msgid "elf: invalid relocation size" +msgstr "" + +#: modules/objfmts/elf/elf-objfmt.c:517 modules/objfmts/elf/elf-objfmt.c:577 +msgid "elf: relocation too complex" +msgstr "" + +#: modules/objfmts/elf/elf-objfmt.c:564 +msgid "elf: invalid relocation (WRT or size)" +msgstr "" + +#: modules/objfmts/elf/elf-objfmt.c:678 modules/objfmts/elf/elf.c:777 +msgid "couldn't read position on output stream" +msgstr "" + +#: modules/objfmts/elf/elf-objfmt.c:683 modules/objfmts/elf/elf.c:782 +msgid "couldn't seek on output stream" +msgstr "" + +#: modules/objfmts/elf/elf-objfmt.c:836 +msgid "missing .stab or .stabstr section/data" +msgstr "" + +#: modules/objfmts/elf/elf-objfmt.c:1111 +msgid "invalid merge entity size" +msgstr "" + +#: modules/objfmts/elf/elf-objfmt.c:1114 +msgid "entity size for SHF_MERGE not specified" +msgstr "" + +#: modules/objfmts/elf/elf-objfmt.c:1184 +msgid "no type specified" +msgstr "" + +#: modules/objfmts/elf/elf-objfmt.c:1211 +msgid "no size specified" +msgstr "" + +#: modules/objfmts/elf/elf-x86-amd64.c:84 modules/objfmts/elf/elf-x86-x86.c:92 +msgid "symbol references section without data" +msgstr "" + +#: modules/objfmts/elf/elf-x86-amd64.c:155 +#: modules/objfmts/elf/elf-x86-x86.c:158 +msgid "Unsupported WRT" +msgstr "" + +#: modules/objfmts/elf/elf-x86-amd64.c:179 +#: modules/objfmts/elf/elf-x86-amd64.c:187 +#: modules/objfmts/elf/elf-x86-x86.c:176 modules/objfmts/elf/elf-x86-x86.c:183 +msgid "Unsupported relocation size" +msgstr "" + +#: modules/objfmts/elf/elf.c:164 modules/objfmts/elf/elf.c:533 +#: modules/objfmts/elf/elf.c:682 modules/objfmts/elf/elf.c:710 +#: modules/objfmts/elf/elf.c:729 modules/objfmts/elf/elf.c:749 +msgid "Unsupported machine for ELF output" +msgstr "" + +#: modules/objfmts/elf/elf.c:406 modules/objfmts/elf/elf.c:435 +#: modules/objfmts/elf/elf.c:455 +msgid "symtab is missing initial dummy entry" +msgstr "" + +#: modules/objfmts/elf/elf.c:476 +msgid "symtab is null" +msgstr "" + +#: modules/objfmts/elf/elf.c:489 +msgid "size specifier not an integer expression" +msgstr "" + +#: modules/objfmts/elf/elf.c:508 +msgid "EQU value not an integer expression" +msgstr "" + +#: modules/objfmts/elf/elf.c:620 +msgid "unsupported ELF format" +msgstr "" + +#: modules/objfmts/elf/elf.c:632 +msgid "shead is null" +msgstr "" + +#: modules/objfmts/elf/elf.c:686 modules/objfmts/elf/elf.c:753 +msgid "Failed to write an elf section header" +msgstr "" + +#: modules/objfmts/elf/elf.c:799 modules/objfmts/elf/elf.c:804 +msgid "Unsupported arch/machine for elf output" +msgstr "" + +#: modules/objfmts/elf/elf.c:920 +#, c-format +msgid "alignment %d for section `%s' is not a power of 2" +msgstr "" + +#: modules/objfmts/elf/elf.c:931 modules/objfmts/elf/elf.c:949 +msgid "Unsupported ELF format for output" +msgstr "" + +#: modules/objfmts/elf/elf.c:953 +msgid "ELF program header is not proper length" +msgstr "" + +#: modules/objfmts/elf/elf.c:958 +msgid "Failed to write ELF program header" +msgstr "" + +#: modules/objfmts/macho/macho-objfmt.c:440 +msgid "macho: relocation too complex for current implementation" +msgstr "" + +#: modules/objfmts/macho/macho-objfmt.c:465 +msgid "macho: relocation size unsupported" +msgstr "" + +#: modules/objfmts/macho/macho-objfmt.c:476 +msgid "macho: shifted relocations not supported" +msgstr "" + +#: modules/objfmts/macho/macho-objfmt.c:483 +msgid "macho: SEG not supported" +msgstr "" + +#: modules/objfmts/macho/macho-objfmt.c:494 +msgid "macho: invalid WRT" +msgstr "" + +#: modules/objfmts/macho/macho-objfmt.c:521 +msgid "" +"macho: sorry, cannot apply 32 bit absolute relocations in 64 bit mode, " +"consider \"[_symbol wrt rip]\" for mem access, \"qword\" and \"dq _foo\" for " +"pointers." +msgstr "" + +#: modules/objfmts/macho/macho-objfmt.c:564 +msgid "macho: relocation too complex" +msgstr "" + +#: modules/objfmts/macho/macho-objfmt.c:603 +#: modules/objfmts/rdf/rdf-objfmt.c:318 modules/objfmts/xdf/xdf-objfmt.c:259 +msgid "uninitialized space: zeroing" +msgstr "" + +#: modules/objfmts/macho/macho-objfmt.c:1049 +msgid "no sections defined" +msgstr "" + +#: modules/objfmts/macho/macho-objfmt.c:1419 +msgid "segment name is too long, max 16 chars; truncating" +msgstr "" + +#: modules/objfmts/macho/macho-objfmt.c:1423 +#: modules/objfmts/macho/macho-objfmt.c:1434 +msgid "section name is too long, max 16 chars; truncating" +msgstr "" + +#: modules/objfmts/macho/macho-objfmt.c:1466 +msgid "macho implementation does not support alignments > 16384" +msgstr "" + +#: modules/objfmts/macho/macho-objfmt.c:1473 +msgid "Unknown section name, defaulting to __TEXT segment" +msgstr "" + +#: modules/objfmts/rdf/rdf-objfmt.c:213 modules/objfmts/rdf/rdf-objfmt.c:282 +msgid "rdf: relocation too complex" +msgstr "" + +#: modules/objfmts/rdf/rdf-objfmt.c:219 +msgid "rdf: WRT not supported" +msgstr "" + +#: modules/objfmts/rdf/rdf-objfmt.c:265 +msgid "rdf: no symbol data for relocated symbol" +msgstr "" + +#: modules/objfmts/rdf/rdf-objfmt.c:373 +msgid "rdf: section computed size did not match actual size" +msgstr "" + +#: modules/objfmts/rdf/rdf-objfmt.c:553 +msgid "rdf does not support exporting EQU/absolute values" +msgstr "" + +#: modules/objfmts/rdf/rdf-objfmt.c:563 +#, c-format +msgid "label name too long, truncating to %d bytes" +msgstr "" + +#: modules/objfmts/rdf/rdf-objfmt.c:938 +msgid "new segment declared without type code" +msgstr "" + +#: modules/objfmts/rdf/rdf-objfmt.c:1021 +#, c-format +msgid "name too long, truncating to %d bytes" +msgstr "" + +#: modules/objfmts/xdf/xdf-objfmt.c:178 modules/objfmts/xdf/xdf-objfmt.c:220 +msgid "xdf: relocation too complex" +msgstr "" + +#: modules/objfmts/xdf/xdf-objfmt.c:314 +msgid "xdf: section computed size did not match actual size" +msgstr "" + +#: modules/objfmts/xdf/xdf-objfmt.c:343 +msgid "xdf: no symbol data for relocated symbol" +msgstr "" + +#: modules/objfmts/xdf/xdf-objfmt.c:352 +msgid "xdf: no symbol data for relocated base symbol" +msgstr "" + +#: modules/objfmts/xdf/xdf-objfmt.c:357 +msgid "xdf: no base symbol for WRT relocation" +msgstr "" + +#: modules/objfmts/xdf/xdf-objfmt.c:425 +msgid "XDF object format does not support common variables" +msgstr "" + +#: modules/objfmts/xdf/xdf-objfmt.c:733 +msgid "XDF does not support alignments > 4096" +msgstr "" + +#: modules/parsers/gas/gas-parse.c:90 +msgid "can only have one token of lookahead" +msgstr "" + +#: modules/parsers/gas/gas-parse.c:131 modules/parsers/nasm/nasm-parse.c:144 +#, c-format +msgid "junk at end of line, first unrecognized character is `%c'" +msgstr "" + +#: modules/parsers/gas/gas-parse.c:218 modules/parsers/gas/gas-parse.c:649 +#: modules/parsers/gas/gas-parse.c:671 modules/parsers/gas/gas-parse.c:694 +#: modules/parsers/gas/gas-parse.c:807 +#, c-format +msgid "expression expected after `%s'" +msgstr "" + +#: modules/parsers/gas/gas-parse.c:234 +#, c-format +msgid "directive `%s' not recognized" +msgstr "" + +#: modules/parsers/gas/gas-parse.c:237 +#, c-format +msgid "instruction not recognized: `%s'" +msgstr "" + +#: modules/parsers/gas/gas-parse.c:254 modules/parsers/nasm/nasm-parse.c:465 +msgid "label or instruction expected at start of line" +msgstr "" + +#: modules/parsers/gas/gas-parse.c:292 modules/parsers/gas/gas-parse.c:384 +#: modules/parsers/gas/gas-parse.c:464 +msgid "line number is negative" +msgstr "" + +#: modules/parsers/gas/gas-parse.c:354 +msgid "junk at end of cpp line marker" +msgstr "" + +#: modules/parsers/gas/gas-parse.c:411 +msgid "line increment is negative" +msgstr "" + +#: modules/parsers/gas/gas-parse.c:498 +msgid ".align directive must specify alignment" +msgstr "" + +#: modules/parsers/gas/gas-parse.c:574 +#, c-format +msgid "size expected for `%s'" +msgstr "" + +#: modules/parsers/gas/gas-parse.c:747 +msgid "flag string expected" +msgstr "" + +#: modules/parsers/gas/gas-parse.c:958 +msgid "expression syntax error" +msgstr "" + +#: modules/parsers/gas/gas-parse.c:1161 modules/parsers/gas/gas-parse.c:1195 +msgid "invalid memory expression" +msgstr "" + +#: modules/parsers/gas/gas-parse.c:1185 +msgid "non-integer scale" +msgstr "" + +#: modules/parsers/gas/gas-parse.c:1207 +#, c-format +msgid "scale factor of %u without an index register" +msgstr "" + +#: modules/parsers/gas/gas-parse.c:1268 modules/parsers/nasm/nasm-parse.c:939 +msgid "integer register index expected" +msgstr "" + +#: modules/parsers/gas/gas-parse.c:1275 modules/parsers/nasm/nasm-parse.c:946 +msgid "missing closing parenthesis for register index" +msgstr "" + +#: modules/parsers/gas/gas-parse.c:1281 modules/parsers/nasm/nasm-parse.c:952 +#, c-format +msgid "bad register index `%u'" +msgstr "" + +#: modules/parsers/gas/gas-parse.c:1294 modules/parsers/gas/gas-parse.c:1308 +#, c-format +msgid "expression missing after `%s'" +msgstr "" + +#: modules/parsers/gas/gas-parse.c:1443 modules/parsers/nasm/nasm-parse.c:1408 +msgid "missing parenthesis" +msgstr "" + +#: modules/parsers/gas/gas-parse.c:1475 +msgid "expected identifier after `@'" +msgstr "" + +#: modules/parsers/gas/gas-parse.c:1483 +msgid "unrecognized identifier after `@'" +msgstr "" + +#: modules/parsers/gas/gas-parse.c:1583 +#, c-format +msgid "invalid section name `%s'" +msgstr "" + +#: modules/parsers/gas/gas-parse.c:1635 +msgid "size must be an absolute expression" +msgstr "" + +#: modules/parsers/gas/gas-parser.c:87 modules/preprocs/gas/gas-preproc.c:1328 +msgid "end of file in comment" +msgstr "" + +#: modules/parsers/gas/gas-token.re:350 +#, c-format +msgid "Unrecognized register name `%s'" +msgstr "" + +#: modules/parsers/gas/gas-token.re:409 modules/parsers/nasm/nasm-token.re:504 +#: modules/parsers/nasm/nasm-token.re:729 +#, c-format +msgid "ignoring unrecognized character `%s'" +msgstr "" + +#: modules/parsers/gas/gas-token.re:529 modules/parsers/gas/gas-token.re:550 +msgid "unexpected end of file in string" +msgstr "" + +#: modules/parsers/nasm/nasm-parse.c:94 +msgid "only can have one token of lookahead" +msgstr "" + +#: modules/parsers/nasm/nasm-parse.c:259 +msgid "only RES* allowed within absolute section" +msgstr "" + +#: modules/parsers/nasm/nasm-parse.c:344 +msgid "[warning] directive not supported; ignored" +msgstr "" + +#: modules/parsers/nasm/nasm-parse.c:361 modules/parsers/nasm/nasm-parse.c:370 +#, c-format +msgid "invalid arguments to [%s]" +msgstr "" + +#: modules/parsers/nasm/nasm-parse.c:403 +msgid "label alone on a line without a colon might be in error" +msgstr "" + +#: modules/parsers/nasm/nasm-parse.c:425 modules/parsers/nasm/nasm-parse.c:546 +#: modules/parsers/nasm/nasm-parse.c:680 +#, c-format +msgid "expression expected after %s" +msgstr "" + +#: modules/parsers/nasm/nasm-parse.c:457 +msgid "instruction expected after label" +msgstr "" + +#: modules/parsers/nasm/nasm-parse.c:553 +msgid "instruction expected after TIMES expression" +msgstr "" + +#: modules/parsers/nasm/nasm-parse.c:600 modules/parsers/nasm/nasm-parse.c:632 +msgid "can not handle more than one '?'" +msgstr "" + +#: modules/parsers/nasm/nasm-parse.c:610 modules/parsers/nasm/nasm-parse.c:649 +msgid "expression or string expected" +msgstr "" + +#: modules/parsers/nasm/nasm-parse.c:618 +msgid "expected ( after DUP" +msgstr "" + +#: modules/parsers/nasm/nasm-parse.c:626 modules/parsers/nasm/nasm-parse.c:641 +msgid "expected ) after DUPlicated expression" +msgstr "" + +#: modules/parsers/nasm/nasm-parse.c:694 +msgid "filename string expected after INCBIN" +msgstr "" + +#: modules/parsers/nasm/nasm-parse.c:708 +msgid "expression expected for INCBIN start" +msgstr "" + +#: modules/parsers/nasm/nasm-parse.c:720 +msgid "expression expected for INCBIN maximum length" +msgstr "" + +#: modules/parsers/nasm/nasm-parse.c:755 +#, c-format +msgid "unexpected %s after instruction" +msgstr "" + +#: modules/parsers/nasm/nasm-parse.c:759 +#, c-format +msgid "expected operand, got %s" +msgstr "" + +#: modules/parsers/nasm/nasm-parse.c:816 modules/parsers/nasm/nasm-parse.c:871 +msgid "memory address expected" +msgstr "" + +#: modules/parsers/nasm/nasm-parse.c:831 +msgid "relative adressing not supported\n" +msgstr "" + +#: modules/parsers/nasm/nasm-parse.c:840 +msgid "register adressing not supported\n" +msgstr "" + +#: modules/parsers/nasm/nasm-parse.c:848 +msgid "expected expression after ]" +msgstr "" + +#: modules/parsers/nasm/nasm-parse.c:878 +msgid "OFFSET applied to non-memory operand" +msgstr "" + +#: modules/parsers/nasm/nasm-parse.c:883 +msgid "OFFSET applied to non-absolute memory operand" +msgstr "" + +#: modules/parsers/nasm/nasm-parse.c:916 +msgid "segment applied to non-memory operand" +msgstr "" + +#: modules/parsers/nasm/nasm-parse.c:977 +msgid "cannot override register size" +msgstr "" + +#: modules/parsers/nasm/nasm-parse.c:989 +#, c-format +msgid "overriding operand size from %u-bit to %u-bit" +msgstr "" + +#: modules/parsers/nasm/nasm-parse.c:993 +msgid "double operand size override" +msgstr "" + +#: modules/parsers/nasm/nasm-parse.c:1024 +msgid "expected expression after [" +msgstr "" + +#: modules/parsers/nasm/nasm-parse.c:1029 +msgid "missing closing bracket" +msgstr "" + +#: modules/parsers/nasm/nasm-parse.c:1100 +msgid "`:' required after segment register" +msgstr "" + +#: modules/parsers/nasm/nasm-parse.c:1197 +#: modules/parsers/nasm/nasm-parse.c:1259 +#: modules/parsers/nasm/nasm-parse.c:1287 +#: modules/parsers/nasm/nasm-parse.c:1316 +#: modules/parsers/nasm/nasm-parse.c:1345 +#: modules/parsers/nasm/nasm-parse.c:1353 +#: modules/parsers/nasm/nasm-parse.c:1362 +#: modules/parsers/nasm/nasm-parse.c:1371 +#: modules/parsers/nasm/nasm-parse.c:1381 +#: modules/parsers/nasm/nasm-parse.c:1395 +#: modules/parsers/nasm/nasm-parse.c:1404 +#, c-format +msgid "expected expression after %s" +msgstr "" + +#: modules/parsers/nasm/nasm-parse.c:1420 +msgid "data values can't have registers" +msgstr "" + +#: modules/parsers/nasm/nasm-parse.c:1628 +#, c-format +msgid "unrecognized default `%s'" +msgstr "" + +#: modules/parsers/nasm/nasm-parse.c:1631 +msgid "unrecognized default value" +msgstr "" + +#: modules/parsers/nasm/nasm-parse.c:1636 +#, c-format +msgid "unrecognized directive `%s'" +msgstr "" + +#: modules/parsers/nasm/nasm-token.re:102 +#, c-format +msgid "no non-local label before `%s'" +msgstr "" + +#: modules/parsers/nasm/nasm-token.re:784 +msgid "unterminated string" +msgstr "" + +#: modules/preprocs/cpp/cpp-preproc.c:87 +msgid "command line too long!" +msgstr "" + +#: modules/preprocs/cpp/cpp-preproc.c:143 +#: modules/preprocs/cpp/cpp-preproc.c:175 +msgid "Failed to execute preprocessor" +msgstr "" + +#: modules/preprocs/cpp/cpp-preproc.c:145 +#: modules/preprocs/cpp/cpp-preproc.c:177 +msgid "Cannot execute preprocessor, no popen available" +msgstr "" + +#: modules/preprocs/cpp/cpp-preproc.c:224 +msgid "Preprocessor exited with failure" +msgstr "" + +#: modules/preprocs/cpp/cpp-preproc.c:259 +#: modules/preprocs/gas/gas-preproc.c:208 +#: modules/preprocs/raw/raw-preproc.c:87 +msgid "error when reading from file" +msgstr "" + +#: modules/preprocs/gas/gas-preproc.c:286 +msgid "expected comma" +msgstr "" + +#: modules/preprocs/gas/gas-preproc.c:510 +msgid "\".endif\" without \".if\"" +msgstr "" + +#: modules/preprocs/gas/gas-preproc.c:520 +#, c-format +msgid "\".%s\" without \".if\"" +msgstr "" + +#: modules/preprocs/gas/gas-preproc.c:535 +msgid "expression is required in \".if\" statement" +msgstr "" + +#: modules/preprocs/gas/gas-preproc.c:557 +msgid "expression is required in \".elseif\" statement" +msgstr "" + +#: modules/preprocs/gas/gas-preproc.c:592 +#, c-format +msgid "\"%s\" expects two single-quoted or unquoted arguments" +msgstr "" + +#: modules/preprocs/gas/gas-preproc.c:609 +#, c-format +msgid "\"%s\" expects two double-quoted arguments" +msgstr "" + +#: modules/preprocs/gas/gas-preproc.c:646 +msgid "string expected" +msgstr "" + +#: modules/preprocs/gas/gas-preproc.c:658 +#, c-format +msgid "unable to open included file \"%s\"" +msgstr "" + +#: modules/preprocs/gas/gas-preproc.c:708 +#, c-format +msgid "symbol \"%s\" is already defined" +msgstr "" + +#: modules/preprocs/gas/gas-preproc.c:841 +msgid "unexpected EOF in \".macro\" block" +msgstr "" + +#: modules/preprocs/gas/gas-preproc.c:848 +msgid "\".endm\" without \".macro\"" +msgstr "" + +#: modules/preprocs/gas/gas-preproc.c:1023 +msgid "rept without matching endr" +msgstr "" + +#: modules/preprocs/gas/gas-preproc.c:1030 +msgid "\".endr\" without \".rept\"" +msgstr "" + +#: modules/preprocs/gas/gas-preproc.c:1206 +#, c-format +msgid "\".%s\" expects two arguments" +msgstr "" + +#: modules/preprocs/gas/gas-preproc.c:1238 +#: modules/preprocs/nasm/nasm-preproc.c:145 +#: modules/preprocs/raw/raw-preproc.c:54 +msgid "Could not open input file" +msgstr "" diff --git a/tests/nasm/binfmt.asm b/tests/nasm/binfmt.asm deleted file mode 100644 index 2158027c..00000000 --- a/tests/nasm/binfmt.asm +++ /dev/null @@ -1,26 +0,0 @@ -[bits 32] -[org 0x100] -je label -dd label -dw label -dd 3.14159 -shl ax, 1 -label: -mov byte [label2+ebx], 1 -resb 1 -[section .data align=16] -db 5 -dd label2 -[section .text] -mov dword [label2], 5 -call label -je near label2 -[section .bss] -label2: -resd 1 -dd 1 -mov cx, 5 -[global label2] -[extern label3] -[section .data] -times 65536 db 0 diff --git a/tests/nasm/binfmt2.asm b/tests/nasm/binfmt2.asm deleted file mode 100644 index b7623965..00000000 --- a/tests/nasm/binfmt2.asm +++ /dev/null @@ -1,18 +0,0 @@ -[extern blah] -data -db 4 - -mov ax, seg data - -mov ax, data wrt 0 - -mov ax, blah - -mov bx, [seg data] - -mov bx, [data wrt 0] - -resb 1 - -[section .bss] -db 5 diff --git a/tests/nasm/bits.asm b/tests/nasm/bits.asm deleted file mode 100644 index 8da27c9d..00000000 --- a/tests/nasm/bits.asm +++ /dev/null @@ -1,14 +0,0 @@ - bits 16 -[ bits 16 ] -[bits -[bits 16 - [eax] - [bits 16] - [bits 32] -[bits 64] -a equ 5 -[bits a] -b equ 16 -[bits b] -[bits 30+2] -[section .text] diff --git a/tests/nasm/circular1.asm b/tests/nasm/circular1.asm deleted file mode 100644 index dc96746c..00000000 --- a/tests/nasm/circular1.asm +++ /dev/null @@ -1,2 +0,0 @@ - times (label-$) db 0
-label: db 'Where am I?'
diff --git a/tests/nasm/circular2.asm b/tests/nasm/circular2.asm deleted file mode 100644 index ea558aed..00000000 --- a/tests/nasm/circular2.asm +++ /dev/null @@ -1,2 +0,0 @@ - times (label-$+1) db 0
-label: db 'NOW where am I?'
diff --git a/tests/nasm/circular3.asm b/tests/nasm/circular3.asm deleted file mode 100644 index 9edc4725..00000000 --- a/tests/nasm/circular3.asm +++ /dev/null @@ -1,3 +0,0 @@ - mov ax, symbol1
-symbol1 equ symbol2
-symbol2:
diff --git a/tests/nasm/circular4.asm b/tests/nasm/circular4.asm deleted file mode 100644 index 87a7b218..00000000 --- a/tests/nasm/circular4.asm +++ /dev/null @@ -1,2 +0,0 @@ - mov eax, [ebx+offset]
-offset equ 10
diff --git a/tests/nasm/data.asm b/tests/nasm/data.asm deleted file mode 100644 index 9e2f1d73..00000000 --- a/tests/nasm/data.asm +++ /dev/null @@ -1,18 +0,0 @@ -db 1,2, -;db 1,#ss,3 -;db 1.5 -;dw 1.5 -dd 1.5 -dq 1.5 -dt 1.5 -dd "hello" -dq "hello" -dt "hello" -dd 0x1 -dq 0x1 -dt 0x1 -dd hello -dq hello -dt hello - -hello: diff --git a/tests/nasm/dir.asm b/tests/nasm/dir.asm deleted file mode 100644 index d651486e..00000000 --- a/tests/nasm/dir.asm +++ /dev/null @@ -1,14 +0,0 @@ -[bits] -[bits 16] -[bits 32] -[bits 16:16] -[bits 16 16] -[section .data align=16] -[section .data blah=5] -[absolute 20] -[absolute 0x50 20:5] -[blah ask] -[section blah align=4] -[section blah align=16] -[common tst 4] -[common tre] diff --git a/tests/nasm/enter.asm b/tests/nasm/enter.asm deleted file mode 100644 index 0aaf258d..00000000 --- a/tests/nasm/enter.asm +++ /dev/null @@ -1,4 +0,0 @@ -tst equ 69000 - -enter tst, 5 - diff --git a/tests/nasm/equ.asm b/tests/nasm/equ.asm deleted file mode 100644 index 85271ab5..00000000 --- a/tests/nasm/equ.asm +++ /dev/null @@ -1,5 +0,0 @@ -mov ax,blah - -shl ax,4-blah - -blah equ 3 diff --git a/tests/nasm/error1.asm b/tests/nasm/error1.asm deleted file mode 100644 index 114579a6..00000000 --- a/tests/nasm/error1.asm +++ /dev/null @@ -1,2 +0,0 @@ -BITS 16 -mov ax, es:[di] diff --git a/tests/nasm/errors.asm b/tests/nasm/errors.asm deleted file mode 100644 index 34be1c84..00000000 --- a/tests/nasm/errors.asm +++ /dev/null @@ -1,11 +0,0 @@ -[BITS 16] -;mov ax,es:[di] -mov ax,[es:ds:0] -mov ax,[word dword es:0] -[BITS 32] -;mov ax,fs:[di] -mov ax,[fs:di] -;mov ax,[gs:edi+eax+ebx] -mov ,bx -mov ax, - [blah] diff --git a/tests/nasm/first.asm b/tests/nasm/first.asm deleted file mode 100644 index cdfc83c9..00000000 --- a/tests/nasm/first.asm +++ /dev/null @@ -1,2 +0,0 @@ -aaa - diff --git a/tests/nasm/fp.asm b/tests/nasm/fp.asm deleted file mode 100644 index 9b9cc4e2..00000000 --- a/tests/nasm/fp.asm +++ /dev/null @@ -1,65 +0,0 @@ -[SECTION .data] -dt 3.141592653589793 -resb 6 -dq 3.141592653589793 -resb 8 -dd 3.141592653589793 -resb 12 -dt 1.e-4096 -resb 6 -dt 1.e-2048 -resb 6 -dt 1.e-1024 -resb 6 -dt 1.e-512 -resb 6 -dt 1.e-256 -resb 6 -dt 1.e-128 -resb 6 -dt 1.e-64 -resb 6 -dt 1.e-32 -resb 6 -dt 1.e-16 -resb 6 -dt 1.e-8 -resb 6 -dt 1.e-4 -resb 6 -dt 1.e-2 -resb 6 -dt 1.e-1 -resb 6 -dt 1.e-0 -resb 6 -dt 1.e+4096 -resb 6 -dt 1.e+2048 -resb 6 -dt 1.e+1024 -resb 6 -dt 1.e+512 -resb 6 -dt 1.e+256 -resb 6 -dt 1.e+128 -resb 6 -dt 1.e+64 -resb 6 -dt 1.e+32 -resb 6 -dt 1.e+16 -resb 6 -dt 1.e+8 -resb 6 -dt 1.e+4 -resb 6 -dt 1.e+2 -resb 6 -dt 1.e+1 -resb 6 -dt 1.e+0 -resb 6 -dt 0. -dt 0.0000 diff --git a/tests/nasm/fp2.asm b/tests/nasm/fp2.asm deleted file mode 100644 index 8c52f22c..00000000 --- a/tests/nasm/fp2.asm +++ /dev/null @@ -1,38 +0,0 @@ -dt 125. -;times 6 db 0 -dt 1.25 -;times 6 db 0 -dt 3.141592653589793 -;times 6 db 0 -dt 1.e16 -;times 6 db 0 -dt 1.6e-20 -;times 6 db 0 -dt 5876. -;times 6 db 0 - -dd 1.1754943508222875e-38 -;times 4 db 0 -dq 1.1754943508222875e-38 -dt 1.1754943508222875e-38 -;times 6 db 0 - -dd 3.4028234663852886e+38 -;times 4 db 0 -dq 3.4028234663852886e+38 -dt 3.4028234663852886e+38 -;times 6 db 0 - -dd 2.2250738585072014E-308 -;times 4 db 0 -dq 2.2250738585072014E-308 -dt 2.2250738585072014E-308 -;times 6 db 0 - -;dd 1.7976931348623157E+308 -;times 4 db 0 -;times 4 db 0 -dq 1.7976931348623157E+308 -dt 1.7976931348623157E+308 -;times 6 db 0 - diff --git a/tests/nasm/global.asm b/tests/nasm/global.asm deleted file mode 100644 index 837bdfa6..00000000 --- a/tests/nasm/global.asm +++ /dev/null @@ -1,3 +0,0 @@ -[common a 4] -[global a] -a: diff --git a/tests/nasm/jumps.asm b/tests/nasm/jumps.asm deleted file mode 100644 index 4df1d901..00000000 --- a/tests/nasm/jumps.asm +++ /dev/null @@ -1,12 +0,0 @@ -[BITS 16] - -label: -jmp 1 -jmp +1 -jmp -1 -jmp label -nop -je $$+1 -je $+1 -je $-1 -je label diff --git a/tests/nasm/labels.asm b/tests/nasm/labels.asm deleted file mode 100644 index 3e2862b0..00000000 --- a/tests/nasm/labels.asm +++ /dev/null @@ -1,26 +0,0 @@ -label
-.label2
-..@label3
-..start
-amaze
-.0
-.?
-.~
-.$
-.#
-._
-.@
-.a
-;..
-jmp ._
-test0$#@~.?:
-jmp amaze.~
-.@@#~?_.$
-ret
-_
-jmp test0$#@~.?.@@#~?_.$
-?
-ret;
-jmp 5
-jmp _
-jmp ?
diff --git a/tests/nasm/labels2.asm b/tests/nasm/labels2.asm deleted file mode 100644 index f2f693d7..00000000 --- a/tests/nasm/labels2.asm +++ /dev/null @@ -1,31 +0,0 @@ -;[EXTERN banana] -[GLOBAL banana] -;[COMMON banana 4] -apple: -mov ax, 5 - .orange: -mov dx, banana - .orange.white: -mov al, 1 -banana.echo: -mov dx, 5+2 - .insane: -banana: - -blah..host..me: - -test.: - .me: - -;banana.echo: -jmp apple -jmp apple.orange -jmp apple.orange.white -jmp banana -jmp banana.echo -;jmp banana.insane -jmp banana.echo.insane -jmp blah..host..me -jmp test..me -;banana equ 5 -;banana equ 7 diff --git a/tests/nasm/labels3.asm b/tests/nasm/labels3.asm deleted file mode 100644 index 7ef13b07..00000000 --- a/tests/nasm/labels3.asm +++ /dev/null @@ -1,16 +0,0 @@ -apple: - .orange: - .orange.white: -banana.echo: - .insane: - -jmp joe -jmp apple -jmp apple.orange -jmp apple.orange.white -jmp joe -jmp banana -jmp banana.echo -jmp banana.insane -jmp banana.echo.insane -jmp joe diff --git a/tests/nasm/mem.asm b/tests/nasm/mem.asm deleted file mode 100644 index abc65a3d..00000000 --- a/tests/nasm/mem.asm +++ /dev/null @@ -1,39 +0,0 @@ -[BITS 16] -a32 mov ax, [eax] -mov ax, [eax] -mov ax, [di] -mov ax, [di-si+si] -mov ax, [bx-(bx-di)-2] -mov ax, [2*(bx+di)-bx-2*di] -mov ax, [2*(bx*2+di)-bx-2*bx-2*di] -mov ax, [2*(bx*2)-bx-2*bx+di] -mov ax, [(bx+di)*(bx+di)-bx*bx-2*bx*di-di*di+di] -mov ax, [(blah2-blah)*di] -blah -inc ax -blah2 -mov ax, [(blah2-blah)*di] -[BITS 32] -mov ax, [si] -mov ax, [esi+400] -mov ax, [byte esi+400] -a16 mov ax, [esi+eax] -mov ax, [400-esi] -mov ax, [esi-eax] -mov ax, [(esi+400)+200] -mov ax, [esi+400-200] -mov ax, [eax+400/200] -mov ax, [400/200+eax] -mov ax, [eax+'a'] -mov ax, [eax+eax-eax+eax-ebx+ebx] -mov ax, [eax*5] -mov ax, [10] -mov ax, [edx] -mov ax, [edx*2] -mov ax, [nosplit edx*2] -mov ax, [edx*1] -mov ax, [nosplit edx*1] -mov ax, [edx*3] -mov ax, [esi+ebp] -mov ax, [ebp+esi] -mov ax, [ebp*1+esi] diff --git a/tests/nasm/mem2.asm b/tests/nasm/mem2.asm deleted file mode 100644 index 41fc7cf5..00000000 --- a/tests/nasm/mem2.asm +++ /dev/null @@ -1,2 +0,0 @@ -[bits 16] -mov ax,[di-si+si+126] diff --git a/tests/nasm/multiequ.asm b/tests/nasm/multiequ.asm deleted file mode 100644 index e6ebcc44..00000000 --- a/tests/nasm/multiequ.asm +++ /dev/null @@ -1,10 +0,0 @@ -TESTA equ 5 -TESTB equ 120/TESTA -TESTC equ 10*TESTA -TESTD equ TESTC*TESTB - -dw TESTA -dw TESTB -dw TESTC -dw TESTD - diff --git a/tests/nasm/multiext.asm b/tests/nasm/multiext.asm deleted file mode 100644 index 171e4148..00000000 --- a/tests/nasm/multiext.asm +++ /dev/null @@ -1,4 +0,0 @@ -;[extern blah] -;[extern blah] -[global blah] -[common blah 4] diff --git a/tests/nasm/multisect.asm b/tests/nasm/multisect.asm deleted file mode 100644 index 92ad4790..00000000 --- a/tests/nasm/multisect.asm +++ /dev/null @@ -1,21 +0,0 @@ -[section .text] -aaa -aam -div ax -imul eax - -[section .data] -db 'hello',0 - -[section .text] -div al -bswap eax - -[section .bss] -resb 25 - -[section .data] -db 'bye!',0 - -[section .text] -mov ax, 5 diff --git a/tests/nasm/multisect2.asm b/tests/nasm/multisect2.asm deleted file mode 100644 index 2da2d62b..00000000 --- a/tests/nasm/multisect2.asm +++ /dev/null @@ -1,21 +0,0 @@ -[section text] -aaa -aam -div ax -imul eax - -[section .data] -db 'hello',0 - -[section .TEXT] -div al -bswap eax - -[section .bss] -resb 25 - -[section .data] -db 'bye!',0 - -[section .TEXT] -mov ax, 5 diff --git a/tests/nasm/multisect3.asm b/tests/nasm/multisect3.asm deleted file mode 100644 index cb8a966c..00000000 --- a/tests/nasm/multisect3.asm +++ /dev/null @@ -1,11 +0,0 @@ -[section .text] -db 1 - -[section .data] -db 2 - -[section .text] -db 3 - -[section .data] -db 4 diff --git a/tests/nasm/multisect4.asm b/tests/nasm/multisect4.asm deleted file mode 100644 index 15fdd741..00000000 --- a/tests/nasm/multisect4.asm +++ /dev/null @@ -1,8 +0,0 @@ -[section .data align=4] -db 6 - -[section .text] -db 5 - -[section .data align=16] -db 7 diff --git a/tests/nasm/numconst.asm b/tests/nasm/numconst.asm deleted file mode 100644 index 040f62de..00000000 --- a/tests/nasm/numconst.asm +++ /dev/null @@ -1,12 +0,0 @@ -mov ax,100 -mov ax,0a2h -mov ax,$0a2 -mov ax,0xa2 -mov ax,777q -mov ax,10010011b -mov eax,'abcd' -db 'hello' -db 'h','e','l','l','o' -dd 'ninechars' -dd 'nine','char','s' -db 'ninechars',0,0,0 diff --git a/tests/nasm/org.asm b/tests/nasm/org.asm deleted file mode 100644 index 40148434..00000000 --- a/tests/nasm/org.asm +++ /dev/null @@ -1,10 +0,0 @@ -[ORG 0x100] -[SECTION .blah] -[ORG a] -[ORG t=0x100] -a: -[SECTION .text ALIGN=a] -[SECTION .data ALIGN=16] -[SECTION .bss align=15] -[SECTION .bss align=] -[SECTION .bss align] diff --git a/tests/nasm/org2.asm b/tests/nasm/org2.asm deleted file mode 100644 index a0455a12..00000000 --- a/tests/nasm/org2.asm +++ /dev/null @@ -1,3 +0,0 @@ -[org 0x100] -dd label -label: diff --git a/tests/nasm/reloc.asm b/tests/nasm/reloc.asm deleted file mode 100644 index 031ad9a6..00000000 --- a/tests/nasm/reloc.asm +++ /dev/null @@ -1,24 +0,0 @@ -[SECTION .data] - -uhoh db 5 - -[GLOBAL blah] - -blah dw 5 -[SECTION .text] - -[EXTERN hi] -[EXTERN hi] -[EXTERN bye] - -mov eax, hi+2 -mov eax, bye -mov eax, [hi] -mov eax, [bye+2] -mov eax, $$ -mov eax, $ -mov eax, $-$$ -;mov eax, uhoh wrt $$ -mov eax, hi+bye -mov eax, bye+$ -mov eax, hi-$ diff --git a/tests/nasm/reloc2.asm b/tests/nasm/reloc2.asm deleted file mode 100644 index eb598a51..00000000 --- a/tests/nasm/reloc2.asm +++ /dev/null @@ -1,5 +0,0 @@ -SECTION .text - -.text db 5 - - diff --git a/tests/nasm/second.asm b/tests/nasm/second.asm deleted file mode 100644 index 92e81ee5..00000000 --- a/tests/nasm/second.asm +++ /dev/null @@ -1,20 +0,0 @@ -aaa -aam -mov ax,16 -test al,al - -blah -xor ax,ax - -[SECTION .text] - -daa - -[SECTION .data] - -db 5,6,7,8 - -[SECTION .text] - -jmp blah - diff --git a/tests/nasm/signed.asm b/tests/nasm/signed.asm deleted file mode 100644 index fbd368f4..00000000 --- a/tests/nasm/signed.asm +++ /dev/null @@ -1,6 +0,0 @@ -imul ax, bx, byte 255 -imul ax, bx, byte 0xFF -imul ax, bx, byte -0x80 -imul ax, bx, byte -0x7F -add ax, 100000 -add ax, -100000 diff --git a/tests/nasm/sizes.asm b/tests/nasm/sizes.asm deleted file mode 100644 index 8be304e3..00000000 --- a/tests/nasm/sizes.asm +++ /dev/null @@ -1,11 +0,0 @@ -BITS 32 -aaa -aad 500 -aad 10 -aad 0xFF -aad 0 -idiv al -idiv ax -idiv eax -idiv byte [0] - diff --git a/tests/nasm/sizes2.asm b/tests/nasm/sizes2.asm deleted file mode 100644 index d4750f42..00000000 --- a/tests/nasm/sizes2.asm +++ /dev/null @@ -1,12 +0,0 @@ -aaa -aad 500 -aad 10 -aad 0xFF -aad 0 -here: -idiv al -idiv ax -idiv eax -idiv byte [0] -idiv dword [eax] - diff --git a/tests/nasm/socket.asm b/tests/nasm/socket.asm deleted file mode 100644 index 57345e50..00000000 --- a/tests/nasm/socket.asm +++ /dev/null @@ -1,1513 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -INADDR_ANY equ 0 -INADDR_LOOPBACK equ 7F000001h -INADDR_BROADCAST equ 0FFFFFFFFh -INADDR_NONE equ 0FFFFFFFFh - -SOCK_STREAM equ 1 -SOCK_DGRAM equ 2 - -SOCKEVENT_READ equ 01h -SOCKEVENT_WRITE equ 02h -SOCKEVENT_OOB equ 04h -SOCKEVENT_ACCEPT equ 08h -SOCKEVENT_CONNECT equ 10h -SOCKEVENT_CLOSE equ 20h - - -[absolute 0] -SOCKADDR: -.Port resw 1 -.Address resd 1 -SOCKADDR_size: -[section .text] - -[absolute 0] -HOSTENT: -.Name resd 1 -.Aliases resd 1 - -.AddrList resd 1 - -HOSTENT_size: -[section .text] - - - - - - -[extern DPMI_Int] -[extern _AllocTransferBuf] -[extern _FreeTransferBuf] - -[extern DPMI_Regs] -[extern DPMI_EDI] -[extern DPMI_ESI] -[extern DPMI_EBP] -[extern DPMI_EBX] -[extern DPMI_EDX] -[extern DPMI_ECX] -[extern DPMI_EAX] -[extern DPMI_FLAGS] -[extern DPMI_ES] -[extern DPMI_DS] -[extern DPMI_FS] -[extern DPMI_GS] -[extern DPMI_SP] -[extern DPMI_SS] - -[extern _Transfer_Buf] -[extern _Transfer_Buf_Seg] -[extern _Transfer_Buf_Size] - -DPMI_EDI_off equ 00h -DPMI_ESI_off equ 04h -DPMI_EBP_off equ 08h - -DPMI_EBX_off equ 10h -DPMI_EDX_off equ 14h -DPMI_ECX_off equ 18h -DPMI_EAX_off equ 1Ch -DPMI_FLAGS_off equ 20h -DPMI_ES_off equ 22h -DPMI_DS_off equ 24h -DPMI_FS_off equ 26h -DPMI_GS_off equ 28h -DPMI_IP_off equ 2Ah -DPMI_CS_off equ 2Ch -DPMI_SP_off equ 2Eh -DPMI_SS_off equ 30h - - - - - -[extern _AllocMem] -[extern _AllocSelector] -[extern _FreeSelector] -[extern _GetPhysicalMapping] -[extern _FreePhysicalMapping] -[extern _LockArea] - -_AllocMem_arglen equ 4 -_AllocSelector_arglen equ 4 -_FreeSelector_arglen equ 2 -_GetPhysicalMapping_arglen equ 16 -_FreePhysicalMapping_arglen equ 8 -_LockArea_arglen equ 10 - - - - - -[extern _Install_Int] -[extern _Remove_Int] -[extern _Exit_IRQ] -[extern _Init_IRQ] -[extern _Restore_IRQ] -[extern _Enable_IRQ] -[extern _Disable_IRQ] - -_Install_Int_arglen equ 8 -_Remove_Int_arglen equ 4 -_Restore_IRQ_arglen equ 4 -_Enable_IRQ_arglen equ 4 -_Disable_IRQ_arglen equ 4 - -[bits 32] - - - - -SOCKET_INIT equ 5001h -SOCKET_EXIT equ 5002h -SOCKET_ACCEPT equ 5003h -SOCKET_BIND equ 5004h -SOCKET_CLOSE equ 5005h -SOCKET_CONNECT equ 5006h -SOCKET_GETPEERNAME equ 5007h -SOCKET_GETSOCKNAME equ 5008h -SOCKET_INETADDR equ 5009h -SOCKET_INETNTOA equ 500Ah -SOCKET_LISTEN equ 500Bh -SOCKET_RECV equ 500Ch -SOCKET_RECVFROM equ 500Dh -SOCKET_SEND equ 500Eh -SOCKET_SENDTO equ 500Fh -SOCKET_SHUTDOWN equ 5010h -SOCKET_CREATE equ 5011h -SOCKET_GETHOSTBYADDR equ 5012h -SOCKET_GETHOSTBYNAME equ 5013h -SOCKET_GETHOSTNAME equ 5014h -SOCKET_INSTALLCALLBACK equ 5015h -SOCKET_REMOVECALLBACK equ 5016h -SOCKET_ADDCALLBACK equ 5017h -SOCKET_GETCALLBACKINFO equ 5018h - - -STRING_MAX equ 256 -HOSTENT_ALIASES_MAX equ 16 -HOSTENT_ADDRLIST_MAX equ 16 - -[section .bss] - -Callback_Address resd 1 -Callback_Int resb 1 -Multiplex_Handle resw 1 -VDD_Handle resw 1 -LastError resd 1 -NetAddr_static resb STRING_MAX -HostEnt_Name_static resb STRING_MAX -HostEnt_Aliases_static resd HOSTENT_ALIASES_MAX -HostEnt_AddrList_static resd HOSTENT_ADDRLIST_MAX -HostEnt_Aliases_data resb STRING_MAX*HOSTENT_ALIASES_MAX -HostEnt_AddrList_data resd HOSTENT_ADDRLIST_MAX - -[section .data] - -rcsid db '$Id: socket.asm,v 1.1 2001/11/21 08:41:53 peter Exp $',0 - -ALTMPX_Signature db 'ECE291 ', 'EX291 ', 0 -ALTMPX_MinVersion equ 0100h -SOCKET_Version equ 0100h -HostEnt_static : -..@44.strucstart: -times HOSTENT.Name-($-..@44.strucstart) db 0 -dd HostEnt_Name_static -times HOSTENT.Aliases-($-..@44.strucstart) db 0 -dd HostEnt_Aliases_static -times HOSTENT.AddrList-($-..@44.strucstart) db 0 -dd HostEnt_AddrList_static -times HOSTENT_size-($-..@44.strucstart) db 0 - - -VDD_InitData - dw SOCKET_Version - dd STRING_MAX - dd HOSTENT_ALIASES_MAX - dd HOSTENT_ADDRLIST_MAX - dd LastError - dd NetAddr_static - dd HostEnt_Name_static - dd HostEnt_Aliases_static - dd HostEnt_AddrList_static - dd HostEnt_Aliases_data - dd HostEnt_AddrList_data - -[section .text] - - - - - - - -[global _InitSocket] -_InitSocket - push esi - push edi - push es - - - - cld - - - xor eax, eax - mov cx, 1 - int 31h - jc near .error - mov bx, ax - - - mov ax, 0008h - xor ecx, ecx - mov dx, 0FFFFh - int 31h - jc near .errorfree - - xor eax, eax - -.loop: - mov esi, eax - mov [DPMI_EAX], eax - push bx - mov bx, 2Dh - call DPMI_Int - pop bx - cmp byte [DPMI_EAX], 0FFh - jne .next - - - cmp word [DPMI_ECX], ALTMPX_MinVersion - jb .next - - - mov ax, 0007h - movzx edx, word [DPMI_EDX] - shl edx, 4 - mov ecx, edx - shr ecx, 16 - int 31h - jc .errorfree - - mov es, ebx - movzx edi, word [DPMI_EDI] - mov ecx, 16/2 - mov esi, ALTMPX_Signature - rep cmpsw - jz .foundmpx - -.next: - inc ah - jnz .loop - - jmp short .errorfree - -.foundmpx: - - mov ax, 0001h - int 31h - - - mov eax, [DPMI_EAX] - mov [Multiplex_Handle], ax - mov al, 10h - mov [DPMI_EAX], ax - push bx - mov bx, 2Dh - call DPMI_Int - pop bx - cmp byte [DPMI_EAX], 1 - jne .error - mov dx, [DPMI_EDX] - mov [VDD_Handle], dx - - - mov ecx, VDD_InitData - clc - movzx eax, word [VDD_Handle] - or eax, SOCKET_INIT<<16 - db 0C4h, 0C4h, 058h, 002h - jc .error - - xor eax, eax - jmp short .exit - -.errorfree: - mov ax, 0001h - int 31h - -.error: - xor eax, eax - inc eax - -.exit: - pop es - pop edi - pop esi - ret - - - - - - - -[global _ExitSocket] -_ExitSocket - - clc - movzx eax, word [VDD_Handle] - or eax, SOCKET_EXIT<<16 - db 0C4h, 0C4h, 058h, 002h - ret - - - - - - - - - - - -[global _Socket_SetCallback] -_Socket_SetCallback: push ebp - mov ebp, esp - - -.HandlerAddress equ 8 - - - - - - mov ax, [Multiplex_Handle] - mov al, 11h - mov [DPMI_EAX], ax - mov bx, 2Dh - call DPMI_Int - cmp byte [DPMI_EAX], 1 - jne near .error - - movzx edx, byte [DPMI_EDX] - mov [Callback_Int], dl - - mov ecx, [Callback_Address] - mov eax, [ebp+.HandlerAddress] - mov [Callback_Address], eax - test eax, eax - jz near .deinstall - - test ecx, ecx - jnz near .ok - - - - - - - - - - - push dword 4 - - - - - - - - - push dword Callback_Address - - - - - - - - - o16 push ds - -call _LockArea - add esp, byte _LockArea_arglen - - - - - - - - - push dword 1 - - - - - - - - - push dword Callback_Int - - - - - - - - - o16 push ds - -call _LockArea - add esp, byte _LockArea_arglen - - - - - - - - - push dword Socket_InterruptHandler_end-Socket_InterruptHandler - - - - - - - - - push dword Socket_InterruptHandler - - - - - - - - - o16 push cs - -call _LockArea - add esp, byte _LockArea_arglen - movzx edx, byte [DPMI_EDX] - - - - - - - - - push dword Socket_InterruptHandler - - - - - - - - - push edx - -call _Install_Int - add esp, byte _Install_Int_arglen - test eax, eax - jnz .error - - movzx edx, byte [Callback_Int] - clc - movzx eax, word [VDD_Handle] - or eax, SOCKET_INSTALLCALLBACK<<16 - db 0C4h, 0C4h, 058h, 002h - test eax, eax - jz .end - - mov dword [Callback_Address], 0 - - - - - - - - - push edx - -call _Remove_Int - add esp, byte _Remove_Int_arglen - jmp short .error - -.deinstall: - clc - movzx eax, word [VDD_Handle] - or eax, SOCKET_REMOVECALLBACK<<16 - db 0C4h, 0C4h, 058h, 002h - - - - - - - - - push edx - -call _Remove_Int - add esp, byte _Remove_Int_arglen - xor eax, eax - jmp short .end - -.ok: - xor eax, eax - mov esp, ebp - pop ebp - ret -.error: - xor eax, eax - inc eax -.end: - mov esp, ebp - pop ebp - ret - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -[global _Socket_AddCallback] -_Socket_AddCallback: push ebp - mov ebp, esp - - -.Socket equ 8 - - -.EventMask equ 12 - - - - clc - movzx eax, word [VDD_Handle] - or eax, SOCKET_ADDCALLBACK<<16 - db 0C4h, 0C4h, 058h, 002h - mov esp, ebp - pop ebp - ret - - - - - - - - - - - - -Socket_InterruptHandler - - mov eax, [Callback_Address] - test eax, eax - jz .chain - - clc - movzx eax, word [VDD_Handle] - or eax, SOCKET_GETCALLBACKINFO<<16 - db 0C4h, 0C4h, 058h, 002h - test eax, eax - jnz .chain - - push edx - push ecx - call dword [Callback_Address] - add esp, byte 8 - -.done: - - mov al, 20h - cmp byte [Callback_Int], 50h - jb .lowirq - out 0A0h, al -.lowirq: - out 20h, al - - xor eax, eax - ret - -.chain: - mov eax, 1 - ret -Socket_InterruptHandler_end - - - - - - - - - - - -[global _Socket_accept] -_Socket_accept: push ebp - mov ebp, esp - - -.Socket equ 8 - - -.Name equ 12 - - - - clc - movzx eax, word [VDD_Handle] - or eax, SOCKET_ACCEPT<<16 - db 0C4h, 0C4h, 058h, 002h - mov esp, ebp - pop ebp - ret - - - - - - - - - - - - - - - - - - - - -[global _Socket_bind] -_Socket_bind: push ebp - mov ebp, esp - - -.Socket equ 8 - - -.Name equ 12 - - - - clc - movzx eax, word [VDD_Handle] - or eax, SOCKET_BIND<<16 - db 0C4h, 0C4h, 058h, 002h - mov esp, ebp - pop ebp - ret - - - - - - - - - - - - - - - - - - -[global _Socket_close] -_Socket_close: push ebp - mov ebp, esp - - -.Socket equ 8 - - - - clc - movzx eax, word [VDD_Handle] - or eax, SOCKET_CLOSE<<16 - db 0C4h, 0C4h, 058h, 002h - mov esp, ebp - pop ebp - ret - - - - - - - - - - - - - - - - - - - - -[global _Socket_connect] -_Socket_connect: push ebp - mov ebp, esp - - -.Socket equ 8 - - -.Name equ 12 - - - - clc - movzx eax, word [VDD_Handle] - or eax, SOCKET_CONNECT<<16 - db 0C4h, 0C4h, 058h, 002h - mov esp, ebp - pop ebp - ret - - - - - - - - - - - - - - - - - - - - -[global _Socket_getpeername] -_Socket_getpeername: push ebp - mov ebp, esp - - -.Socket equ 8 - - -.Name equ 12 - - - - clc - movzx eax, word [VDD_Handle] - or eax, SOCKET_GETPEERNAME<<16 - db 0C4h, 0C4h, 058h, 002h - mov esp, ebp - pop ebp - ret - - - - - - - - - - - - - - - - - - - - -[global _Socket_getsockname] -_Socket_getsockname: push ebp - mov ebp, esp - - -.Socket equ 8 - - -.Name equ 12 - - - - clc - movzx eax, word [VDD_Handle] - or eax, SOCKET_GETSOCKNAME<<16 - db 0C4h, 0C4h, 058h, 002h - mov esp, ebp - pop ebp - ret - - - - - - - - - - - - - - - - - - -[global _Socket_ntohl] -_Socket_ntohl - - - - - - - -[global _Socket_htonl] -_Socket_htonl: push ebp - mov ebp, esp - - -.HostVal equ 8 - - - - mov eax, [ebp+.HostVal] - bswap eax - - mov esp, ebp - pop ebp - ret - - - - - - - - - - - - - - - - - - -[global _Socket_ntohs] -_Socket_ntohs - - - - - - - -[global _Socket_htons] -_Socket_htons: push ebp - mov ebp, esp - - -.HostVal equ 8 - - - - mov ax, [ebp+.HostVal] - xchg al, ah - mov esp, ebp - pop ebp - ret - - - - - - - - - - - - - - - - - - - - -[global _Socket_inet_addr] -_Socket_inet_addr: push ebp - mov ebp, esp - - -.DottedAddress equ 8 - - - - clc - movzx eax, word [VDD_Handle] - or eax, SOCKET_INETADDR<<16 - db 0C4h, 0C4h, 058h, 002h - mov esp, ebp - pop ebp - ret - - - - - - - - - - - - - - - - - - - - -[global _Socket_inet_ntoa] -_Socket_inet_ntoa: push ebp - mov ebp, esp - - -.Address equ 8 - - - - clc - movzx eax, word [VDD_Handle] - or eax, SOCKET_INETNTOA<<16 - db 0C4h, 0C4h, 058h, 002h - mov eax, NetAddr_static - mov esp, ebp - pop ebp - ret - - - - - - - - - - - - - - - - - - - - - -[global _Socket_listen] -_Socket_listen: push ebp - mov ebp, esp - - -.Socket equ 8 - - -.BackLog equ 12 - - - - clc - movzx eax, word [VDD_Handle] - or eax, SOCKET_LISTEN<<16 - db 0C4h, 0C4h, 058h, 002h - mov esp, ebp - pop ebp - ret - - - - - - - - - - - - - - - - - - - - - - - - - - -[global _Socket_recv] -_Socket_recv: push ebp - mov ebp, esp - - -.Socket equ 8 - - -.Buf equ 12 - - -.MaxLen equ 16 - - -.Flags equ 20 - - - - clc - movzx eax, word [VDD_Handle] - or eax, SOCKET_RECV<<16 - db 0C4h, 0C4h, 058h, 002h - mov esp, ebp - pop ebp - ret - - - - - - - - - - - - - - - - - - - - - - - - - - - - -[global _Socket_recvfrom] -_Socket_recvfrom: push ebp - mov ebp, esp - - -.Socket equ 8 - - -.Buf equ 12 - - -.MaxLen equ 16 - - -.Flags equ 20 - - -.From equ 24 - - - - clc - movzx eax, word [VDD_Handle] - or eax, SOCKET_RECVFROM<<16 - db 0C4h, 0C4h, 058h, 002h - mov esp, ebp - pop ebp - ret - - - - - - - - - - - - - - - - - - - - - - - -[global _Socket_send] -_Socket_send: push ebp - mov ebp, esp - - -.Socket equ 8 - - -.Buf equ 12 - - -.Len equ 16 - - -.Flags equ 20 - - - - clc - movzx eax, word [VDD_Handle] - or eax, SOCKET_SEND<<16 - db 0C4h, 0C4h, 058h, 002h - mov esp, ebp - pop ebp - ret - - - - - - - - - - - - - - - - - - - - - - - - -[global _Socket_sendto] -_Socket_sendto: push ebp - mov ebp, esp - - -.Socket equ 8 - - -.Buf equ 12 - - -.Len equ 16 - - -.Flags equ 20 - - -.To equ 24 - - - - clc - movzx eax, word [VDD_Handle] - or eax, SOCKET_SENDTO<<16 - db 0C4h, 0C4h, 058h, 002h - mov esp, ebp - pop ebp - ret - - - - - - - - - - - - - - - - - - - - - - - - - -[global _Socket_shutdown] -_Socket_shutdown: push ebp - mov ebp, esp - - -.Socket equ 8 - - -.Flags equ 12 - - - - mov eax, [ebp+.Flags] - test eax, eax - jz .done - - clc - movzx eax, word [VDD_Handle] - or eax, SOCKET_SHUTDOWN<<16 - db 0C4h, 0C4h, 058h, 002h -.done: - mov esp, ebp - pop ebp - ret - - - - - - - - - - - - - - - - - - - - -[global _Socket_create] -_Socket_create: push ebp - mov ebp, esp - - -.Type equ 8 - - - - clc - movzx eax, word [VDD_Handle] - or eax, SOCKET_CREATE<<16 - db 0C4h, 0C4h, 058h, 002h - mov esp, ebp - pop ebp - ret - - - - - - - - - - - - - - - - - - - - -[global _Socket_gethostbyaddr] -_Socket_gethostbyaddr: push ebp - mov ebp, esp - - -.Address equ 8 - - - - clc - movzx eax, word [VDD_Handle] - or eax, SOCKET_GETHOSTBYADDR<<16 - db 0C4h, 0C4h, 058h, 002h - test eax, eax - jz .done - mov eax, HostEnt_static -.done: - mov esp, ebp - pop ebp - ret - - - - - - - - - - - - - - - - - - - -[global _Socket_gethostbyname] -_Socket_gethostbyname: push ebp - mov ebp, esp - - -.Name equ 8 - - - - clc - movzx eax, word [VDD_Handle] - or eax, SOCKET_GETHOSTBYNAME<<16 - db 0C4h, 0C4h, 058h, 002h - test eax, eax - jz .done - mov eax, HostEnt_static -.done: - mov esp, ebp - pop ebp - ret - - - - - - - - - - - - - - - - - - - - -[global _Socket_gethostname] -_Socket_gethostname: push ebp - mov ebp, esp - - -.Name equ 8 - - -.NameLen equ 12 - - - - clc - movzx eax, word [VDD_Handle] - or eax, SOCKET_GETHOSTNAME<<16 - db 0C4h, 0C4h, 058h, 002h - mov esp, ebp - pop ebp - ret - - - - - - - - - - - - - - - - - - -[global _Socket_GetLastError] -_Socket_GetLastError - - mov eax, [LastError] - ret - diff --git a/tests/nasm/store.asm b/tests/nasm/store.asm deleted file mode 100644 index 4d9bec54..00000000 --- a/tests/nasm/store.asm +++ /dev/null @@ -1,6 +0,0 @@ -label: - -db label -dw label -dd label - diff --git a/tests/nasm/string.asm b/tests/nasm/string.asm deleted file mode 100644 index 8a974ab6..00000000 --- a/tests/nasm/string.asm +++ /dev/null @@ -1,8 +0,0 @@ -mov eax, 'hi' -mov eax, 'hehe' -mov eax, 'hello' -mov eax, '' -db 0,0,0 -db 'hi"' -db "hi\" -db "hi\n" diff --git a/tests/nasm/test1.asm b/tests/nasm/test1.asm deleted file mode 100644 index acf30402..00000000 --- a/tests/nasm/test1.asm +++ /dev/null @@ -1,2 +0,0 @@ -mov ax,[di] - diff --git a/tests/nasm/times.asm b/tests/nasm/times.asm deleted file mode 100644 index 964318dc..00000000 --- a/tests/nasm/times.asm +++ /dev/null @@ -1,3 +0,0 @@ -;times 8 times 4 db 0 -times 'ab' db 0 -times 1.2 db 0 diff --git a/tests/nasm/vbeaf.asm b/tests/nasm/vbeaf.asm deleted file mode 100644 index f0486fb2..00000000 --- a/tests/nasm/vbeaf.asm +++ /dev/null @@ -1,1327 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - -[extern _AllocMem] -[extern _AllocSelector] -[extern _FreeSelector] -[extern _GetPhysicalMapping] -[extern _FreePhysicalMapping] -[extern _LockArea] - -_AllocMem_arglen equ 4 -_AllocSelector_arglen equ 4 -_FreeSelector_arglen equ 2 -_GetPhysicalMapping_arglen equ 16 -_FreePhysicalMapping_arglen equ 8 -_LockArea_arglen equ 10 - - - - - -[extern _OpenFile] -[extern _CloseFile] -[extern _ReadFile] -[extern _ReadFile_Sel] -[extern _WriteFile] -[extern _WriteFile_Sel] -[extern _SeekFile] - -_OpenFile_arglen equ 6 -_CloseFile_arglen equ 4 -_ReadFile_arglen equ 12 -_ReadFile_Sel_arglen equ 14 -_WriteFile_arglen equ 12 -_WriteFile_Sel_arglen equ 14 -_SeekFile_arglen equ 10 - -[bits 32] - - -[extern ___sbrk] -[extern _getenv] - -___sbrk_arglen equ 4 -_getenv_arglen equ 4 - - -[extern _djgpp_es] -[extern _djgpp_fs] -[extern _djgpp_gs] - - -[extern ___dos_argv0] - - - - - - - - - - - - - - - - - - - - - - - -afHaveMultiBuffer equ 0001h -afHaveVirtualScroll equ 0002h -afHaveBankedBuffer equ 0004h -afHaveLinearBuffer equ 0008h -afHaveAccel2D equ 0010h -afHaveDualBuffers equ 0020h -afHaveHWCursor equ 0040h -afHave8BitDAC equ 0080h -afNonVGAMode equ 0100h -afHaveDoubleScan equ 0200h -afHaveInterlaced equ 0400h -afHaveTripleBuffer equ 0800h -afHaveStereo equ 1000h -afHaveROP2 equ 2000h -afHaveHWStereoSync equ 4000h -afHaveEVCStereoSync equ 8000h - - -[absolute 0] -AF_MODE_INFO: -.Attributes resw 1 -.XResolution resw 1 -.YResolution resw 1 -.BytesPerScanLine resw 1 -.BitsPerPixel resw 1 -.MaxBuffers resw 1 -.RedMaskSize resb 1 -.RedFieldPosition resb 1 -.GreenMaskSize resb 1 -.GreenFieldPosition resb 1 -.BlueMaskSize resb 1 -.BlueFieldPosition resb 1 -.RsvdMaskSize resb 1 -.RsvdFieldPosition resb 1 -.MaxBytesPerScanLine resw 1 -.MaxScanLineWidth resw 1 - -.LinBytesPerScanLine resw 1 -.BnkMaxBuffers resb 1 -.LinMaxBuffers resb 1 -.LinRedMaskSize resb 1 -.LinRedFieldPosition resb 1 -.LinGreenMaskSize resb 1 -.LinGreenFieldPosition resb 1 -.LinBlueMaskSize resb 1 -.LinBlueFieldPosition resb 1 -.LinRsvdMaskSize resb 1 -.LinRsvdFieldPosition resb 1 -.MaxPixelClock resd 1 -.VideoCapabilities resd 1 -.VideoMinXScale resw 1 -.VideoMinYScale resw 1 -.VideoMaxXScale resw 1 -.VideoMaxYScale resw 1 -.Reserved resb 76 -AF_MODE_INFO_size: -[section .text] - - -[absolute 0] -AF_DRIVER: - -.Signature resb 12 -.Version resd 1 -.DriverRev resd 1 -.OemVendorName resb 80 -.OemCopyright resb 80 -.AvailableModes resd 1 -.TotalMemory resd 1 -.Attributes resd 1 -.BankSize resd 1 -.BankedBasePtr resd 1 -.LinearSize resd 1 -.LinearBasePtr resd 1 -.LinearGranularity resd 1 -.IOPortsTable resd 1 -.IOMemoryBase resd 4 -.IOMemoryLen resd 4 -.LinearStridePad resd 1 -.PCIVendorID resw 1 -.PCIDeviceID resw 1 -.PCISubSysVendorID resw 1 -.PCISubSysID resw 1 -.Checksum resd 1 -.res2 resd 6 - -.IOMemMaps resd 4 -.BankedMem resd 1 -.LinearMem resd 1 -.res3 resd 5 - -.BufferEndX resd 1 -.BufferEndY resd 1 -.OriginOffset resd 1 -.OffscreenOffset resd 1 -.OffscreenStartY resd 1 -.OffscreenEndY resd 1 -.res4 resd 10 - -.SetBank32Len resd 1 -.SetBank32 resd 1 - -.Int86 resd 1 -.CallRealMode resd 1 - -.InitDriver resd 1 - -.af10Funcs resd 40 - -.PlugAndPlayInit resd 1 - -.OemExt resd 1 - -.SupplementalExt resd 1 - -.GetVideoModeInfo resd 1 -.SetVideoMode resd 1 -.RestoreTextMode resd 1 -.GetClosestPixelClock resd 1 -.SaveRestoreState resd 1 -.SetDisplayStart resd 1 -.SetActiveBuffer resd 1 -.SetVisibleBuffer resd 1 -.GetDisplayStartStatus resd 1 -.EnableStereoMode resd 1 -.SetPaletteData resd 1 -.SetGammaCorrectData resd 1 -.SetBank resd 1 - -.SetCursor resd 1 -.SetCursorPos resd 1 -.SetCursorColor resd 1 -.ShowCursor resd 1 - -.WaitTillIdle resd 1 -.EnableDirectAccess resd 1 -.DisableDirectAccess resd 1 -.SetMix resd 1 -.Set8x8MonoPattern resd 1 -.Set8x8ColorPattern resd 1 -.Use8x8ColorPattern resd 1 -.SetLineStipple resd 1 -.SetLineStippleCount resd 1 -.SetClipRect resd 1 -.DrawScan resd 1 -.DrawPattScan resd 1 -.DrawColorPattScan resd 1 -.DrawScanList resd 1 -.DrawPattScanList resd 1 -.DrawColorPattScanList resd 1 -.DrawRect resd 1 -.DrawPattRect resd 1 -.DrawColorPattRect resd 1 -.DrawLine resd 1 -.DrawStippleLine resd 1 -.DrawTrap resd 1 -.DrawTri resd 1 -.DrawQuad resd 1 -.PutMonoImage resd 1 -.PutMonoImageLin resd 1 -.PutMonoImageBM resd 1 -.BitBlt resd 1 -.BitBltSys resd 1 -.BitBltLin resd 1 -.BitBltBM resd 1 -.SrcTransBlt resd 1 -.SrcTransBltSys resd 1 -.SrcTransBltLin resd 1 -.SrcTransBltBM resd 1 -.DstTransBlt resd 1 -.DstTransBltSys resd 1 -.DstTransBltLin resd 1 -.DstTransBltBM resd 1 -.StretchBlt resd 1 -.StretchBltSys resd 1 -.StretchBltLin resd 1 -.StretchBltBM resd 1 -.SrcTransStretchBlt resd 1 -.SrcTransStretchBltSys resd 1 -.SrcTransStretchBltLin resd 1 -.SrcTransStretchBltBM resd 1 -.DstTransStretchBlt resd 1 -.DstTransStretchBltSys resd 1 -.DstTransStretchBltLin resd 1 -.DstTransStretchBltBM resd 1 - -.SetVideoInput resd 1 -.SetVideoOutput resd 1 -.StartVideoFrame resd 1 -.EndVideoFrame resd 1 -AF_DRIVER_size: -[section .text] - - -[absolute 0] -FAF_KEYBOARD_DATA: -.INT resb 1 -.IRQ resb 1 -.Port resw 1 -FAF_KEYBOARD_DATA_size: -[section .text] - -[section .bss] - -DriverOffset resd 1 -DriverSize resd 1 -InGraphicsMode resb 1 -ModeInfo resb AF_MODE_INFO_size -Filename resb 256 -FreeBEExt resb 1 - -[section .data] - -rcsid db '$Id: vbeaf.asm,v 1.1 2001/11/21 08:41:53 peter Exp $',0 - -VBEAFName db 'VBEAF.DRV', 0 -VBEAFEnv db 'VBEAF_PATH', 0 - -[section .text] - - - - - - - -_LoadGraphicsDriver_arglen equ 4 -[global _LoadGraphicsDriver] -_LoadGraphicsDriver: push ebp - mov ebp, esp - - -.Filename equ 8 - - - -.file equ -4 -.STACK_FRAME_SIZE equ 4 - - sub esp, .STACK_FRAME_SIZE - push es - push fs - push gs - mov gs, [_djgpp_gs] - mov fs, [_djgpp_fs] - mov es, [_djgpp_es] - - - - - - - - - - - push word 0 - - - - - - - - - push dword [ebp+.Filename] - -call _OpenFile - add esp, byte _OpenFile_arglen - cmp eax, -1 - je near .error - mov [ebp+.file], eax - - - - - - - - - - - push word 2 - - - - - - - - - push dword 0 - - - - - - - - - push dword [ebp+.file] - -call _SeekFile - add esp, byte _SeekFile_arglen - cmp eax, -1 - je near .error - mov [DriverSize], eax - - - - - - - - - - - push word 0 - - - - - - - - - push dword 0 - - - - - - - - - push dword [ebp+.file] - -call _SeekFile - add esp, byte _SeekFile_arglen - cmp eax, -1 - je .error - - - - - - - - - - - - - - - push dword [DriverSize] - -call ___sbrk - add esp, byte ___sbrk_arglen - test eax, eax - jz .error - mov [DriverOffset], eax - - - - - - - - - - - push dword [DriverSize] - - - - - - - - - push dword [DriverOffset] - - - - - - - - - push dword [ebp+.file] - -call _ReadFile - add esp, byte _ReadFile_arglen - cmp eax, [DriverSize] - jne .errorfree - - - - - - - - - - - push dword [ebp+.file] - -call _CloseFile - add esp, byte _CloseFile_arglen - - - - - - - - - - - push dword [DriverSize] - - - - - - - - - push dword [DriverOffset] - - - - - - - - - o16 push cs - -call _LockArea - add esp, byte _LockArea_arglen - xor eax, eax - jmp short .done - -.errorfree: - mov eax, [DriverSize] - neg eax - - - - - - - - - push eax - -call ___sbrk - add esp, byte ___sbrk_arglen - mov dword [DriverOffset], 0 -.error: - xor eax, eax - inc eax -.done: - pop gs - pop fs - pop es - mov esp, ebp - mov esp, ebp - pop ebp - ret - - - - - - - - - - - - - - - - - - - - -[global _InitGraphics] -_InitGraphics: push ebp - mov ebp, esp - - -.kbINT equ 8 - - -.kbIRQ equ 12 - - -.kbPort equ 16 - - - - push es - push fs - push gs - mov gs, [_djgpp_gs] - mov fs, [_djgpp_fs] - mov es, [_djgpp_es] - push esi - push edi - - - mov esi, [DriverOffset] - test esi, esi - jnz near .foundit - - - - - - mov ecx, 256 - mov esi, [___dos_argv0] - mov edi, Filename -.argv0copy: - mov al, [esi] - mov [edi], al - inc esi - inc edi - or al, al - jnz .argv0copy - -.findlastslash: - cmp byte [edi], '/' - je .lastslashfound - cmp byte [edi], '\' - je .lastslashfound - cmp edi, Filename - je .lastslashnotfound - dec edi - jmp short .findlastslash -.lastslashfound: - inc edi - - mov ecx, 10 - mov esi, VBEAFName - rep movsb - - - - - - - - - - - push dword Filename - -call _LoadGraphicsDriver - add esp, byte _LoadGraphicsDriver_arglen - test eax, eax - jz near .foundit - -.lastslashnotfound: - - mov edi, Filename - mov dword [edi], 'C:\v' - add edi, byte 3 - mov esi, VBEAFName - mov ecx, 10 - rep movsb - - - - - - - - - - push dword Filename - -call _LoadGraphicsDriver - add esp, byte _LoadGraphicsDriver_arglen - test eax, eax - jz .foundit - - - - - - - - - - - push dword VBEAFEnv - -call _getenv - add esp, byte _getenv_arglen - test eax, eax - jz near .error - - - mov ecx, 256 - mov esi, eax - mov edi, Filename -.envcopy: - mov al, [esi] - mov [edi], al - inc esi - inc edi - or al, al - jnz .envcopy - - - dec edi - cmp byte [edi], '/' - je .slashpresent - cmp byte [edi], '\' - je .slashpresent - mov byte [edi], '/' -.slashpresent: - - inc edi - mov esi, VBEAFName - mov ecx, 10 - rep movsb - - - - - - - - - - push dword Filename - -call _LoadGraphicsDriver - add esp, byte _LoadGraphicsDriver_arglen - test eax, eax - jz .foundit - - jmp .error -.foundit: - mov esi, [DriverOffset] - - - cmp dword [esi+AF_DRIVER.Signature], 'VBEA' - jne near .errorfree - cmp dword [esi+AF_DRIVER.Signature+4], 'F.DR' - jne near .errorfree - cmp byte [esi+AF_DRIVER.Signature+8], 'V' - jne near .errorfree - - - cmp word [esi+AF_DRIVER.Version], 0200h - jb near .errorfree - - - mov edi, [esi+AF_DRIVER.OemExt] - add edi, esi - push dword (('I'<<24) | ('N'<<16) | ('I'<<8) | 'T') - push esi - call edi - add esp, byte 8 - - - - cmp al, '0' - jb .noext - cmp al, '9' - ja .noext - cmp ah, '0' - jb .noext - cmp al, '9' - ja .noext - - and eax, 0FFFF0000h - cmp eax, (('E'<<24) | ('X'<<16) | (0<<8) | 0) - jne .noext - - - mov byte [FreeBEExt], 1 - - - push dword (('D'<<24) | ('I'<<16) | ('C'<<8) | 'L') - push esi - call [esi+AF_DRIVER.OemExt] - add esp, byte 8 - test eax, eax - jz .noext - - mov dword [eax], _DispatchCall - -.noext: - - - mov edi, [esi+AF_DRIVER.PlugAndPlayInit] - add edi, esi - mov ebx, esi - call edi - test eax, eax - jnz near .errorfree - - mov esi, [DriverOffset] - - - - - mov edi, [esi+AF_DRIVER.InitDriver] - add edi, esi - mov ebx, esi - call edi - test eax, eax - jnz near .errorfree - - mov esi, [DriverOffset] - - - cmp byte [FreeBEExt], 0 - jz .defaultkb - - - push dword (('K'<<24) | ('E'<<16) | ('Y'<<8) | 'S') - push esi - call [esi+AF_DRIVER.OemExt] - add esp, byte 8 - - - test eax, eax - jz .defaultkb - - - mov edi, eax - mov al, [edi+FAF_KEYBOARD_DATA.INT] - mov ebx, [ebp+.kbINT] - mov [ebx], al - mov al, [edi+FAF_KEYBOARD_DATA.IRQ] - mov ebx, [ebp+.kbIRQ] - mov [ebx], al - mov ax, [edi+FAF_KEYBOARD_DATA.Port] - mov ebx, [ebp+.kbPort] - mov [ebx], ax - - jmp short .retokay - -.defaultkb: - - mov edi, [ebp+.kbINT] - mov byte [edi], 9 - mov edi, [ebp+.kbIRQ] - mov byte [edi], 1 - mov edi, [ebp+.kbPort] - mov word [edi], 60h - -.retokay: - xor eax, eax - jmp short .done - -.errorfree: - mov eax, [DriverSize] - neg eax - - - - - - - - - push eax - -call ___sbrk - add esp, byte ___sbrk_arglen - mov dword [DriverOffset], 0 -.error: - xor eax, eax - inc eax -.done: - pop edi - pop esi - pop gs - pop fs - pop es - mov esp, ebp - pop ebp - ret - - - - - - - - - - - - - - - - - - -[global _ExitGraphics] -_ExitGraphics - - -call _UnsetGraphicsMode - - push es - push fs - push gs - mov gs, [_djgpp_gs] - mov fs, [_djgpp_fs] - mov es, [_djgpp_es] - push esi - - - mov esi, [DriverOffset] - test esi, esi - jz .notloaded - mov eax, [DriverSize] - neg eax - - - - - - - - - push eax - -call ___sbrk - add esp, byte ___sbrk_arglen - mov dword [DriverOffset], 0 -.notloaded: - - pop esi - pop gs - pop fs - pop es - ret - - - - - - - - - - -[global _FindGraphicsMode] -_FindGraphicsMode: push ebp - mov ebp, esp - -.Width equ 8 - - -.Height equ 10 - - -.Depth equ 12 - - -.Emulated equ 14 - - - - push es - push fs - push gs - mov gs, [_djgpp_gs] - mov fs, [_djgpp_fs] - mov es, [_djgpp_es] - push esi - push edi - - mov esi, [DriverOffset] - - - mov edi, [esi+AF_DRIVER.AvailableModes] -.modeloop: - cmp word [edi], -1 - je .notfound - - - push dword ModeInfo - push dword [edi] - push esi - call [esi+AF_DRIVER.GetVideoModeInfo] - add esp, byte 12 - test eax, eax - jnz .nextmode - - - mov ax, [ebp+.Width] - cmp [ModeInfo+AF_MODE_INFO.XResolution], ax - jne .nextmode - - mov ax, [ebp+.Height] - cmp [ModeInfo+AF_MODE_INFO.YResolution], ax - jne .nextmode - - mov ax, [ebp+.Depth] - cmp [ModeInfo+AF_MODE_INFO.BitsPerPixel], ax - jne .nextmode - - - mov eax, [ebp+.Emulated] - test eax, eax - jnz .foundit - - - mov eax, [ModeInfo+AF_MODE_INFO.VideoCapabilities] - cmp eax, (('E'<<24) | ('M'<<16) | ('U'<<8) | 'L') - jne .foundit - -.nextmode: - add edi, byte 2 - jmp short .modeloop - -.foundit: - movzx eax, word [edi] - jmp short .done -.notfound: - xor eax, eax -.done: - pop edi - pop esi - pop gs - pop fs - pop es - mov esp, ebp - pop ebp - ret - - - - - - - - - - - - - - - - - - -[global _SetGraphicsMode] -_SetGraphicsMode: push ebp - mov ebp, esp - -.Mode equ 8 - - - - push es - push fs - push gs - mov gs, [_djgpp_gs] - mov fs, [_djgpp_fs] - mov es, [_djgpp_es] - - mov eax, [DriverOffset] - xor ecx, ecx - push ecx - inc ecx - push ecx - push dword ModeInfo+AF_MODE_INFO.BytesPerScanLine - movzx ecx, word [ModeInfo+AF_MODE_INFO.YResolution] - push ecx - movzx ecx, word [ModeInfo+AF_MODE_INFO.XResolution] - push ecx - push dword [ebp+.Mode] - push eax - call [eax+AF_DRIVER.SetVideoMode] - add esp, byte 28 - - - mov byte [InGraphicsMode], 1 - - - - pop gs - pop fs - pop es - mov esp, ebp - pop ebp - ret - - - - - - - - - - - - - - - - - - -[global _UnsetGraphicsMode] -_UnsetGraphicsMode - - - cmp byte [InGraphicsMode], 0 - jz .notingraphics - - push es - push fs - push gs - mov gs, [_djgpp_gs] - mov fs, [_djgpp_fs] - mov es, [_djgpp_es] - push esi - push edi - - - mov esi, [DriverOffset] - - - mov edi, [esi+AF_DRIVER.EnableDirectAccess] - test edi, edi - jz .noEDA - push esi - call edi - add esp, byte 4 -.noEDA: - - mov edi, [esi+AF_DRIVER.WaitTillIdle] - test edi, edi - jz .noWTI - push esi - call edi - add esp, byte 4 -.noWTI: - - push esi - call [esi+AF_DRIVER.RestoreTextMode] - add esp, byte 4 - - - mov byte [InGraphicsMode], 0 - - pop edi - pop esi - pop gs - pop fs - pop es - -.notingraphics: - ret - - - - - - - - - - - - - - - - -[global _CopyToScreen] -_CopyToScreen: push ebp - mov ebp, esp - - -.Source equ 8 - - -.SourcePitch equ 12 - - -.SourceLeft equ 16 - - -.SourceTop equ 20 - - -.Width equ 24 - - -.Height equ 28 - - -.DestLeft equ 32 - - -.DestTop equ 36 - - - - push es - push fs - push gs - mov gs, [_djgpp_gs] - mov fs, [_djgpp_fs] - mov es, [_djgpp_es] - push esi - - mov esi, [DriverOffset] - cmp dword [esi+AF_DRIVER.BitBltSys], 0 - jz .NoBitBltSys - - - - push dword 0 - push dword [ebp+.DestTop] - push dword [ebp+.DestLeft] - push dword [ebp+.Height] - push dword [ebp+.Width] - push dword [ebp+.SourceTop] - push dword [ebp+.SourceLeft] - push dword [ebp+.SourcePitch] - push dword [ebp+.Source] - push esi - call [esi+AF_DRIVER.BitBltSys] - add esp, byte 40 - - -.NoBitBltSys: - - -.done: - pop esi - pop gs - pop fs - pop es - mov esp, ebp - pop ebp - ret - - - - - - - - - - - - - - - - - - - - - -[global _DispatchCall] -_DispatchCall: push ebp - mov ebp, esp - - -.Handle equ 8 - - -.Command equ 12 - - -.Data equ 16 - - - - push fs - push esi - - mov eax, ds - mov fs, eax - - mov eax, [ebp+.Command] - shl eax, 16 - mov ax, [ebp+.Handle] - clc - mov esi, [ebp+.Data] - db 0C4h, 0C4h, 058h, 002h - salc - movsx eax, al - - pop esi - pop fs - mov esp, ebp - pop ebp - ret - - - - - - - - - - - - diff --git a/tests/win32-relocovfl.asm b/tests/win32-relocovfl.asm deleted file mode 100644 index fc3cddb9..00000000 --- a/tests/win32-relocovfl.asm +++ /dev/null @@ -1,3 +0,0 @@ -extern foo -section .text -times 64*1024 dd foo diff --git a/tools/gencheck.py b/tools/gencheck.py deleted file mode 100755 index 6c25709e..00000000 --- a/tools/gencheck.py +++ /dev/null @@ -1,59 +0,0 @@ -#!/usr/bin/env python -# Generate expected binary hexdump output from specially formatted asm file. -# -# Copyright (C) 2009 Peter Johnson -# -# 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. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND OTHER 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 AUTHOR OR OTHER 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. - -def gen_expected(fout, fin): - count = 0 - for line in fin: - if not line: - continue - if line.startswith(';'): - continue - # extract portion after ; character - (insn, sep, comment) = line.partition(';') - if not sep: - continue # ; not found - # comment must be formatted as 2-char hex and/or 3-char octal bytes - # separated by spaces - bytes = [] - for byte in comment.split(): - if len(byte) == 2: - bytes.append(int(byte, 16)) - elif len(byte) == 3: - bytes.append(int(byte, 8)) - else: - break - for byte in bytes: - print >>fout, "%02x " % byte - count += 1 - print "Processed %d instructions" % count - - -if __name__ == "__main__": - import sys - if len(sys.argv) != 3: - print >>sys.stderr, "Usage: gencheck.py <in.asm> <out.hex>" - sys.exit(2) - gen_expected(open(sys.argv[2], "w"), open(sys.argv[1], "r")) diff --git a/tools/genperf/perfect.c b/tools/genperf/perfect.c index 7cd68678..a9a14c02 100644 --- a/tools/genperf/perfect.c +++ b/tools/genperf/perfect.c @@ -750,6 +750,7 @@ static void initalen( case 0: *alen = 1; *blen = 1; + break; case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: *alen = (form->perfect == NORMAL_HP) ? *smax : *smax/2; *blen = *smax/2; diff --git a/tools/python-yasm/pyxelator/TODO b/tools/python-yasm/pyxelator/TODO deleted file mode 100644 index cfe1e184..00000000 --- a/tools/python-yasm/pyxelator/TODO +++ /dev/null @@ -1,16 +0,0 @@ - -pyxelator TODO: -=============== - -.) callback functions: these are working but it needs to be thought out some more. Exceptions are not propagated from callbacks. -.) no nice module structure: it's all in one fat module. -.) extern symbols and macros are a little tricky to wrap, some have been hardcoded (!!) in petscmacros.py. -.) type checking -.) upcasting -.) adapt system memory usage audit: record and check every malloc/free/memcpy/memcmp - and every memory access using those nasty void* pointers - -21/10/05 - - - diff --git a/tools/xdf/xdf.h b/tools/xdf/xdf.h deleted file mode 100644 index e2150d25..00000000 --- a/tools/xdf/xdf.h +++ /dev/null @@ -1,127 +0,0 @@ -/* XDF - Extended Dynamic Object Format */ -/* Version 2.0 */ - -/* FILE HEADER */ -/* SECTION HEADERS [] */ -/* SYMBOL TABLE [] */ -/* STRINGS */ -/* */ -/* SECTION DATA */ -/* SECTION REL [] */ -/* */ -/* SECTION DATA */ -/* SECTION REL [] */ -/* */ -/* ... */ - -#ifndef XDF_H_INCLUDED -#define XDF_H_INCLUDED - -#include <stdint.h> - -typedef uint8_t u8; -typedef uint16_t u16; -typedef uint32_t u32; -typedef uint64_t u64; - -typedef enum { - - XDF_MAGIC = 0x87654322 - -} xdf_magic; - - -typedef enum { - - XDF_SECT_ABSOLUTE = 0x01, /* Segment has an absolute offset */ - XDF_SECT_FLAT = 0x02, /* Data displacements relative to 0, otherwise relative to segment */ - XDF_SECT_BSS = 0x04, /* Segment has no data */ - - XDF_SECT_USE_16 = 0x10, - XDF_SECT_USE_32 = 0x20, - XDF_SECT_USE_64 = 0x40, - -} xdf_sect_flags; - -typedef enum { - - XDF_SYM_EXTERN = 1, /* External Symbol */ - XDF_SYM_GLOBAL = 2, /* Global Symbol */ - XDF_SYM_EQU = 4, /* EQUate Symbol (value, not address) */ - -} xdf_sym_flags; - -typedef enum { - - XDF_RELOC_REL = 1, /* DISP = ADDRESS - SEGMENT (Relative to a segment) */ - XDF_RELOC_WRT = 2, /* DISP = ADDRESS - SYMBOL (Relative to a symbol) */ - XDF_RELOC_RIP = 4, /* DISP = ADDRESS - RIP - RELOC_SIZE (Relative to end of an instruction) */ - XDF_RELOC_SEG = 8, /* DISP = SEGMENT/SELECTOR OF SYMBOL (Not symbol itself, but which segment it's in) */ - -} xdf_rtype; - -typedef enum { - - XDF_RELOC_8 = 1, - XDF_RELOC_16 = 2, - XDF_RELOC_32 = 4, - XDF_RELOC_64 = 8, - -} xdf_rsize; - - -typedef struct { /* 16 bytes */ - - u32 f_magic; /* magic number */ - u32 f_nsect; /* number of sections */ - u32 f_nsyms; /* number of symtab entries */ - u32 f_size; /* size of sect headers + symbol table + strings */ - -} FILE_HEADER; - -#define FILE_HEADER_SIZE (4+4+4+4) - -typedef struct { /* 40 bytes */ - - u32 s_name_idx; /* section name in symtab */ - u64 s_addr; /* physical address */ - u64 s_vaddr; /* virtual address */ - u16 s_align; /* section alignment (0 ... 4096) */ - u16 s_flags; /* flags */ - - u32 s_data_off; /* file offset to section data */ - u32 s_data_size; /* section data size */ - u32 s_reltab_off; /* file offset to relocation table */ - u32 s_num_reloc; /* number of relocations entries */ - -} SECTION_HEADER; - -#define SECTION_HEADER_SIZE (4+8+8+2+2+4+4+4+4) - -typedef struct { /* 16 bytes */ - - u32 e_sect_idx; /* section index to which symbol belongs (-1 = EXTERN) */ - u32 e_sect_off; /* symbol offset into section data */ - u32 e_name_off; /* file offset to null terminated strings */ - u32 e_flags; /* EXTERN, GLOBAL */ - -} SYMBOL_ENTRY; - -#define SYMBOL_ENTRY_SIZE (4+4+4+4) - -typedef struct { /* 16 bytes */ - - u32 r_off; /* offset into current section */ - u32 r_targ_idx; /* target symbol */ - u32 r_base_idx; /* base symbol if WRT */ - u8 r_type; /* type of relocation (ABS,SEG,RIP,WRT) */ - u8 r_size; /* size of relocation (1,2,4,8) */ - u8 r_shift; /* relocation shift (0,4,8,16,24,32) */ - u8 r_flags; - -} RELOCATION_ENTRY; - - -#endif /* XDF_H_INCLUDED */ - - diff --git a/tools/xdf/xdfdump.c b/tools/xdf/xdfdump.c deleted file mode 100644 index 8d3df212..00000000 --- a/tools/xdf/xdfdump.c +++ /dev/null @@ -1,249 +0,0 @@ -/* - * Extended Dynamic Object format dumper - * - * Copyright (C) 2004-2007 Peter Johnson - * - * 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. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND OTHER 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 AUTHOR OR OTHER 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. - */ -#include <stdio.h> -#include <stdlib.h> - -#include "xdf.h" - -void -print_file_header(const FILE_HEADER *filehead) -{ - printf("File Header:\n"); - printf("\tMagic=0x%08X\n", filehead->f_magic); - printf("\tNumber of Sections=%d\n", filehead->f_nsect); - printf("\tNumber of Symbols=%d\n", filehead->f_nsyms); - printf("\tTotal Headers Size=%d\n", filehead->f_size); -} - -void -read_syment(SYMBOL_ENTRY *syment, FILE *f) -{ - fread(&syment->e_sect_idx, sizeof(syment->e_sect_idx), 1, f); - fread(&syment->e_sect_off, sizeof(syment->e_sect_off), 1, f); - fread(&syment->e_name_off, sizeof(syment->e_name_off), 1, f); - fread(&syment->e_flags, sizeof(syment->e_flags), 1, f); -} - -const char * -get_syment_name(const SYMBOL_ENTRY *syment, FILE *f) -{ - static char symname[256]; - long oldpos = ftell(f); - fseek(f, syment->e_name_off, SEEK_SET); - fread(symname, 256, 1, f); - symname[255] = '\0'; - fseek(f, oldpos, SEEK_SET); - return symname; -} - -const char * -get_sym_name(u32 idx, FILE *f, size_t symtab_off) -{ - SYMBOL_ENTRY syment; - long oldpos = ftell(f); - fseek(f, symtab_off+idx*SYMBOL_ENTRY_SIZE, SEEK_SET); - read_syment(&syment, f); - fseek(f, oldpos, SEEK_SET); - return get_syment_name(&syment, f); -} - -const char * -get_sect_name(u32 idx, FILE *f, size_t symtab_off, size_t secttab_off) -{ - SECTION_HEADER secthead; - long oldpos = ftell(f); - fseek(f, secttab_off+idx*SECTION_HEADER_SIZE, SEEK_SET); - fread(§head.s_name_idx, sizeof(secthead.s_name_idx), 1, f); - fseek(f, oldpos, SEEK_SET); - return get_sym_name(secthead.s_name_idx, f, symtab_off); -} - -void -print_symbol(const SYMBOL_ENTRY *syment, FILE *f, size_t symtab_off, - size_t secttab_off) -{ - int first = 1; - printf("\tOffset=0x%08X Flags=", syment->e_sect_off); - if (syment->e_flags & XDF_SYM_EXTERN) - printf("%sEXTERN", first-->0?"":"|"); - if (syment->e_flags & XDF_SYM_GLOBAL) - printf("%sGLOBAL", first-->0?"":"|"); - if (syment->e_flags & XDF_SYM_EQU) - printf("%sEQU", first-->0?"":"|"); - if (first>0) - printf("None"); - printf(" Name=`%s' Section=", get_syment_name(syment, f)); - if (syment->e_sect_idx >= 0x80000000) - printf("%d\n", syment->e_sect_idx); - else - printf("`%s' (%d)\n", - get_sect_name(syment->e_sect_idx, f, symtab_off, secttab_off), - syment->e_sect_idx); -} - -void -print_reloc(const RELOCATION_ENTRY *relocent, FILE *f, size_t symtab_off) -{ - const char *type = "UNK"; - switch (relocent->r_type) { - case XDF_RELOC_REL: - type = "REL"; - break; - case XDF_RELOC_WRT: - type = "WRT"; - break; - case XDF_RELOC_RIP: - type = "RIP"; - break; - case XDF_RELOC_SEG: - type = "SEG"; - break; - } - printf("\t Offset=0x%08X Type=%s Size=%d Shift=%d Target=`%s' (%d)", - relocent->r_off, type, relocent->r_size, relocent->r_shift, - get_sym_name(relocent->r_targ_idx, f, symtab_off), - relocent->r_targ_idx); - if (relocent->r_type == XDF_RELOC_WRT) - printf(" Base=`%s' (%d)", - get_sym_name(relocent->r_base_idx, f, symtab_off), - relocent->r_base_idx); - printf("\n"); -} - -void -print_section(const SECTION_HEADER *secthead, FILE *f, size_t symtab_off) -{ - int first = 1; - u32 i; - printf("Section `%s' (section name symtab %d):\n", - get_sym_name(secthead->s_name_idx, f, symtab_off), - secthead->s_name_idx); - printf("\tPhysical Address=0x%016llX\n", secthead->s_addr); - printf("\tVirtual Address=0x%016llX\n", secthead->s_vaddr); - printf("\tAlign=%d\n", secthead->s_align); - printf("\tFlags="); - if (secthead->s_flags & XDF_SECT_ABSOLUTE) - printf("%sABSOLUTE", first-->0?"":"|"); - if (secthead->s_flags & XDF_SECT_FLAT) - printf("%sFLAT", first-->0?"":"|"); - if (secthead->s_flags & XDF_SECT_BSS) - printf("%sBSS", first-->0?"":"|"); - if (secthead->s_flags & XDF_SECT_USE_16) - printf("%sUSE16", first-->0?"":"|"); - if (secthead->s_flags & XDF_SECT_USE_32) - printf("%sUSE32", first-->0?"":"|"); - if (secthead->s_flags & XDF_SECT_USE_64) - printf("%sUSE64", first-->0?"":"|"); - if (first>0) - printf("None"); - printf("\n\tData Offset=0x%08X\n", secthead->s_data_off); - printf("\tData Size=%d\n", secthead->s_data_size); - if (!(secthead->s_flags & XDF_SECT_BSS) && secthead->s_data_size > 0) { - printf("\tSection Data:"); - long oldpos = ftell(f); - fseek(f, secthead->s_data_off, SEEK_SET); - for (i=0; i<secthead->s_data_size; i++) { - if (i % 16 == 0) - printf("\n\t\t%08X:", i); - if (i % 2 == 0) - printf(" "); - printf("%02X", fgetc(f)); - } - printf("\n"); - fseek(f, oldpos, SEEK_SET); - } - printf("\tReloc Table Offset=0x%08X\n", secthead->s_reltab_off); - printf("\tNum Relocs=%d\n", secthead->s_num_reloc); - if (secthead->s_num_reloc > 0) { - printf("\tRelocations:\n"); - long oldpos = ftell(f); - fseek(f, secthead->s_reltab_off, SEEK_SET); - for (i=0; i<secthead->s_num_reloc; i++) { - RELOCATION_ENTRY relocent; - fread(&relocent, sizeof(relocent), 1, f); - print_reloc(&relocent, f, symtab_off); - } - fseek(f, oldpos, SEEK_SET); - } -} - -int -main(int argc, char **argv) -{ - FILE *f; - FILE_HEADER filehead; - size_t symtab_off; - u32 i; - - if (argc != 2) { - fprintf(stderr, "Usage: %s <xdf>\n", argv[0]); - return EXIT_FAILURE; - } - - f = fopen(argv[1], "rb"); - if (!f) { - fprintf(stderr, "Could not open `%s'\n", argv[1]); - return EXIT_FAILURE; - } - - fread(&filehead.f_magic, sizeof(filehead.f_magic), 1, f); - fread(&filehead.f_nsect, sizeof(filehead.f_nsect), 1, f); - fread(&filehead.f_nsyms, sizeof(filehead.f_nsyms), 1, f); - fread(&filehead.f_size, sizeof(filehead.f_size), 1, f); - - if (filehead.f_magic != XDF_MAGIC) { - fprintf(stderr, "Magic number mismatch (expected %08X, got %08X\n", - XDF_MAGIC, filehead.f_magic); - return EXIT_FAILURE; - } - - print_file_header(&filehead); - symtab_off = FILE_HEADER_SIZE+filehead.f_nsect*SECTION_HEADER_SIZE; - for (i=0; i<filehead.f_nsect; i++) { - SECTION_HEADER secthead; - fread(§head.s_name_idx, sizeof(secthead.s_name_idx), 1, f); - fread(§head.s_addr, sizeof(secthead.s_addr), 1, f); - fread(§head.s_vaddr, sizeof(secthead.s_vaddr), 1, f); - fread(§head.s_align, sizeof(secthead.s_align), 1, f); - fread(§head.s_flags, sizeof(secthead.s_flags), 1, f); - fread(§head.s_data_off, sizeof(secthead.s_data_off), 1, f); - fread(§head.s_data_size, sizeof(secthead.s_data_size), 1, f); - fread(§head.s_reltab_off, sizeof(secthead.s_reltab_off), 1, f); - fread(§head.s_num_reloc, sizeof(secthead.s_num_reloc), 1, f); - print_section(§head, f, symtab_off); - } - - printf("Symbol Table:\n"); - for (i=0; i<filehead.f_nsyms; i++) { - SYMBOL_ENTRY syment; - read_syment(&syment, f); - print_symbol(&syment, f, symtab_off, sizeof(FILE_HEADER)); - } - - return EXIT_SUCCESS; -} - diff --git a/version b/version new file mode 100644 index 00000000..f0bb29e7 --- /dev/null +++ b/version @@ -0,0 +1 @@ +1.3.0 diff --git a/x86insn_gas.gperf b/x86insn_gas.gperf new file mode 100644 index 00000000..c02358b7 --- /dev/null +++ b/x86insn_gas.gperf @@ -0,0 +1,2081 @@ +/* Generated by gen_x86_insn.py rHEAD, do not edit */ +%ignore-case +%language=ANSI-C +%compare-strncmp +%readonly-tables +%enum +%struct-type +%define hash-function-name insnprefix_gas_hash +%define lookup-function-name insnprefix_gas_find +struct insnprefix_parse_data; +%% +aaa, onebyte_insn, 1, SUF_Z, 0x37, 0, 0, NOT_64, 0, 0, 0 +aad, aadm_insn, 2, SUF_Z, 0x01, 0, 0, NOT_64, 0, 0, 0 +aam, aadm_insn, 2, SUF_Z, 0x00, 0, 0, NOT_64, 0, 0, 0 +aas, onebyte_insn, 1, SUF_Z, 0x3F, 0, 0, NOT_64, 0, 0, 0 +adc, arith_insn, 22, SUF_Z, 0x10, 0x02, 0, 0, 0, 0, 0 +adcb, arith_insn, 22, SUF_B, 0x10, 0x02, 0, 0, 0, 0, 0 +adcl, arith_insn, 22, SUF_L, 0x10, 0x02, 0, 0, CPU_386, 0, 0 +adcq, arith_insn, 22, SUF_Q, 0x10, 0x02, 0, ONLY_64, 0, 0, 0 +adcw, arith_insn, 22, SUF_W, 0x10, 0x02, 0, 0, 0, 0, 0 +adcx, vex_gpr_ndd_rm_0F38_insn, 2, SUF_Z, 0x66, 0xF6, 0, 0, CPU_ADX, 0, 0 +adcxl, vex_gpr_ndd_rm_0F38_insn, 2, SUF_L, 0x66, 0xF6, 0, 0, CPU_ADX, 0, 0 +adcxq, vex_gpr_ndd_rm_0F38_insn, 2, SUF_Q, 0x66, 0xF6, 0, ONLY_64, CPU_ADX, 0, 0 +add, arith_insn, 22, SUF_Z, 0x00, 0x00, 0, 0, 0, 0, 0 +addb, arith_insn, 22, SUF_B, 0x00, 0x00, 0, 0, 0, 0, 0 +addl, arith_insn, 22, SUF_L, 0x00, 0x00, 0, 0, CPU_386, 0, 0 +addpd, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x58, 0, 0, CPU_SSE2, 0, 0 +addps, xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x58, 0, 0, CPU_SSE, 0, 0 +addq, arith_insn, 22, SUF_Q, 0x00, 0x00, 0, ONLY_64, 0, 0, 0 +addr16, NULL, X86_ADDRSIZE>>8, 0x10, 0, 0, 0, 0, 0, 0, 0 +addr32, NULL, X86_ADDRSIZE>>8, 0x20, 0, 0, 0, 0, 0, 0, 0 +addr64, NULL, X86_ADDRSIZE>>8, 0x40, 0, 0, 0, ONLY_64, 0, 0, 0 +addsd, xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x58, 0, 0, CPU_SSE2, 0, 0 +addss, xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x58, 0, 0, CPU_SSE, 0, 0 +addsubpd, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0xD0, 0, 0, CPU_SSE3, 0, 0 +addsubps, xmm_xmm128_insn, 2, SUF_Z, 0xF2, 0xD0, 0, 0, CPU_SSE3, 0, 0 +addw, arith_insn, 22, SUF_W, 0x00, 0x00, 0, 0, 0, 0, 0 +adox, vex_gpr_ndd_rm_0F38_insn, 2, SUF_Z, 0xF3, 0xF6, 0, 0, CPU_ADX, 0, 0 +adoxl, vex_gpr_ndd_rm_0F38_insn, 2, SUF_L, 0xF3, 0xF6, 0, 0, CPU_ADX, 0, 0 +adoxq, vex_gpr_ndd_rm_0F38_insn, 2, SUF_Q, 0xF3, 0xF6, 0, ONLY_64, CPU_ADX, 0, 0 +adword, NULL, X86_ADDRSIZE>>8, 0x20, 0, 0, 0, 0, 0, 0, 0 +aesdec, aes_insn, 2, SUF_Z, 0x38, 0xDE, 0, 0, CPU_AVX, 0, 0 +aesdeclast, aes_insn, 2, SUF_Z, 0x38, 0xDF, 0, 0, CPU_AVX, 0, 0 +aesenc, aes_insn, 2, SUF_Z, 0x38, 0xDC, 0, 0, CPU_AVX, 0, 0 +aesenclast, aes_insn, 2, SUF_Z, 0x38, 0xDD, 0, 0, CPU_AVX, 0, 0 +aesimc, aesimc_insn, 1, SUF_Z, 0x38, 0xDB, 0, 0, CPU_AES, 0, 0 +aeskeygenassist, aes_imm_insn, 1, SUF_Z, 0x3A, 0xDF, 0, 0, CPU_AES, 0, 0 +and, arith_insn, 22, SUF_Z, 0x20, 0x04, 0, 0, 0, 0, 0 +andb, arith_insn, 22, SUF_B, 0x20, 0x04, 0, 0, 0, 0, 0 +andl, arith_insn, 22, SUF_L, 0x20, 0x04, 0, 0, CPU_386, 0, 0 +andn, vex_gpr_reg_nds_rm_0F_insn, 2, SUF_Z, 0x00, 0x38, 0xF2, ONLY_AVX, CPU_BMI1, 0, 0 +andnl, vex_gpr_reg_nds_rm_0F_insn, 2, SUF_L, 0x00, 0x38, 0xF2, ONLY_AVX, CPU_BMI1, 0, 0 +andnpd, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x55, 0, 0, CPU_SSE2, 0, 0 +andnps, xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x55, 0, 0, CPU_SSE, 0, 0 +andnq, vex_gpr_reg_nds_rm_0F_insn, 2, SUF_Q, 0x00, 0x38, 0xF2, ONLY_64|ONLY_AVX, CPU_BMI1, 0, 0 +andpd, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x54, 0, 0, CPU_SSE2, 0, 0 +andps, xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x54, 0, 0, CPU_SSE, 0, 0 +andq, arith_insn, 22, SUF_Q, 0x20, 0x04, 0, ONLY_64, 0, 0, 0 +andw, arith_insn, 22, SUF_W, 0x20, 0x04, 0, 0, 0, 0, 0 +aqword, NULL, X86_ADDRSIZE>>8, 0x40, 0, 0, 0, ONLY_64, 0, 0, 0 +arpl, arpl_insn, 1, SUF_Z, 0, 0, 0, NOT_64, CPU_286, CPU_Prot, 0 +arplw, arpl_insn, 1, SUF_W, 0, 0, 0, NOT_64, CPU_286, CPU_Prot, 0 +aword, NULL, X86_ADDRSIZE>>8, 0x10, 0, 0, 0, 0, 0, 0, 0 +bextr, bextr_insn, 4, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_386, CPU_BMI1, 0 +bextrl, bextr_insn, 4, SUF_L, 0, 0, 0, ONLY_AVX, CPU_386, CPU_BMI1, 0 +bextrq, bextr_insn, 4, SUF_Q, 0, 0, 0, ONLY_64|ONLY_AVX, CPU_BMI1, 0, 0 +blcfill, xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x01, 0x01, 0, 0, CPU_386, CPU_TBM, 0 +blcfilll, xop_gpr_reg_rm_09_insn, 2, SUF_L, 0x01, 0x01, 0, 0, CPU_386, CPU_TBM, 0 +blcfillq, xop_gpr_reg_rm_09_insn, 2, SUF_Q, 0x01, 0x01, 0, ONLY_64, CPU_TBM, 0, 0 +blci, xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x02, 0x06, 0, 0, CPU_386, CPU_TBM, 0 +blcic, xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x01, 0x05, 0, 0, CPU_386, CPU_TBM, 0 +blcicl, xop_gpr_reg_rm_09_insn, 2, SUF_L, 0x01, 0x05, 0, 0, CPU_386, CPU_TBM, 0 +blcicq, xop_gpr_reg_rm_09_insn, 2, SUF_Q, 0x01, 0x05, 0, ONLY_64, CPU_TBM, 0, 0 +blcil, xop_gpr_reg_rm_09_insn, 2, SUF_L, 0x02, 0x06, 0, 0, CPU_386, CPU_TBM, 0 +blciq, xop_gpr_reg_rm_09_insn, 2, SUF_Q, 0x02, 0x06, 0, ONLY_64, CPU_TBM, 0, 0 +blcmsk, xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x02, 0x01, 0, 0, CPU_386, CPU_TBM, 0 +blcmskl, xop_gpr_reg_rm_09_insn, 2, SUF_L, 0x02, 0x01, 0, 0, CPU_386, CPU_TBM, 0 +blcmskq, xop_gpr_reg_rm_09_insn, 2, SUF_Q, 0x02, 0x01, 0, ONLY_64, CPU_TBM, 0, 0 +blcs, xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x01, 0x03, 0, 0, CPU_386, CPU_TBM, 0 +blcsl, xop_gpr_reg_rm_09_insn, 2, SUF_L, 0x01, 0x03, 0, 0, CPU_386, CPU_TBM, 0 +blcsq, xop_gpr_reg_rm_09_insn, 2, SUF_Q, 0x01, 0x03, 0, ONLY_64, CPU_TBM, 0, 0 +blendpd, sse4imm_insn, 2, SUF_Z, 0x0D, 0, 0, 0, CPU_SSE41, 0, 0 +blendps, sse4imm_insn, 2, SUF_Z, 0x0C, 0, 0, 0, CPU_SSE41, 0, 0 +blendvpd, sse4xmm0_insn, 2, SUF_Z, 0x15, 0, 0, 0, CPU_SSE41, 0, 0 +blendvps, sse4xmm0_insn, 2, SUF_Z, 0x14, 0, 0, 0, CPU_SSE41, 0, 0 +blsfill, xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x01, 0x02, 0, 0, CPU_386, CPU_TBM, 0 +blsfilll, xop_gpr_reg_rm_09_insn, 2, SUF_L, 0x01, 0x02, 0, 0, CPU_386, CPU_TBM, 0 +blsfillq, xop_gpr_reg_rm_09_insn, 2, SUF_Q, 0x01, 0x02, 0, ONLY_64, CPU_TBM, 0, 0 +blsi, vex_gpr_ndd_rm_0F38_regext_insn, 2, SUF_Z, 0x00, 0xF3, 0x03, ONLY_AVX, CPU_BMI1, 0, 0 +blsic, xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x01, 0x06, 0, 0, CPU_386, CPU_TBM, 0 +blsicl, xop_gpr_reg_rm_09_insn, 2, SUF_L, 0x01, 0x06, 0, 0, CPU_386, CPU_TBM, 0 +blsicq, xop_gpr_reg_rm_09_insn, 2, SUF_Q, 0x01, 0x06, 0, ONLY_64, CPU_TBM, 0, 0 +blsil, vex_gpr_ndd_rm_0F38_regext_insn, 2, SUF_L, 0x00, 0xF3, 0x03, ONLY_AVX, CPU_BMI1, 0, 0 +blsiq, vex_gpr_ndd_rm_0F38_regext_insn, 2, SUF_Q, 0x00, 0xF3, 0x03, ONLY_64|ONLY_AVX, CPU_BMI1, 0, 0 +blsmsk, vex_gpr_ndd_rm_0F38_regext_insn, 2, SUF_Z, 0x00, 0xF3, 0x02, ONLY_AVX, CPU_BMI1, 0, 0 +blsmskl, vex_gpr_ndd_rm_0F38_regext_insn, 2, SUF_L, 0x00, 0xF3, 0x02, ONLY_AVX, CPU_BMI1, 0, 0 +blsmskq, vex_gpr_ndd_rm_0F38_regext_insn, 2, SUF_Q, 0x00, 0xF3, 0x02, ONLY_64|ONLY_AVX, CPU_BMI1, 0, 0 +blsr, vex_gpr_ndd_rm_0F38_regext_insn, 2, SUF_Z, 0x00, 0xF3, 0x01, ONLY_AVX, CPU_BMI1, 0, 0 +blsrl, vex_gpr_ndd_rm_0F38_regext_insn, 2, SUF_L, 0x00, 0xF3, 0x01, ONLY_AVX, CPU_BMI1, 0, 0 +blsrq, vex_gpr_ndd_rm_0F38_regext_insn, 2, SUF_Q, 0x00, 0xF3, 0x01, ONLY_64|ONLY_AVX, CPU_BMI1, 0, 0 +bound, bound_insn, 2, SUF_Z, 0, 0, 0, NOT_64, CPU_186, 0, 0 +boundl, bound_insn, 2, SUF_L, 0, 0, 0, NOT_64, CPU_386, 0, 0 +boundw, bound_insn, 2, SUF_W, 0, 0, 0, NOT_64, CPU_186, 0, 0 +bsf, bsfr_insn, 3, SUF_Z, 0xBC, 0, 0, 0, CPU_386, 0, 0 +bsfl, bsfr_insn, 3, SUF_L, 0xBC, 0, 0, 0, CPU_386, 0, 0 +bsfq, bsfr_insn, 3, SUF_Q, 0xBC, 0, 0, ONLY_64, CPU_386, 0, 0 +bsfw, bsfr_insn, 3, SUF_W, 0xBC, 0, 0, 0, CPU_386, 0, 0 +bsr, bsfr_insn, 3, SUF_Z, 0xBD, 0, 0, 0, CPU_386, 0, 0 +bsrl, bsfr_insn, 3, SUF_L, 0xBD, 0, 0, 0, CPU_386, 0, 0 +bsrq, bsfr_insn, 3, SUF_Q, 0xBD, 0, 0, ONLY_64, CPU_386, 0, 0 +bsrw, bsfr_insn, 3, SUF_W, 0xBD, 0, 0, 0, CPU_386, 0, 0 +bswap, bswap_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_486, 0, 0 +bswapl, bswap_insn, 2, SUF_L, 0, 0, 0, 0, CPU_486, 0, 0 +bswapq, bswap_insn, 2, SUF_Q, 0, 0, 0, ONLY_64, 0, 0, 0 +bt, bittest_insn, 6, SUF_Z, 0xA3, 0x04, 0, 0, CPU_386, 0, 0 +btc, bittest_insn, 6, SUF_Z, 0xBB, 0x07, 0, 0, CPU_386, 0, 0 +btcl, bittest_insn, 6, SUF_L, 0xBB, 0x07, 0, 0, CPU_386, 0, 0 +btcq, bittest_insn, 6, SUF_Q, 0xBB, 0x07, 0, ONLY_64, CPU_386, 0, 0 +btcw, bittest_insn, 6, SUF_W, 0xBB, 0x07, 0, 0, CPU_386, 0, 0 +btl, bittest_insn, 6, SUF_L, 0xA3, 0x04, 0, 0, CPU_386, 0, 0 +btq, bittest_insn, 6, SUF_Q, 0xA3, 0x04, 0, ONLY_64, CPU_386, 0, 0 +btr, bittest_insn, 6, SUF_Z, 0xB3, 0x06, 0, 0, CPU_386, 0, 0 +btrl, bittest_insn, 6, SUF_L, 0xB3, 0x06, 0, 0, CPU_386, 0, 0 +btrq, bittest_insn, 6, SUF_Q, 0xB3, 0x06, 0, ONLY_64, CPU_386, 0, 0 +btrw, bittest_insn, 6, SUF_W, 0xB3, 0x06, 0, 0, CPU_386, 0, 0 +bts, bittest_insn, 6, SUF_Z, 0xAB, 0x05, 0, 0, CPU_386, 0, 0 +btsl, bittest_insn, 6, SUF_L, 0xAB, 0x05, 0, 0, CPU_386, 0, 0 +btsq, bittest_insn, 6, SUF_Q, 0xAB, 0x05, 0, ONLY_64, CPU_386, 0, 0 +btsw, bittest_insn, 6, SUF_W, 0xAB, 0x05, 0, 0, CPU_386, 0, 0 +btw, bittest_insn, 6, SUF_W, 0xA3, 0x04, 0, 0, CPU_386, 0, 0 +bzhi, vex_gpr_reg_rm_nds_0F_insn, 2, SUF_Z, 0x00, 0x38, 0xF5, ONLY_AVX, CPU_BMI2, 0, 0 +bzhil, vex_gpr_reg_rm_nds_0F_insn, 2, SUF_L, 0x00, 0x38, 0xF5, ONLY_AVX, CPU_BMI2, 0, 0 +bzhiq, vex_gpr_reg_rm_nds_0F_insn, 2, SUF_Q, 0x00, 0x38, 0xF5, ONLY_64|ONLY_AVX, CPU_BMI2, 0, 0 +call, call_insn, 30, SUF_Z, 0, 0, 0, 0, 0, 0, 0 +calll, call_insn, 30, SUF_L, 0, 0, 0, 0, CPU_386, 0, 0 +callq, call_insn, 30, SUF_Q, 0, 0, 0, ONLY_64, 0, 0, 0 +callw, call_insn, 30, SUF_W, 0, 0, 0, 0, 0, 0, 0 +cbtw, onebyte_insn, 1, SUF_Z, 0x98, 0x10, 0, 0, 0, 0, 0 +cbw, onebyte_insn, 1, SUF_Z, 0x98, 0x10, 0, 0, 0, 0, 0 +cdq, onebyte_insn, 1, SUF_Z, 0x99, 0x20, 0, 0, CPU_386, 0, 0 +cdqe, onebyte_insn, 1, SUF_Z, 0x98, 0x40, 0, ONLY_64, 0, 0, 0 +clac, threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xCA, 0, CPU_SMAP, 0, 0 +clc, onebyte_insn, 1, SUF_Z, 0xF8, 0, 0, 0, 0, 0, 0 +cld, onebyte_insn, 1, SUF_Z, 0xFC, 0, 0, 0, 0, 0, 0 +clflush, clflush_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_P3, 0, 0 +clgi, threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xDD, 0, CPU_SVM, 0, 0 +cli, onebyte_insn, 1, SUF_Z, 0xFA, 0, 0, 0, 0, 0, 0 +cltd, onebyte_insn, 1, SUF_Z, 0x99, 0x20, 0, 0, CPU_386, 0, 0 +cltq, onebyte_insn, 1, SUF_Z, 0x98, 0x40, 0, ONLY_64, 0, 0, 0 +clts, twobyte_insn, 1, SUF_Z, 0x0F, 0x06, 0, 0, CPU_286, CPU_Priv, 0 +cmc, onebyte_insn, 1, SUF_Z, 0xF5, 0, 0, 0, 0, 0, 0 +cmova, cmovcc_insn, 3, SUF_Z, 0x07, 0, 0, 0, CPU_686, 0, 0 +cmovae, cmovcc_insn, 3, SUF_Z, 0x03, 0, 0, 0, CPU_686, 0, 0 +cmovael, cmovcc_insn, 3, SUF_L, 0x03, 0, 0, 0, CPU_686, 0, 0 +cmovaeq, cmovcc_insn, 3, SUF_Q, 0x03, 0, 0, ONLY_64, CPU_686, 0, 0 +cmovaew, cmovcc_insn, 3, SUF_W, 0x03, 0, 0, 0, CPU_686, 0, 0 +cmoval, cmovcc_insn, 3, SUF_L, 0x07, 0, 0, 0, CPU_686, 0, 0 +cmovaq, cmovcc_insn, 3, SUF_Q, 0x07, 0, 0, ONLY_64, CPU_686, 0, 0 +cmovaw, cmovcc_insn, 3, SUF_W, 0x07, 0, 0, 0, CPU_686, 0, 0 +cmovb, cmovcc_insn, 3, SUF_Z, 0x02, 0, 0, 0, CPU_686, 0, 0 +cmovbe, cmovcc_insn, 3, SUF_Z, 0x06, 0, 0, 0, CPU_686, 0, 0 +cmovbel, cmovcc_insn, 3, SUF_L, 0x06, 0, 0, 0, CPU_686, 0, 0 +cmovbeq, cmovcc_insn, 3, SUF_Q, 0x06, 0, 0, ONLY_64, CPU_686, 0, 0 +cmovbew, cmovcc_insn, 3, SUF_W, 0x06, 0, 0, 0, CPU_686, 0, 0 +cmovbl, cmovcc_insn, 3, SUF_L, 0x02, 0, 0, 0, CPU_686, 0, 0 +cmovbq, cmovcc_insn, 3, SUF_Q, 0x02, 0, 0, ONLY_64, CPU_686, 0, 0 +cmovbw, cmovcc_insn, 3, SUF_W, 0x02, 0, 0, 0, CPU_686, 0, 0 +cmovc, cmovcc_insn, 3, SUF_Z, 0x02, 0, 0, 0, CPU_686, 0, 0 +cmovcl, cmovcc_insn, 3, SUF_L, 0x02, 0, 0, 0, CPU_686, 0, 0 +cmovcq, cmovcc_insn, 3, SUF_Q, 0x02, 0, 0, ONLY_64, CPU_686, 0, 0 +cmovcw, cmovcc_insn, 3, SUF_W, 0x02, 0, 0, 0, CPU_686, 0, 0 +cmove, cmovcc_insn, 3, SUF_Z, 0x04, 0, 0, 0, CPU_686, 0, 0 +cmovel, cmovcc_insn, 3, SUF_L, 0x04, 0, 0, 0, CPU_686, 0, 0 +cmoveq, cmovcc_insn, 3, SUF_Q, 0x04, 0, 0, ONLY_64, CPU_686, 0, 0 +cmovew, cmovcc_insn, 3, SUF_W, 0x04, 0, 0, 0, CPU_686, 0, 0 +cmovg, cmovcc_insn, 3, SUF_Z, 0x0F, 0, 0, 0, CPU_686, 0, 0 +cmovge, cmovcc_insn, 3, SUF_Z, 0x0D, 0, 0, 0, CPU_686, 0, 0 +cmovgel, cmovcc_insn, 3, SUF_L, 0x0D, 0, 0, 0, CPU_686, 0, 0 +cmovgeq, cmovcc_insn, 3, SUF_Q, 0x0D, 0, 0, ONLY_64, CPU_686, 0, 0 +cmovgew, cmovcc_insn, 3, SUF_W, 0x0D, 0, 0, 0, CPU_686, 0, 0 +cmovgl, cmovcc_insn, 3, SUF_L, 0x0F, 0, 0, 0, CPU_686, 0, 0 +cmovgq, cmovcc_insn, 3, SUF_Q, 0x0F, 0, 0, ONLY_64, CPU_686, 0, 0 +cmovgw, cmovcc_insn, 3, SUF_W, 0x0F, 0, 0, 0, CPU_686, 0, 0 +cmovl, cmovcc_insn, 3, SUF_Z, 0x0C, 0, 0, 0, CPU_686, 0, 0 +cmovle, cmovcc_insn, 3, SUF_Z, 0x0E, 0, 0, 0, CPU_686, 0, 0 +cmovlel, cmovcc_insn, 3, SUF_L, 0x0E, 0, 0, 0, CPU_686, 0, 0 +cmovleq, cmovcc_insn, 3, SUF_Q, 0x0E, 0, 0, ONLY_64, CPU_686, 0, 0 +cmovlew, cmovcc_insn, 3, SUF_W, 0x0E, 0, 0, 0, CPU_686, 0, 0 +cmovll, cmovcc_insn, 3, SUF_L, 0x0C, 0, 0, 0, CPU_686, 0, 0 +cmovlq, cmovcc_insn, 3, SUF_Q, 0x0C, 0, 0, ONLY_64, CPU_686, 0, 0 +cmovlw, cmovcc_insn, 3, SUF_W, 0x0C, 0, 0, 0, CPU_686, 0, 0 +cmovna, cmovcc_insn, 3, SUF_Z, 0x06, 0, 0, 0, CPU_686, 0, 0 +cmovnae, cmovcc_insn, 3, SUF_Z, 0x02, 0, 0, 0, CPU_686, 0, 0 +cmovnael, cmovcc_insn, 3, SUF_L, 0x02, 0, 0, 0, CPU_686, 0, 0 +cmovnaeq, cmovcc_insn, 3, SUF_Q, 0x02, 0, 0, ONLY_64, CPU_686, 0, 0 +cmovnaew, cmovcc_insn, 3, SUF_W, 0x02, 0, 0, 0, CPU_686, 0, 0 +cmovnal, cmovcc_insn, 3, SUF_L, 0x06, 0, 0, 0, CPU_686, 0, 0 +cmovnaq, cmovcc_insn, 3, SUF_Q, 0x06, 0, 0, ONLY_64, CPU_686, 0, 0 +cmovnaw, cmovcc_insn, 3, SUF_W, 0x06, 0, 0, 0, CPU_686, 0, 0 +cmovnb, cmovcc_insn, 3, SUF_Z, 0x03, 0, 0, 0, CPU_686, 0, 0 +cmovnbe, cmovcc_insn, 3, SUF_Z, 0x07, 0, 0, 0, CPU_686, 0, 0 +cmovnbel, cmovcc_insn, 3, SUF_L, 0x07, 0, 0, 0, CPU_686, 0, 0 +cmovnbeq, cmovcc_insn, 3, SUF_Q, 0x07, 0, 0, ONLY_64, CPU_686, 0, 0 +cmovnbew, cmovcc_insn, 3, SUF_W, 0x07, 0, 0, 0, CPU_686, 0, 0 +cmovnbl, cmovcc_insn, 3, SUF_L, 0x03, 0, 0, 0, CPU_686, 0, 0 +cmovnbq, cmovcc_insn, 3, SUF_Q, 0x03, 0, 0, ONLY_64, CPU_686, 0, 0 +cmovnbw, cmovcc_insn, 3, SUF_W, 0x03, 0, 0, 0, CPU_686, 0, 0 +cmovnc, cmovcc_insn, 3, SUF_Z, 0x03, 0, 0, 0, CPU_686, 0, 0 +cmovncl, cmovcc_insn, 3, SUF_L, 0x03, 0, 0, 0, CPU_686, 0, 0 +cmovncq, cmovcc_insn, 3, SUF_Q, 0x03, 0, 0, ONLY_64, CPU_686, 0, 0 +cmovncw, cmovcc_insn, 3, SUF_W, 0x03, 0, 0, 0, CPU_686, 0, 0 +cmovne, cmovcc_insn, 3, SUF_Z, 0x05, 0, 0, 0, CPU_686, 0, 0 +cmovnel, cmovcc_insn, 3, SUF_L, 0x05, 0, 0, 0, CPU_686, 0, 0 +cmovneq, cmovcc_insn, 3, SUF_Q, 0x05, 0, 0, ONLY_64, CPU_686, 0, 0 +cmovnew, cmovcc_insn, 3, SUF_W, 0x05, 0, 0, 0, CPU_686, 0, 0 +cmovng, cmovcc_insn, 3, SUF_Z, 0x0E, 0, 0, 0, CPU_686, 0, 0 +cmovnge, cmovcc_insn, 3, SUF_Z, 0x0C, 0, 0, 0, CPU_686, 0, 0 +cmovngel, cmovcc_insn, 3, SUF_L, 0x0C, 0, 0, 0, CPU_686, 0, 0 +cmovngeq, cmovcc_insn, 3, SUF_Q, 0x0C, 0, 0, ONLY_64, CPU_686, 0, 0 +cmovngew, cmovcc_insn, 3, SUF_W, 0x0C, 0, 0, 0, CPU_686, 0, 0 +cmovngl, cmovcc_insn, 3, SUF_L, 0x0E, 0, 0, 0, CPU_686, 0, 0 +cmovngq, cmovcc_insn, 3, SUF_Q, 0x0E, 0, 0, ONLY_64, CPU_686, 0, 0 +cmovngw, cmovcc_insn, 3, SUF_W, 0x0E, 0, 0, 0, CPU_686, 0, 0 +cmovnl, cmovcc_insn, 3, SUF_Z, 0x0D, 0, 0, 0, CPU_686, 0, 0 +cmovnle, cmovcc_insn, 3, SUF_Z, 0x0F, 0, 0, 0, CPU_686, 0, 0 +cmovnlel, cmovcc_insn, 3, SUF_L, 0x0F, 0, 0, 0, CPU_686, 0, 0 +cmovnleq, cmovcc_insn, 3, SUF_Q, 0x0F, 0, 0, ONLY_64, CPU_686, 0, 0 +cmovnlew, cmovcc_insn, 3, SUF_W, 0x0F, 0, 0, 0, CPU_686, 0, 0 +cmovnll, cmovcc_insn, 3, SUF_L, 0x0D, 0, 0, 0, CPU_686, 0, 0 +cmovnlq, cmovcc_insn, 3, SUF_Q, 0x0D, 0, 0, ONLY_64, CPU_686, 0, 0 +cmovnlw, cmovcc_insn, 3, SUF_W, 0x0D, 0, 0, 0, CPU_686, 0, 0 +cmovno, cmovcc_insn, 3, SUF_Z, 0x01, 0, 0, 0, CPU_686, 0, 0 +cmovnol, cmovcc_insn, 3, SUF_L, 0x01, 0, 0, 0, CPU_686, 0, 0 +cmovnoq, cmovcc_insn, 3, SUF_Q, 0x01, 0, 0, ONLY_64, CPU_686, 0, 0 +cmovnow, cmovcc_insn, 3, SUF_W, 0x01, 0, 0, 0, CPU_686, 0, 0 +cmovnp, cmovcc_insn, 3, SUF_Z, 0x0B, 0, 0, 0, CPU_686, 0, 0 +cmovnpl, cmovcc_insn, 3, SUF_L, 0x0B, 0, 0, 0, CPU_686, 0, 0 +cmovnpq, cmovcc_insn, 3, SUF_Q, 0x0B, 0, 0, ONLY_64, CPU_686, 0, 0 +cmovnpw, cmovcc_insn, 3, SUF_W, 0x0B, 0, 0, 0, CPU_686, 0, 0 +cmovns, cmovcc_insn, 3, SUF_Z, 0x09, 0, 0, 0, CPU_686, 0, 0 +cmovnsl, cmovcc_insn, 3, SUF_L, 0x09, 0, 0, 0, CPU_686, 0, 0 +cmovnsq, cmovcc_insn, 3, SUF_Q, 0x09, 0, 0, ONLY_64, CPU_686, 0, 0 +cmovnsw, cmovcc_insn, 3, SUF_W, 0x09, 0, 0, 0, CPU_686, 0, 0 +cmovnz, cmovcc_insn, 3, SUF_Z, 0x05, 0, 0, 0, CPU_686, 0, 0 +cmovnzl, cmovcc_insn, 3, SUF_L, 0x05, 0, 0, 0, CPU_686, 0, 0 +cmovnzq, cmovcc_insn, 3, SUF_Q, 0x05, 0, 0, ONLY_64, CPU_686, 0, 0 +cmovnzw, cmovcc_insn, 3, SUF_W, 0x05, 0, 0, 0, CPU_686, 0, 0 +cmovo, cmovcc_insn, 3, SUF_Z, 0x00, 0, 0, 0, CPU_686, 0, 0 +cmovol, cmovcc_insn, 3, SUF_L, 0x00, 0, 0, 0, CPU_686, 0, 0 +cmovoq, cmovcc_insn, 3, SUF_Q, 0x00, 0, 0, ONLY_64, CPU_686, 0, 0 +cmovow, cmovcc_insn, 3, SUF_W, 0x00, 0, 0, 0, CPU_686, 0, 0 +cmovp, cmovcc_insn, 3, SUF_Z, 0x0A, 0, 0, 0, CPU_686, 0, 0 +cmovpe, cmovcc_insn, 3, SUF_Z, 0x0A, 0, 0, 0, CPU_686, 0, 0 +cmovpel, cmovcc_insn, 3, SUF_L, 0x0A, 0, 0, 0, CPU_686, 0, 0 +cmovpeq, cmovcc_insn, 3, SUF_Q, 0x0A, 0, 0, ONLY_64, CPU_686, 0, 0 +cmovpew, cmovcc_insn, 3, SUF_W, 0x0A, 0, 0, 0, CPU_686, 0, 0 +cmovpl, cmovcc_insn, 3, SUF_L, 0x0A, 0, 0, 0, CPU_686, 0, 0 +cmovpo, cmovcc_insn, 3, SUF_Z, 0x0B, 0, 0, 0, CPU_686, 0, 0 +cmovpol, cmovcc_insn, 3, SUF_L, 0x0B, 0, 0, 0, CPU_686, 0, 0 +cmovpoq, cmovcc_insn, 3, SUF_Q, 0x0B, 0, 0, ONLY_64, CPU_686, 0, 0 +cmovpow, cmovcc_insn, 3, SUF_W, 0x0B, 0, 0, 0, CPU_686, 0, 0 +cmovpq, cmovcc_insn, 3, SUF_Q, 0x0A, 0, 0, ONLY_64, CPU_686, 0, 0 +cmovpw, cmovcc_insn, 3, SUF_W, 0x0A, 0, 0, 0, CPU_686, 0, 0 +cmovs, cmovcc_insn, 3, SUF_Z, 0x08, 0, 0, 0, CPU_686, 0, 0 +cmovsl, cmovcc_insn, 3, SUF_L, 0x08, 0, 0, 0, CPU_686, 0, 0 +cmovsq, cmovcc_insn, 3, SUF_Q, 0x08, 0, 0, ONLY_64, CPU_686, 0, 0 +cmovsw, cmovcc_insn, 3, SUF_W, 0x08, 0, 0, 0, CPU_686, 0, 0 +cmovz, cmovcc_insn, 3, SUF_Z, 0x04, 0, 0, 0, CPU_686, 0, 0 +cmovzl, cmovcc_insn, 3, SUF_L, 0x04, 0, 0, 0, CPU_686, 0, 0 +cmovzq, cmovcc_insn, 3, SUF_Q, 0x04, 0, 0, ONLY_64, CPU_686, 0, 0 +cmovzw, cmovcc_insn, 3, SUF_W, 0x04, 0, 0, 0, CPU_686, 0, 0 +cmp, arith_insn, 22, SUF_Z, 0x38, 0x07, 0, 0, 0, 0, 0 +cmpb, arith_insn, 22, SUF_B, 0x38, 0x07, 0, 0, 0, 0, 0 +cmpeqpd, ssecmp_128_insn, 3, SUF_Z, 0x00, 0x66, 0, 0, CPU_SSE, 0, 0 +cmpeqps, ssecmp_128_insn, 3, SUF_Z, 0x00, 0, 0, 0, CPU_SSE, 0, 0 +cmpeqsd, ssecmp_64_insn, 4, SUF_Z, 0x00, 0xF2, 0, 0, CPU_SSE2, 0, 0 +cmpeqss, ssecmp_32_insn, 4, SUF_Z, 0x00, 0xF3, 0, 0, CPU_SSE, 0, 0 +cmpl, arith_insn, 22, SUF_L, 0x38, 0x07, 0, 0, CPU_386, 0, 0 +cmplepd, ssecmp_128_insn, 3, SUF_Z, 0x02, 0x66, 0, 0, CPU_SSE, 0, 0 +cmpleps, ssecmp_128_insn, 3, SUF_Z, 0x02, 0, 0, 0, CPU_SSE, 0, 0 +cmplesd, ssecmp_64_insn, 4, SUF_Z, 0x02, 0xF2, 0, 0, CPU_SSE2, 0, 0 +cmpless, ssecmp_32_insn, 4, SUF_Z, 0x02, 0xF3, 0, 0, CPU_SSE, 0, 0 +cmpltpd, ssecmp_128_insn, 3, SUF_Z, 0x01, 0x66, 0, 0, CPU_SSE, 0, 0 +cmpltps, ssecmp_128_insn, 3, SUF_Z, 0x01, 0, 0, 0, CPU_SSE, 0, 0 +cmpltsd, ssecmp_64_insn, 4, SUF_Z, 0x01, 0xF2, 0, 0, CPU_SSE2, 0, 0 +cmpltss, ssecmp_32_insn, 4, SUF_Z, 0x01, 0xF3, 0, 0, CPU_SSE, 0, 0 +cmpneqpd, ssecmp_128_insn, 3, SUF_Z, 0x04, 0x66, 0, 0, CPU_SSE, 0, 0 +cmpneqps, ssecmp_128_insn, 3, SUF_Z, 0x04, 0, 0, 0, CPU_SSE, 0, 0 +cmpneqsd, ssecmp_64_insn, 4, SUF_Z, 0x04, 0xF2, 0, 0, CPU_SSE2, 0, 0 +cmpneqss, ssecmp_32_insn, 4, SUF_Z, 0x04, 0xF3, 0, 0, CPU_SSE, 0, 0 +cmpnlepd, ssecmp_128_insn, 3, SUF_Z, 0x06, 0x66, 0, 0, CPU_SSE, 0, 0 +cmpnleps, ssecmp_128_insn, 3, SUF_Z, 0x06, 0, 0, 0, CPU_SSE, 0, 0 +cmpnlesd, ssecmp_64_insn, 4, SUF_Z, 0x06, 0xF2, 0, 0, CPU_SSE2, 0, 0 +cmpnless, ssecmp_32_insn, 4, SUF_Z, 0x06, 0xF3, 0, 0, CPU_SSE, 0, 0 +cmpnltpd, ssecmp_128_insn, 3, SUF_Z, 0x05, 0x66, 0, 0, CPU_SSE, 0, 0 +cmpnltps, ssecmp_128_insn, 3, SUF_Z, 0x05, 0, 0, 0, CPU_SSE, 0, 0 +cmpnltsd, ssecmp_64_insn, 4, SUF_Z, 0x05, 0xF2, 0, 0, CPU_SSE2, 0, 0 +cmpnltss, ssecmp_32_insn, 4, SUF_Z, 0x05, 0xF3, 0, 0, CPU_SSE, 0, 0 +cmpordpd, ssecmp_128_insn, 3, SUF_Z, 0x07, 0x66, 0, 0, CPU_SSE, 0, 0 +cmpordps, ssecmp_128_insn, 3, SUF_Z, 0x07, 0, 0, 0, CPU_SSE, 0, 0 +cmpordsd, ssecmp_64_insn, 4, SUF_Z, 0x07, 0xF2, 0, 0, CPU_SSE2, 0, 0 +cmpordss, ssecmp_32_insn, 4, SUF_Z, 0x07, 0xF3, 0, 0, CPU_SSE, 0, 0 +cmppd, xmm_xmm128_imm_insn, 1, SUF_Z, 0x66, 0xC2, 0, 0, CPU_SSE2, 0, 0 +cmpps, xmm_xmm128_imm_insn, 1, SUF_Z, 0x00, 0xC2, 0, 0, CPU_SSE, 0, 0 +cmpq, arith_insn, 22, SUF_Q, 0x38, 0x07, 0, ONLY_64, 0, 0, 0 +cmpsb, onebyte_insn, 1, SUF_Z, 0xA6, 0x00, 0, 0, 0, 0, 0 +cmpsd, cmpsd_insn, 5, SUF_Z, 0, 0, 0, 0, 0, 0, 0 +cmpsl, onebyte_insn, 1, SUF_Z, 0xA7, 0x20, 0, 0, CPU_386, 0, 0 +cmpsq, onebyte_insn, 1, SUF_Z, 0xA7, 0x40, 0, ONLY_64, 0, 0, 0 +cmpss, xmm_xmm32_imm_insn, 4, SUF_Z, 0xF3, 0xC2, 0, 0, CPU_SSE, 0, 0 +cmpsw, onebyte_insn, 1, SUF_Z, 0xA7, 0x10, 0, 0, 0, 0, 0 +cmpunordpd, ssecmp_128_insn, 3, SUF_Z, 0x03, 0x66, 0, 0, CPU_SSE, 0, 0 +cmpunordps, ssecmp_128_insn, 3, SUF_Z, 0x03, 0, 0, 0, CPU_SSE, 0, 0 +cmpunordsd, ssecmp_64_insn, 4, SUF_Z, 0x03, 0xF2, 0, 0, CPU_SSE2, 0, 0 +cmpunordss, ssecmp_32_insn, 4, SUF_Z, 0x03, 0xF3, 0, 0, CPU_SSE, 0, 0 +cmpw, arith_insn, 22, SUF_W, 0x38, 0x07, 0, 0, 0, 0, 0 +cmpxchg, cmpxchgxadd_insn, 4, SUF_Z, 0xB0, 0, 0, 0, CPU_486, 0, 0 +cmpxchg16b, cmpxchg16b_insn, 1, SUF_Z, 0, 0, 0, ONLY_64, 0, 0, 0 +cmpxchg8b, cmpxchg8b_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_586, 0, 0 +cmpxchg8bq, cmpxchg8b_insn, 1, SUF_Q, 0, 0, 0, 0, CPU_586, 0, 0 +cmpxchgb, cmpxchgxadd_insn, 4, SUF_B, 0xB0, 0, 0, 0, CPU_486, 0, 0 +cmpxchgl, cmpxchgxadd_insn, 4, SUF_L, 0xB0, 0, 0, 0, CPU_486, 0, 0 +cmpxchgq, cmpxchgxadd_insn, 4, SUF_Q, 0xB0, 0, 0, ONLY_64, CPU_486, 0, 0 +cmpxchgw, cmpxchgxadd_insn, 4, SUF_W, 0xB0, 0, 0, 0, CPU_486, 0, 0 +comisd, xmm_xmm64_insn, 4, SUF_Z, 0x66, 0x2F, 0, 0, CPU_SSE2, 0, 0 +comiss, xmm_xmm32_insn, 4, SUF_Z, 0x00, 0x2F, 0, 0, CPU_SSE, 0, 0 +cpuid, twobyte_insn, 1, SUF_Z, 0x0F, 0xA2, 0, 0, CPU_486, 0, 0 +cqo, onebyte_insn, 1, SUF_Z, 0x99, 0x40, 0, ONLY_64, 0, 0, 0 +cqto, onebyte_insn, 1, SUF_Z, 0x99, 0x40, 0, ONLY_64, 0, 0, 0 +crc32, crc32_insn, 5, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_SSE42, 0 +crc32b, crc32_insn, 5, SUF_B, 0, 0, 0, 0, CPU_386, CPU_SSE42, 0 +crc32l, crc32_insn, 5, SUF_L, 0, 0, 0, 0, CPU_386, CPU_SSE42, 0 +crc32q, crc32_insn, 5, SUF_Q, 0, 0, 0, ONLY_64, CPU_SSE42, 0, 0 +crc32w, crc32_insn, 5, SUF_W, 0, 0, 0, 0, CPU_386, CPU_SSE42, 0 +cvtdq2pd, xmm_xmm64_insn, 4, SUF_Z, 0xF3, 0xE6, 0, 0, CPU_SSE2, 0, 0 +cvtdq2ps, xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x5B, 0, 0, CPU_SSE2, 0, 0 +cvtpd2dq, xmm_xmm128_insn, 2, SUF_Z, 0xF2, 0xE6, 0, 0, CPU_SSE2, 0, 0 +cvtpd2pi, cvt_mm_xmm_insn, 1, SUF_Z, 0x66, 0x2D, 0, 0, CPU_SSE2, 0, 0 +cvtpd2ps, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x5A, 0, 0, CPU_SSE2, 0, 0 +cvtpi2pd, cvt_xmm_mm_ss_insn, 1, SUF_Z, 0x66, 0x2A, 0, 0, CPU_SSE2, 0, 0 +cvtpi2ps, cvt_xmm_mm_ps_insn, 1, SUF_Z, 0x2A, 0, 0, 0, CPU_SSE, 0, 0 +cvtps2dq, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x5B, 0, 0, CPU_SSE2, 0, 0 +cvtps2pd, xmm_xmm64_insn, 4, SUF_Z, 0x00, 0x5A, 0, 0, CPU_SSE2, 0, 0 +cvtps2pi, cvt_mm_xmm64_insn, 2, SUF_Z, 0x2D, 0, 0, 0, CPU_SSE, 0, 0 +cvtsd2si, cvt_rx_xmm64_insn, 4, SUF_Z, 0xF2, 0x2D, 0, 0, CPU_386, CPU_SSE2, 0 +cvtsd2sil, cvt_rx_xmm64_insn, 4, SUF_L, 0xF2, 0x2D, 0, 0, CPU_386, CPU_SSE2, 0 +cvtsd2siq, cvt_rx_xmm64_insn, 4, SUF_Q, 0xF2, 0x2D, 0, ONLY_64, CPU_SSE2, 0, 0 +cvtsd2ss, xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5A, 0, 0, CPU_SSE2, 0, 0 +cvtsi2sd, cvt_xmm_rmx_insn, 6, SUF_Z, 0xF2, 0x2A, 0, 0, CPU_SSE2, 0, 0 +cvtsi2sdl, cvt_xmm_rmx_insn, 6, SUF_L, 0xF2, 0x2A, 0, 0, CPU_SSE2, 0, 0 +cvtsi2sdq, cvt_xmm_rmx_insn, 6, SUF_Q, 0xF2, 0x2A, 0, ONLY_64, CPU_SSE2, 0, 0 +cvtsi2ss, cvt_xmm_rmx_insn, 6, SUF_Z, 0xF3, 0x2A, 0, 0, CPU_386, CPU_SSE, 0 +cvtsi2ssl, cvt_xmm_rmx_insn, 6, SUF_L, 0xF3, 0x2A, 0, 0, CPU_386, CPU_SSE, 0 +cvtsi2ssq, cvt_xmm_rmx_insn, 6, SUF_Q, 0xF3, 0x2A, 0, ONLY_64, CPU_SSE, 0, 0 +cvtss2sd, xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5A, 0, 0, CPU_SSE2, 0, 0 +cvtss2si, cvt_rx_xmm32_insn, 4, SUF_Z, 0xF3, 0x2D, 0, 0, CPU_386, CPU_SSE, 0 +cvtss2sil, cvt_rx_xmm32_insn, 4, SUF_L, 0xF3, 0x2D, 0, 0, CPU_386, CPU_SSE, 0 +cvtss2siq, cvt_rx_xmm32_insn, 4, SUF_Q, 0xF3, 0x2D, 0, ONLY_64, CPU_SSE, 0, 0 +cvttpd2dq, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0xE6, 0, 0, CPU_SSE2, 0, 0 +cvttpd2pi, cvt_mm_xmm_insn, 1, SUF_Z, 0x66, 0x2C, 0, 0, CPU_SSE2, 0, 0 +cvttps2dq, xmm_xmm128_insn, 2, SUF_Z, 0xF3, 0x5B, 0, 0, CPU_SSE2, 0, 0 +cvttps2pi, cvt_mm_xmm64_insn, 2, SUF_Z, 0x2C, 0, 0, 0, CPU_SSE, 0, 0 +cvttsd2si, cvt_rx_xmm64_insn, 4, SUF_Z, 0xF2, 0x2C, 0, 0, CPU_SSE2, 0, 0 +cvttsd2sil, cvt_rx_xmm64_insn, 4, SUF_L, 0xF2, 0x2C, 0, 0, CPU_SSE2, 0, 0 +cvttsd2siq, cvt_rx_xmm64_insn, 4, SUF_Q, 0xF2, 0x2C, 0, ONLY_64, CPU_SSE2, 0, 0 +cvttss2si, cvt_rx_xmm32_insn, 4, SUF_Z, 0xF3, 0x2C, 0, 0, CPU_386, CPU_SSE, 0 +cvttss2sil, cvt_rx_xmm32_insn, 4, SUF_L, 0xF3, 0x2C, 0, 0, CPU_386, CPU_SSE, 0 +cvttss2siq, cvt_rx_xmm32_insn, 4, SUF_Q, 0xF3, 0x2C, 0, ONLY_64, CPU_SSE, 0, 0 +cwd, onebyte_insn, 1, SUF_Z, 0x99, 0x10, 0, 0, 0, 0, 0 +cwde, onebyte_insn, 1, SUF_Z, 0x98, 0x20, 0, 0, CPU_386, 0, 0 +cwtd, onebyte_insn, 1, SUF_Z, 0x99, 0x10, 0, 0, 0, 0, 0 +cwtl, onebyte_insn, 1, SUF_Z, 0x98, 0x20, 0, 0, CPU_386, 0, 0 +daa, onebyte_insn, 1, SUF_Z, 0x27, 0, 0, NOT_64, 0, 0, 0 +das, onebyte_insn, 1, SUF_Z, 0x2F, 0, 0, NOT_64, 0, 0, 0 +data16, NULL, X86_OPERSIZE>>8, 0x10, 0, 0, 0, 0, 0, 0, 0 +data32, NULL, X86_OPERSIZE>>8, 0x20, 0, 0, 0, 0, 0, 0, 0 +data64, NULL, X86_OPERSIZE>>8, 0x40, 0, 0, 0, ONLY_64, 0, 0, 0 +dec, incdec_insn, 6, SUF_Z, 0x48, 0x01, 0, 0, 0, 0, 0 +decb, incdec_insn, 6, SUF_B, 0x48, 0x01, 0, 0, 0, 0, 0 +decl, incdec_insn, 6, SUF_L, 0x48, 0x01, 0, 0, CPU_386, 0, 0 +decq, incdec_insn, 6, SUF_Q, 0x48, 0x01, 0, ONLY_64, 0, 0, 0 +decw, incdec_insn, 6, SUF_W, 0x48, 0x01, 0, 0, 0, 0, 0 +div, div_insn, 8, SUF_Z, 0x06, 0, 0, 0, 0, 0, 0 +divb, div_insn, 8, SUF_B, 0x06, 0, 0, 0, 0, 0, 0 +divl, div_insn, 8, SUF_L, 0x06, 0, 0, 0, CPU_386, 0, 0 +divpd, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x5E, 0, 0, CPU_SSE2, 0, 0 +divps, xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x5E, 0, 0, CPU_SSE, 0, 0 +divq, div_insn, 8, SUF_Q, 0x06, 0, 0, ONLY_64, 0, 0, 0 +divsd, xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5E, 0, 0, CPU_SSE2, 0, 0 +divss, xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5E, 0, 0, CPU_SSE, 0, 0 +divw, div_insn, 8, SUF_W, 0x06, 0, 0, 0, 0, 0, 0 +dppd, sse4imm_insn, 2, SUF_Z, 0x41, 0, 0, 0, CPU_SSE41, 0, 0 +dpps, sse4imm_insn, 2, SUF_Z, 0x40, 0, 0, 0, CPU_SSE41, 0, 0 +dword, NULL, X86_OPERSIZE>>8, 0x20, 0, 0, 0, 0, 0, 0, 0 +emms, twobyte_insn, 1, SUF_Z, 0x0F, 0x77, 0, 0, CPU_MMX, 0, 0 +enter, enter_insn, 3, SUF_Z, 0, 0, 0, 0, CPU_186, 0, 0 +enterl, enter_insn, 3, SUF_L, 0, 0, 0, NOT_64, CPU_186, 0, 0 +enterq, enter_insn, 3, SUF_Q, 0, 0, 0, ONLY_64, CPU_186, 0, 0 +enterw, enter_insn, 3, SUF_W, 0, 0, 0, 0, CPU_186, 0, 0 +extractps, extractps_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_SSE41, 0 +extrq, extrq_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_SSE4a, 0, 0 +f2xm1, twobyte_insn, 1, SUF_Z, 0xD9, 0xF0, 0, 0, CPU_FPU, 0, 0 +fabs, twobyte_insn, 1, SUF_Z, 0xD9, 0xE1, 0, 0, CPU_FPU, 0, 0 +fadd, farith_insn, 7, SUF_Z, 0xC0, 0xC0, 0x00, 0, CPU_FPU, 0, 0 +faddl, farith_insn, 7, SUF_L, 0xC0, 0xC0, 0x00, 0, CPU_FPU, 0, 0 +faddp, farithp_insn, 3, SUF_Z, 0xC0, 0, 0, 0, CPU_FPU, 0, 0 +fadds, farith_insn, 7, SUF_S, 0xC0, 0xC0, 0x00, 0, CPU_FPU, 0, 0 +fbld, fbldstp_insn, 1, SUF_Z, 0x04, 0, 0, 0, CPU_FPU, 0, 0 +fbstp, fbldstp_insn, 1, SUF_Z, 0x06, 0, 0, 0, CPU_FPU, 0, 0 +fchs, twobyte_insn, 1, SUF_Z, 0xD9, 0xE0, 0, 0, CPU_FPU, 0, 0 +fclex, threebyte_insn, 1, SUF_Z, 0x9B, 0xDB, 0xE2, 0, CPU_FPU, 0, 0 +fcmovb, fcmovcc_insn, 1, SUF_Z, 0xDA, 0xC0, 0, 0, CPU_686, CPU_FPU, 0 +fcmovbe, fcmovcc_insn, 1, SUF_Z, 0xDA, 0xD0, 0, 0, CPU_686, CPU_FPU, 0 +fcmove, fcmovcc_insn, 1, SUF_Z, 0xDA, 0xC8, 0, 0, CPU_686, CPU_FPU, 0 +fcmovnb, fcmovcc_insn, 1, SUF_Z, 0xDB, 0xC0, 0, 0, CPU_686, CPU_FPU, 0 +fcmovnbe, fcmovcc_insn, 1, SUF_Z, 0xDB, 0xD0, 0, 0, CPU_686, CPU_FPU, 0 +fcmovne, fcmovcc_insn, 1, SUF_Z, 0xDB, 0xC8, 0, 0, CPU_686, CPU_FPU, 0 +fcmovnu, fcmovcc_insn, 1, SUF_Z, 0xDB, 0xD8, 0, 0, CPU_686, CPU_FPU, 0 +fcmovu, fcmovcc_insn, 1, SUF_Z, 0xDA, 0xD8, 0, 0, CPU_686, CPU_FPU, 0 +fcom, fcom_insn, 6, SUF_Z, 0xD0, 0x02, 0, 0, CPU_FPU, 0, 0 +fcomi, fcom2_insn, 2, SUF_Z, 0xDB, 0xF0, 0, 0, CPU_686, CPU_FPU, 0 +fcomip, fcom2_insn, 2, SUF_Z, 0xDF, 0xF0, 0, 0, CPU_686, CPU_FPU, 0 +fcoml, fcom_insn, 6, SUF_L, 0xD0, 0x02, 0, 0, CPU_FPU, 0, 0 +fcomp, fcom_insn, 6, SUF_Z, 0xD8, 0x03, 0, 0, CPU_FPU, 0, 0 +fcompl, fcom_insn, 6, SUF_L, 0xD8, 0x03, 0, 0, CPU_FPU, 0, 0 +fcompp, twobyte_insn, 1, SUF_Z, 0xDE, 0xD9, 0, 0, CPU_FPU, 0, 0 +fcomps, fcom_insn, 6, SUF_S, 0xD8, 0x03, 0, 0, CPU_FPU, 0, 0 +fcoms, fcom_insn, 6, SUF_S, 0xD0, 0x02, 0, 0, CPU_FPU, 0, 0 +fcos, twobyte_insn, 1, SUF_Z, 0xD9, 0xFF, 0, 0, CPU_286, CPU_FPU, 0 +fdecstp, twobyte_insn, 1, SUF_Z, 0xD9, 0xF6, 0, 0, CPU_FPU, 0, 0 +fdiv, farith_insn, 7, SUF_Z, 0xF8, 0xF0, 0x06, 0, CPU_FPU, 0, 0 +fdivl, farith_insn, 7, SUF_L, 0xF8, 0xF0, 0x06, 0, CPU_FPU, 0, 0 +fdivp, farithp_insn, 3, SUF_Z, 0xF0, 0, 0, 0, CPU_FPU, 0, 0 +fdivr, farith_insn, 7, SUF_Z, 0xF0, 0xF8, 0x07, 0, CPU_FPU, 0, 0 +fdivrl, farith_insn, 7, SUF_L, 0xF0, 0xF8, 0x07, 0, CPU_FPU, 0, 0 +fdivrp, farithp_insn, 3, SUF_Z, 0xF8, 0, 0, 0, CPU_FPU, 0, 0 +fdivrs, farith_insn, 7, SUF_S, 0xF0, 0xF8, 0x07, 0, CPU_FPU, 0, 0 +fdivs, farith_insn, 7, SUF_S, 0xF8, 0xF0, 0x06, 0, CPU_FPU, 0, 0 +femms, twobyte_insn, 1, SUF_Z, 0x0F, 0x0E, 0, 0, CPU_3DNow, 0, 0 +ffree, ffree_insn, 1, SUF_Z, 0xDD, 0, 0, 0, CPU_FPU, 0, 0 +ffreep, ffree_insn, 1, SUF_Z, 0xDF, 0, 0, 0, CPU_686, CPU_FPU, CPU_Undoc +fiadd, fiarith_insn, 2, SUF_Z, 0x00, 0xDA, 0, 0, CPU_FPU, 0, 0 +fiaddl, fiarith_insn, 2, SUF_L, 0x00, 0xDA, 0, 0, CPU_FPU, 0, 0 +fiadds, fiarith_insn, 2, SUF_S, 0x00, 0xDA, 0, 0, CPU_FPU, 0, 0 +ficom, fiarith_insn, 2, SUF_Z, 0x02, 0xDA, 0, 0, CPU_FPU, 0, 0 +ficoml, fiarith_insn, 2, SUF_L, 0x02, 0xDA, 0, 0, CPU_FPU, 0, 0 +ficomp, fiarith_insn, 2, SUF_Z, 0x03, 0xDA, 0, 0, CPU_FPU, 0, 0 +ficompl, fiarith_insn, 2, SUF_L, 0x03, 0xDA, 0, 0, CPU_FPU, 0, 0 +ficomps, fiarith_insn, 2, SUF_S, 0x03, 0xDA, 0, 0, CPU_FPU, 0, 0 +ficoms, fiarith_insn, 2, SUF_S, 0x02, 0xDA, 0, 0, CPU_FPU, 0, 0 +fidiv, fiarith_insn, 2, SUF_Z, 0x06, 0xDA, 0, 0, CPU_FPU, 0, 0 +fidivl, fiarith_insn, 2, SUF_L, 0x06, 0xDA, 0, 0, CPU_FPU, 0, 0 +fidivr, fiarith_insn, 2, SUF_Z, 0x07, 0xDA, 0, 0, CPU_FPU, 0, 0 +fidivrl, fiarith_insn, 2, SUF_L, 0x07, 0xDA, 0, 0, CPU_FPU, 0, 0 +fidivrs, fiarith_insn, 2, SUF_S, 0x07, 0xDA, 0, 0, CPU_FPU, 0, 0 +fidivs, fiarith_insn, 2, SUF_S, 0x06, 0xDA, 0, 0, CPU_FPU, 0, 0 +fild, fildstp_insn, 4, SUF_Z, 0x00, 0x02, 0x05, 0, CPU_FPU, 0, 0 +fildl, fildstp_insn, 4, SUF_L, 0x00, 0x02, 0x05, 0, CPU_FPU, 0, 0 +fildll, fbldstp_insn, 1, SUF_Z, 0x05, 0, 0, 0, CPU_FPU, 0, 0 +fildq, fildstp_insn, 4, SUF_Q, 0x00, 0x02, 0x05, 0, CPU_FPU, 0, 0 +filds, fildstp_insn, 4, SUF_S, 0x00, 0x02, 0x05, 0, CPU_FPU, 0, 0 +fimul, fiarith_insn, 2, SUF_Z, 0x01, 0xDA, 0, 0, CPU_FPU, 0, 0 +fimull, fiarith_insn, 2, SUF_L, 0x01, 0xDA, 0, 0, CPU_FPU, 0, 0 +fimuls, fiarith_insn, 2, SUF_S, 0x01, 0xDA, 0, 0, CPU_FPU, 0, 0 +fincstp, twobyte_insn, 1, SUF_Z, 0xD9, 0xF7, 0, 0, CPU_FPU, 0, 0 +finit, threebyte_insn, 1, SUF_Z, 0x9B, 0xDB, 0xE3, 0, CPU_FPU, 0, 0 +fist, fiarith_insn, 2, SUF_Z, 0x02, 0xDB, 0, 0, CPU_FPU, 0, 0 +fistl, fiarith_insn, 2, SUF_L, 0x02, 0xDB, 0, 0, CPU_FPU, 0, 0 +fistp, fildstp_insn, 4, SUF_Z, 0x03, 0x02, 0x07, 0, CPU_FPU, 0, 0 +fistpl, fildstp_insn, 4, SUF_L, 0x03, 0x02, 0x07, 0, CPU_FPU, 0, 0 +fistpll, fbldstp_insn, 1, SUF_Z, 0x07, 0, 0, 0, CPU_FPU, 0, 0 +fistpq, fildstp_insn, 4, SUF_Q, 0x03, 0x02, 0x07, 0, CPU_FPU, 0, 0 +fistps, fildstp_insn, 4, SUF_S, 0x03, 0x02, 0x07, 0, CPU_FPU, 0, 0 +fists, fiarith_insn, 2, SUF_S, 0x02, 0xDB, 0, 0, CPU_FPU, 0, 0 +fisttp, fildstp_insn, 4, SUF_Z, 0x01, 0x00, 0x01, 0, CPU_SSE3, 0, 0 +fisttpl, fildstp_insn, 4, SUF_L, 0x01, 0x00, 0x01, 0, CPU_SSE3, 0, 0 +fisttpll, fildstp_insn, 4, SUF_Q, 0x07, 0, 0, 0, CPU_SSE3, 0, 0 +fisttpq, fildstp_insn, 4, SUF_Q, 0x01, 0x00, 0x01, 0, CPU_SSE3, 0, 0 +fisttps, fildstp_insn, 4, SUF_S, 0x01, 0x00, 0x01, 0, CPU_SSE3, 0, 0 +fisub, fiarith_insn, 2, SUF_Z, 0x04, 0xDA, 0, 0, CPU_FPU, 0, 0 +fisubl, fiarith_insn, 2, SUF_L, 0x04, 0xDA, 0, 0, CPU_FPU, 0, 0 +fisubr, fiarith_insn, 2, SUF_Z, 0x05, 0xDA, 0, 0, CPU_FPU, 0, 0 +fisubrl, fiarith_insn, 2, SUF_L, 0x05, 0xDA, 0, 0, CPU_FPU, 0, 0 +fisubrs, fiarith_insn, 2, SUF_S, 0x05, 0xDA, 0, 0, CPU_FPU, 0, 0 +fisubs, fiarith_insn, 2, SUF_S, 0x04, 0xDA, 0, 0, CPU_FPU, 0, 0 +fld, fld_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_FPU, 0, 0 +fld1, twobyte_insn, 1, SUF_Z, 0xD9, 0xE8, 0, 0, CPU_FPU, 0, 0 +fldcw, fldnstcw_insn, 1, SUF_Z, 0x05, 0, 0, 0, CPU_FPU, 0, 0 +fldcww, fldnstcw_insn, 1, SUF_W, 0x05, 0, 0, 0, CPU_FPU, 0, 0 +fldenv, onebytemem_insn, 1, SUF_Z, 0x04, 0xD9, 0, 0, CPU_FPU, 0, 0 +fldenvl, onebytemem_insn, 1, SUF_L, 0x04, 0xD9, 0, 0, CPU_FPU, 0, 0 +fldenvs, onebytemem_insn, 1, SUF_S, 0x04, 0xD9, 0, 0, CPU_FPU, 0, 0 +fldl, fld_insn, 4, SUF_L, 0, 0, 0, 0, CPU_FPU, 0, 0 +fldl2e, twobyte_insn, 1, SUF_Z, 0xD9, 0xEA, 0, 0, CPU_FPU, 0, 0 +fldl2t, twobyte_insn, 1, SUF_Z, 0xD9, 0xE9, 0, 0, CPU_FPU, 0, 0 +fldlg2, twobyte_insn, 1, SUF_Z, 0xD9, 0xEC, 0, 0, CPU_FPU, 0, 0 +fldln2, twobyte_insn, 1, SUF_Z, 0xD9, 0xED, 0, 0, CPU_FPU, 0, 0 +fldpi, twobyte_insn, 1, SUF_Z, 0xD9, 0xEB, 0, 0, CPU_FPU, 0, 0 +flds, fld_insn, 4, SUF_S, 0, 0, 0, 0, CPU_FPU, 0, 0 +fldt, fldstpt_insn, 1, SUF_Z, 0x05, 0, 0, 0, CPU_FPU, 0, 0 +fldz, twobyte_insn, 1, SUF_Z, 0xD9, 0xEE, 0, 0, CPU_FPU, 0, 0 +fmul, farith_insn, 7, SUF_Z, 0xC8, 0xC8, 0x01, 0, CPU_FPU, 0, 0 +fmull, farith_insn, 7, SUF_L, 0xC8, 0xC8, 0x01, 0, CPU_FPU, 0, 0 +fmulp, farithp_insn, 3, SUF_Z, 0xC8, 0, 0, 0, CPU_FPU, 0, 0 +fmuls, farith_insn, 7, SUF_S, 0xC8, 0xC8, 0x01, 0, CPU_FPU, 0, 0 +fnclex, twobyte_insn, 1, SUF_Z, 0xDB, 0xE2, 0, 0, CPU_FPU, 0, 0 +fninit, twobyte_insn, 1, SUF_Z, 0xDB, 0xE3, 0, 0, CPU_FPU, 0, 0 +fnop, twobyte_insn, 1, SUF_Z, 0xD9, 0xD0, 0, 0, CPU_FPU, 0, 0 +fnsave, onebytemem_insn, 1, SUF_Z, 0x06, 0xDD, 0, 0, CPU_FPU, 0, 0 +fnsavel, onebytemem_insn, 1, SUF_L, 0x06, 0xDD, 0, 0, CPU_FPU, 0, 0 +fnsaves, onebytemem_insn, 1, SUF_S, 0x06, 0xDD, 0, 0, CPU_FPU, 0, 0 +fnstcw, fldnstcw_insn, 1, SUF_Z, 0x07, 0, 0, 0, CPU_FPU, 0, 0 +fnstcww, fldnstcw_insn, 1, SUF_W, 0x07, 0, 0, 0, CPU_FPU, 0, 0 +fnstenv, onebytemem_insn, 1, SUF_Z, 0x06, 0xD9, 0, 0, CPU_FPU, 0, 0 +fnstenvl, onebytemem_insn, 1, SUF_L, 0x06, 0xD9, 0, 0, CPU_FPU, 0, 0 +fnstenvs, onebytemem_insn, 1, SUF_S, 0x06, 0xD9, 0, 0, CPU_FPU, 0, 0 +fnstsw, fnstsw_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_FPU, 0, 0 +fnstsww, fnstsw_insn, 2, SUF_W, 0, 0, 0, 0, CPU_FPU, 0, 0 +fpatan, twobyte_insn, 1, SUF_Z, 0xD9, 0xF3, 0, 0, CPU_FPU, 0, 0 +fprem, twobyte_insn, 1, SUF_Z, 0xD9, 0xF8, 0, 0, CPU_FPU, 0, 0 +fprem1, twobyte_insn, 1, SUF_Z, 0xD9, 0xF5, 0, 0, CPU_286, CPU_FPU, 0 +fptan, twobyte_insn, 1, SUF_Z, 0xD9, 0xF2, 0, 0, CPU_FPU, 0, 0 +frndint, twobyte_insn, 1, SUF_Z, 0xD9, 0xFC, 0, 0, CPU_FPU, 0, 0 +frstor, onebytemem_insn, 1, SUF_Z, 0x04, 0xDD, 0, 0, CPU_FPU, 0, 0 +frstorl, onebytemem_insn, 1, SUF_L, 0x04, 0xDD, 0, 0, CPU_FPU, 0, 0 +frstors, onebytemem_insn, 1, SUF_S, 0x04, 0xDD, 0, 0, CPU_FPU, 0, 0 +fsave, twobytemem_insn, 1, SUF_Z, 0x06, 0x9B, 0xDD, 0, CPU_FPU, 0, 0 +fsavel, twobytemem_insn, 1, SUF_L, 0x06, 0x9B, 0xDD, 0, CPU_FPU, 0, 0 +fsaves, twobytemem_insn, 1, SUF_S, 0x06, 0x9B, 0xDD, 0, CPU_FPU, 0, 0 +fscale, twobyte_insn, 1, SUF_Z, 0xD9, 0xFD, 0, 0, CPU_FPU, 0, 0 +fsetpm, twobyte_insn, 1, SUF_Z, 0xDB, 0xE4, 0, 0, CPU_286, CPU_FPU, CPU_Obs +fsin, twobyte_insn, 1, SUF_Z, 0xD9, 0xFE, 0, 0, CPU_286, CPU_FPU, 0 +fsincos, twobyte_insn, 1, SUF_Z, 0xD9, 0xFB, 0, 0, CPU_286, CPU_FPU, 0 +fsqrt, twobyte_insn, 1, SUF_Z, 0xD9, 0xFA, 0, 0, CPU_FPU, 0, 0 +fst, fst_insn, 3, SUF_Z, 0, 0, 0, 0, CPU_FPU, 0, 0 +fstcw, fstcw_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_FPU, 0, 0 +fstcww, fstcw_insn, 1, SUF_W, 0, 0, 0, 0, CPU_FPU, 0, 0 +fstenv, twobytemem_insn, 1, SUF_Z, 0x06, 0x9B, 0xD9, 0, CPU_FPU, 0, 0 +fstenvl, twobytemem_insn, 1, SUF_L, 0x06, 0x9B, 0xD9, 0, CPU_FPU, 0, 0 +fstenvs, twobytemem_insn, 1, SUF_S, 0x06, 0x9B, 0xD9, 0, CPU_FPU, 0, 0 +fstl, fst_insn, 3, SUF_L, 0, 0, 0, 0, CPU_FPU, 0, 0 +fstp, fstp_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_FPU, 0, 0 +fstpl, fstp_insn, 4, SUF_L, 0, 0, 0, 0, CPU_FPU, 0, 0 +fstps, fstp_insn, 4, SUF_S, 0, 0, 0, 0, CPU_FPU, 0, 0 +fstpt, fldstpt_insn, 1, SUF_Z, 0x07, 0, 0, 0, CPU_FPU, 0, 0 +fsts, fst_insn, 3, SUF_S, 0, 0, 0, 0, CPU_FPU, 0, 0 +fstsw, fstsw_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_FPU, 0, 0 +fstsww, fstsw_insn, 2, SUF_W, 0, 0, 0, 0, CPU_FPU, 0, 0 +fsub, farith_insn, 7, SUF_Z, 0xE8, 0xE0, 0x04, 0, CPU_FPU, 0, 0 +fsubl, farith_insn, 7, SUF_L, 0xE8, 0xE0, 0x04, 0, CPU_FPU, 0, 0 +fsubp, farithp_insn, 3, SUF_Z, 0xE0, 0, 0, 0, CPU_FPU, 0, 0 +fsubr, farith_insn, 7, SUF_Z, 0xE0, 0xE8, 0x05, 0, CPU_FPU, 0, 0 +fsubrl, farith_insn, 7, SUF_L, 0xE0, 0xE8, 0x05, 0, CPU_FPU, 0, 0 +fsubrp, farithp_insn, 3, SUF_Z, 0xE8, 0, 0, 0, CPU_FPU, 0, 0 +fsubrs, farith_insn, 7, SUF_S, 0xE0, 0xE8, 0x05, 0, CPU_FPU, 0, 0 +fsubs, farith_insn, 7, SUF_S, 0xE8, 0xE0, 0x04, 0, CPU_FPU, 0, 0 +ftst, twobyte_insn, 1, SUF_Z, 0xD9, 0xE4, 0, 0, CPU_FPU, 0, 0 +fucom, fcom2_insn, 2, SUF_Z, 0xDD, 0xE0, 0, 0, CPU_286, CPU_FPU, 0 +fucomi, fcom2_insn, 2, SUF_Z, 0xDB, 0xE8, 0, 0, CPU_686, CPU_FPU, 0 +fucomip, fcom2_insn, 2, SUF_Z, 0xDF, 0xE8, 0, 0, CPU_686, CPU_FPU, 0 +fucomp, fcom2_insn, 2, SUF_Z, 0xDD, 0xE8, 0, 0, CPU_286, CPU_FPU, 0 +fucompp, twobyte_insn, 1, SUF_Z, 0xDA, 0xE9, 0, 0, CPU_286, CPU_FPU, 0 +fwait, onebyte_insn, 1, SUF_Z, 0x9B, 0, 0, 0, CPU_FPU, 0, 0 +fxam, twobyte_insn, 1, SUF_Z, 0xD9, 0xE5, 0, 0, CPU_FPU, 0, 0 +fxch, fxch_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_FPU, 0, 0 +fxrstor, twobytemem_insn, 1, SUF_Z, 0x01, 0x0F, 0xAE, 0, CPU_686, CPU_FPU, 0 +fxrstorq, twobytemem_insn, 1, SUF_Q, 0x01, 0x0F, 0xAE, 0, CPU_686, CPU_FPU, 0 +fxsave, twobytemem_insn, 1, SUF_Z, 0x00, 0x0F, 0xAE, 0, CPU_686, CPU_FPU, 0 +fxsaveq, twobytemem_insn, 1, SUF_Q, 0x00, 0x0F, 0xAE, 0, CPU_686, CPU_FPU, 0 +fxtract, twobyte_insn, 1, SUF_Z, 0xD9, 0xF4, 0, 0, CPU_FPU, 0, 0 +fyl2x, twobyte_insn, 1, SUF_Z, 0xD9, 0xF1, 0, 0, CPU_FPU, 0, 0 +fyl2xp1, twobyte_insn, 1, SUF_Z, 0xD9, 0xF9, 0, 0, CPU_FPU, 0, 0 +getsec, twobyte_insn, 1, SUF_Z, 0x0F, 0x37, 0, 0, CPU_SMX, 0, 0 +haddpd, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x7C, 0, 0, CPU_SSE3, 0, 0 +haddps, xmm_xmm128_insn, 2, SUF_Z, 0xF2, 0x7C, 0, 0, CPU_SSE3, 0, 0 +hlt, onebyte_insn, 1, SUF_Z, 0xF4, 0, 0, 0, CPU_Priv, 0, 0 +hnt, NULL, X86_SEGREG>>8, 0x2E, 0, 0, 0, 0, 0, 0, 0 +hsubpd, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x7D, 0, 0, CPU_SSE3, 0, 0 +hsubps, xmm_xmm128_insn, 2, SUF_Z, 0xF2, 0x7D, 0, 0, CPU_SSE3, 0, 0 +ht, NULL, X86_SEGREG>>8, 0x3E, 0, 0, 0, 0, 0, 0, 0 +ibts, ibts_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_Obs, CPU_Undoc +idiv, div_insn, 8, SUF_Z, 0x07, 0, 0, 0, 0, 0, 0 +idivb, div_insn, 8, SUF_B, 0x07, 0, 0, 0, 0, 0, 0 +idivl, div_insn, 8, SUF_L, 0x07, 0, 0, 0, CPU_386, 0, 0 +idivq, div_insn, 8, SUF_Q, 0x07, 0, 0, ONLY_64, 0, 0, 0 +idivw, div_insn, 8, SUF_W, 0x07, 0, 0, 0, 0, 0, 0 +imul, imul_insn, 19, SUF_Z, 0, 0, 0, 0, 0, 0, 0 +imulb, imul_insn, 19, SUF_B, 0, 0, 0, 0, 0, 0, 0 +imull, imul_insn, 19, SUF_L, 0, 0, 0, 0, CPU_386, 0, 0 +imulq, imul_insn, 19, SUF_Q, 0, 0, 0, ONLY_64, 0, 0, 0 +imulw, imul_insn, 19, SUF_W, 0, 0, 0, 0, 0, 0, 0 +in, in_insn, 12, SUF_Z, 0, 0, 0, 0, 0, 0, 0 +inb, in_insn, 12, SUF_B, 0, 0, 0, 0, 0, 0, 0 +inc, incdec_insn, 6, SUF_Z, 0x40, 0x00, 0, 0, 0, 0, 0 +incb, incdec_insn, 6, SUF_B, 0x40, 0x00, 0, 0, 0, 0, 0 +incl, incdec_insn, 6, SUF_L, 0x40, 0x00, 0, 0, CPU_386, 0, 0 +incq, incdec_insn, 6, SUF_Q, 0x40, 0x00, 0, ONLY_64, 0, 0, 0 +incw, incdec_insn, 6, SUF_W, 0x40, 0x00, 0, 0, 0, 0, 0 +inl, in_insn, 12, SUF_L, 0, 0, 0, 0, CPU_386, 0, 0 +insb, onebyte_insn, 1, SUF_Z, 0x6C, 0x00, 0, 0, 0, 0, 0 +insertps, insertps_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_SSE41, 0, 0 +insertq, insertq_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_SSE4a, 0, 0 +insl, onebyte_insn, 1, SUF_Z, 0x6D, 0x20, 0, 0, CPU_386, 0, 0 +insw, onebyte_insn, 1, SUF_Z, 0x6D, 0x10, 0, 0, 0, 0, 0 +int, int_insn, 1, SUF_Z, 0, 0, 0, 0, 0, 0, 0 +int3, onebyte_insn, 1, SUF_Z, 0xCC, 0, 0, 0, 0, 0, 0 +into, onebyte_insn, 1, SUF_Z, 0xCE, 0, 0, NOT_64, 0, 0, 0 +invd, twobyte_insn, 1, SUF_Z, 0x0F, 0x08, 0, 0, CPU_486, CPU_Priv, 0 +invept, eptvpid_insn, 2, SUF_Z, 0x00, 0, 0, 0, CPU_386, CPU_EPTVPID, 0 +inveptl, eptvpid_insn, 2, SUF_L, 0x00, 0, 0, NOT_64, CPU_386, CPU_EPTVPID, 0 +inveptq, eptvpid_insn, 2, SUF_Q, 0x00, 0, 0, ONLY_64, CPU_EPTVPID, 0, 0 +invlpg, twobytemem_insn, 1, SUF_Z, 0x07, 0x0F, 0x01, 0, CPU_486, CPU_Priv, 0 +invlpga, invlpga_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_SVM, 0, 0 +invpcid, invpcid_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_INVPCID, CPU_Priv +invvpid, eptvpid_insn, 2, SUF_Z, 0x01, 0, 0, 0, CPU_386, CPU_EPTVPID, 0 +invvpidl, eptvpid_insn, 2, SUF_L, 0x01, 0, 0, NOT_64, CPU_386, CPU_EPTVPID, 0 +invvpidq, eptvpid_insn, 2, SUF_Q, 0x01, 0, 0, ONLY_64, CPU_EPTVPID, 0, 0 +inw, in_insn, 12, SUF_W, 0, 0, 0, 0, 0, 0, 0 +iret, onebyte_insn, 1, SUF_Z, 0xCF, 0, 0, 0, 0, 0, 0 +iretl, onebyte_insn, 1, SUF_Z, 0xCF, 0x20, 0, 0, CPU_386, 0, 0 +iretq, onebyte_insn, 1, SUF_Z, 0xCF, 0x40, 0, ONLY_64, 0, 0, 0 +iretw, onebyte_insn, 1, SUF_Z, 0xCF, 0x10, 0, 0, 0, 0, 0 +ja, jcc_insn, 9, SUF_Z, 0x07, 0, 0, 0, 0, 0, 0 +jae, jcc_insn, 9, SUF_Z, 0x03, 0, 0, 0, 0, 0, 0 +jb, jcc_insn, 9, SUF_Z, 0x02, 0, 0, 0, 0, 0, 0 +jbe, jcc_insn, 9, SUF_Z, 0x06, 0, 0, 0, 0, 0, 0 +jc, jcc_insn, 9, SUF_Z, 0x02, 0, 0, 0, 0, 0, 0 +jcxz, jcxz_insn, 2, SUF_Z, 0x10, 0, 0, 0, 0, 0, 0 +je, jcc_insn, 9, SUF_Z, 0x04, 0, 0, 0, 0, 0, 0 +jecxz, jcxz_insn, 2, SUF_Z, 0x20, 0, 0, 0, CPU_386, 0, 0 +jg, jcc_insn, 9, SUF_Z, 0x0F, 0, 0, 0, 0, 0, 0 +jge, jcc_insn, 9, SUF_Z, 0x0D, 0, 0, 0, 0, 0, 0 +jl, jcc_insn, 9, SUF_Z, 0x0C, 0, 0, 0, 0, 0, 0 +jle, jcc_insn, 9, SUF_Z, 0x0E, 0, 0, 0, 0, 0, 0 +jmp, jmp_insn, 31, SUF_Z, 0, 0, 0, 0, 0, 0, 0 +jmpl, jmp_insn, 31, SUF_L, 0, 0, 0, 0, CPU_386, 0, 0 +jmpq, jmp_insn, 31, SUF_Q, 0, 0, 0, ONLY_64, 0, 0, 0 +jmpw, jmp_insn, 31, SUF_W, 0, 0, 0, 0, 0, 0, 0 +jna, jcc_insn, 9, SUF_Z, 0x06, 0, 0, 0, 0, 0, 0 +jnae, jcc_insn, 9, SUF_Z, 0x02, 0, 0, 0, 0, 0, 0 +jnb, jcc_insn, 9, SUF_Z, 0x03, 0, 0, 0, 0, 0, 0 +jnbe, jcc_insn, 9, SUF_Z, 0x07, 0, 0, 0, 0, 0, 0 +jnc, jcc_insn, 9, SUF_Z, 0x03, 0, 0, 0, 0, 0, 0 +jne, jcc_insn, 9, SUF_Z, 0x05, 0, 0, 0, 0, 0, 0 +jng, jcc_insn, 9, SUF_Z, 0x0E, 0, 0, 0, 0, 0, 0 +jnge, jcc_insn, 9, SUF_Z, 0x0C, 0, 0, 0, 0, 0, 0 +jnl, jcc_insn, 9, SUF_Z, 0x0D, 0, 0, 0, 0, 0, 0 +jnle, jcc_insn, 9, SUF_Z, 0x0F, 0, 0, 0, 0, 0, 0 +jno, jcc_insn, 9, SUF_Z, 0x01, 0, 0, 0, 0, 0, 0 +jnp, jcc_insn, 9, SUF_Z, 0x0B, 0, 0, 0, 0, 0, 0 +jns, jcc_insn, 9, SUF_Z, 0x09, 0, 0, 0, 0, 0, 0 +jnz, jcc_insn, 9, SUF_Z, 0x05, 0, 0, 0, 0, 0, 0 +jo, jcc_insn, 9, SUF_Z, 0x00, 0, 0, 0, 0, 0, 0 +jp, jcc_insn, 9, SUF_Z, 0x0A, 0, 0, 0, 0, 0, 0 +jpe, jcc_insn, 9, SUF_Z, 0x0A, 0, 0, 0, 0, 0, 0 +jpo, jcc_insn, 9, SUF_Z, 0x0B, 0, 0, 0, 0, 0, 0 +jrcxz, jcxz_insn, 2, SUF_Z, 0x40, 0, 0, ONLY_64, 0, 0, 0 +js, jcc_insn, 9, SUF_Z, 0x08, 0, 0, 0, 0, 0, 0 +jz, jcc_insn, 9, SUF_Z, 0x04, 0, 0, 0, 0, 0, 0 +lahf, onebyte_insn, 1, SUF_Z, 0x9F, 0, 0, 0, 0, 0, 0 +lar, larlsl_insn, 6, SUF_Z, 0x02, 0, 0, 0, CPU_286, CPU_Prot, 0 +larl, larlsl_insn, 6, SUF_L, 0x02, 0, 0, 0, CPU_286, CPU_Prot, 0 +larq, larlsl_insn, 6, SUF_Q, 0x02, 0, 0, ONLY_64, CPU_286, CPU_Prot, 0 +larw, larlsl_insn, 6, SUF_W, 0x02, 0, 0, 0, CPU_286, CPU_Prot, 0 +lcall, ljmpcall_insn, 7, SUF_Z, 0x03, 0x9A, 0, 0, 0, 0, 0 +lcalll, ljmpcall_insn, 7, SUF_L, 0x03, 0x9A, 0, 0, CPU_386, 0, 0 +lcallq, ljmpcall_insn, 7, SUF_Q, 0x03, 0x9A, 0, ONLY_64, 0, 0, 0 +lcallw, ljmpcall_insn, 7, SUF_W, 0x03, 0x9A, 0, 0, 0, 0, 0 +lddqu, lddqu_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_SSE3, 0, 0 +ldmxcsr, ldstmxcsr_insn, 1, SUF_Z, 0x02, 0, 0, 0, CPU_SSE, 0, 0 +lds, ldes_insn, 2, SUF_Z, 0xC5, 0, 0, NOT_64, 0, 0, 0 +ldsl, ldes_insn, 2, SUF_L, 0xC5, 0, 0, NOT_64, CPU_386, 0, 0 +ldsw, ldes_insn, 2, SUF_W, 0xC5, 0, 0, NOT_64, 0, 0, 0 +lea, lea_insn, 3, SUF_Z, 0, 0, 0, 0, 0, 0, 0 +leal, lea_insn, 3, SUF_L, 0, 0, 0, 0, CPU_386, 0, 0 +leaq, lea_insn, 3, SUF_Q, 0, 0, 0, ONLY_64, 0, 0, 0 +leave, onebyte_insn, 1, SUF_Z, 0xC9, 0x00, 0x40, 0, CPU_186, 0, 0 +leavel, onebyte_insn, 1, SUF_Z, 0xC9, 0x00, 0x40, 0, CPU_186, 0, 0 +leaveq, onebyte_insn, 1, SUF_Z, 0xC9, 0x00, 0x40, ONLY_64, 0, 0, 0 +leavew, onebyte_insn, 1, SUF_Z, 0xC9, 0x10, 0x00, 0, CPU_186, 0, 0 +leaw, lea_insn, 3, SUF_W, 0, 0, 0, 0, 0, 0, 0 +les, ldes_insn, 2, SUF_Z, 0xC4, 0, 0, NOT_64, 0, 0, 0 +lesl, ldes_insn, 2, SUF_L, 0xC4, 0, 0, NOT_64, CPU_386, 0, 0 +lesw, ldes_insn, 2, SUF_W, 0xC4, 0, 0, NOT_64, 0, 0, 0 +lfence, threebyte_insn, 1, SUF_Z, 0x0F, 0xAE, 0xE8, 0, CPU_P3, 0, 0 +lfs, lfgss_insn, 3, SUF_Z, 0xB4, 0, 0, 0, CPU_386, 0, 0 +lfsl, lfgss_insn, 3, SUF_L, 0xB4, 0, 0, 0, CPU_386, 0, 0 +lfsq, lfgss_insn, 3, SUF_Q, 0xB4, 0, 0, ONLY_64, CPU_386, 0, 0 +lfsw, lfgss_insn, 3, SUF_W, 0xB4, 0, 0, 0, CPU_386, 0, 0 +lgdt, twobytemem_insn, 1, SUF_Z, 0x02, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0 +lgdtl, twobytemem_insn, 1, SUF_L, 0x02, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0 +lgdtq, twobytemem_insn, 1, SUF_Q, 0x02, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0 +lgdtw, twobytemem_insn, 1, SUF_W, 0x02, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0 +lgs, lfgss_insn, 3, SUF_Z, 0xB5, 0, 0, 0, CPU_386, 0, 0 +lgsl, lfgss_insn, 3, SUF_L, 0xB5, 0, 0, 0, CPU_386, 0, 0 +lgsq, lfgss_insn, 3, SUF_Q, 0xB5, 0, 0, ONLY_64, CPU_386, 0, 0 +lgsw, lfgss_insn, 3, SUF_W, 0xB5, 0, 0, 0, CPU_386, 0, 0 +lidt, twobytemem_insn, 1, SUF_Z, 0x03, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0 +lidtl, twobytemem_insn, 1, SUF_L, 0x03, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0 +lidtq, twobytemem_insn, 1, SUF_Q, 0x03, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0 +lidtw, twobytemem_insn, 1, SUF_W, 0x03, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0 +ljmp, ljmpcall_insn, 7, SUF_Z, 0x05, 0xEA, 0, 0, 0, 0, 0 +ljmpl, ljmpcall_insn, 7, SUF_L, 0x05, 0xEA, 0, 0, CPU_386, 0, 0 +ljmpq, ljmpcall_insn, 7, SUF_Q, 0x05, 0xEA, 0, ONLY_64, 0, 0, 0 +ljmpw, ljmpcall_insn, 7, SUF_W, 0x05, 0xEA, 0, 0, 0, 0, 0 +lldt, prot286_insn, 1, SUF_Z, 0x02, 0x00, 0, 0, CPU_286, CPU_Priv, CPU_Prot +lldtw, prot286_insn, 1, SUF_W, 0x02, 0x00, 0, 0, CPU_286, CPU_Priv, CPU_Prot +lmsw, prot286_insn, 1, SUF_Z, 0x06, 0x01, 0, 0, CPU_286, CPU_Priv, 0 +lmsww, prot286_insn, 1, SUF_W, 0x06, 0x01, 0, 0, CPU_286, CPU_Priv, 0 +loadall, twobyte_insn, 1, SUF_Z, 0x0F, 0x07, 0, 0, CPU_386, CPU_Undoc, 0 +loadall286, twobyte_insn, 1, SUF_Z, 0x0F, 0x05, 0, 0, CPU_286, CPU_Undoc, 0 +lock, NULL, X86_LOCKREP>>8, 0xF0, 0, 0, 0, 0, 0, 0, 0 +lodsb, onebyte_insn, 1, SUF_Z, 0xAC, 0x00, 0, 0, 0, 0, 0 +lodsl, onebyte_insn, 1, SUF_Z, 0xAD, 0x20, 0, 0, CPU_386, 0, 0 +lodsq, onebyte_insn, 1, SUF_Z, 0xAD, 0x40, 0, ONLY_64, 0, 0, 0 +lodsw, onebyte_insn, 1, SUF_Z, 0xAD, 0x10, 0, 0, 0, 0, 0 +loop, loop_insn, 8, SUF_Z, 0x02, 0, 0, 0, 0, 0, 0 +loope, loop_insn, 8, SUF_Z, 0x01, 0, 0, 0, 0, 0, 0 +loopel, loopl_insn, 4, SUF_Z, 0x01, 0x20, 0, 0, 0, 0, 0 +loopeq, loopq_insn, 4, SUF_Z, 0x01, 0x40, 0, ONLY_64, 0, 0, 0 +loopew, loopw_insn, 4, SUF_Z, 0x01, 0x10, 0, NOT_64, 0, 0, 0 +loopl, loopl_insn, 4, SUF_Z, 0x02, 0x20, 0, 0, 0, 0, 0 +loopne, loop_insn, 8, SUF_Z, 0x00, 0, 0, 0, 0, 0, 0 +loopnel, loopl_insn, 4, SUF_Z, 0x00, 0x20, 0, 0, 0, 0, 0 +loopneq, loopq_insn, 4, SUF_Z, 0x00, 0x40, 0, ONLY_64, 0, 0, 0 +loopnew, loopw_insn, 4, SUF_Z, 0x00, 0x10, 0, NOT_64, 0, 0, 0 +loopnz, loop_insn, 8, SUF_Z, 0x00, 0, 0, 0, 0, 0, 0 +loopnzl, loopl_insn, 4, SUF_Z, 0x00, 0x20, 0, 0, 0, 0, 0 +loopnzq, loopq_insn, 4, SUF_Z, 0x00, 0x40, 0, ONLY_64, 0, 0, 0 +loopnzw, loopw_insn, 4, SUF_Z, 0x00, 0x10, 0, NOT_64, 0, 0, 0 +loopq, loopq_insn, 4, SUF_Z, 0x02, 0x40, 0, ONLY_64, 0, 0, 0 +loopw, loopw_insn, 4, SUF_Z, 0x02, 0x10, 0, NOT_64, 0, 0, 0 +loopz, loop_insn, 8, SUF_Z, 0x01, 0, 0, 0, 0, 0, 0 +loopzl, loopl_insn, 4, SUF_Z, 0x01, 0x20, 0, 0, 0, 0, 0 +loopzq, loopq_insn, 4, SUF_Z, 0x01, 0x40, 0, ONLY_64, 0, 0, 0 +loopzw, loopw_insn, 4, SUF_Z, 0x01, 0x10, 0, NOT_64, 0, 0, 0 +lret, retnf_insn, 6, SUF_Z, 0xCA, 0, 0, 0, 0, 0, 0 +lretl, retnf_insn, 6, SUF_L, 0xCA, 0, 0, 0, 0, 0, 0 +lretq, retnf_insn, 6, SUF_Q, 0xCA, 0x40, 0, ONLY_64, 0, 0, 0 +lretw, retnf_insn, 6, SUF_W, 0xCA, 0x10, 0, 0, 0, 0, 0 +lsl, larlsl_insn, 6, SUF_Z, 0x03, 0, 0, 0, CPU_286, CPU_Prot, 0 +lsll, larlsl_insn, 6, SUF_L, 0x03, 0, 0, 0, CPU_286, CPU_Prot, 0 +lslq, larlsl_insn, 6, SUF_Q, 0x03, 0, 0, ONLY_64, CPU_286, CPU_Prot, 0 +lslw, larlsl_insn, 6, SUF_W, 0x03, 0, 0, 0, CPU_286, CPU_Prot, 0 +lss, lfgss_insn, 3, SUF_Z, 0xB2, 0, 0, 0, CPU_386, 0, 0 +lssl, lfgss_insn, 3, SUF_L, 0xB2, 0, 0, 0, CPU_386, 0, 0 +lssq, lfgss_insn, 3, SUF_Q, 0xB2, 0, 0, ONLY_64, CPU_386, 0, 0 +lssw, lfgss_insn, 3, SUF_W, 0xB2, 0, 0, 0, CPU_386, 0, 0 +ltr, prot286_insn, 1, SUF_Z, 0x03, 0x00, 0, 0, CPU_286, CPU_Priv, CPU_Prot +ltrw, prot286_insn, 1, SUF_W, 0x03, 0x00, 0, 0, CPU_286, CPU_Priv, CPU_Prot +lzcnt, cnt_insn, 3, SUF_Z, 0xBD, 0, 0, 0, CPU_LZCNT, 0, 0 +lzcntl, cnt_insn, 3, SUF_L, 0xBD, 0, 0, 0, CPU_LZCNT, 0, 0 +lzcntq, cnt_insn, 3, SUF_Q, 0xBD, 0, 0, ONLY_64, CPU_LZCNT, 0, 0 +lzcntw, cnt_insn, 3, SUF_W, 0xBD, 0, 0, 0, CPU_LZCNT, 0, 0 +maskmovdqu, maskmovdqu_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SSE2, 0, 0 +maskmovq, maskmovq_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_MMX, CPU_P3, 0 +maxpd, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x5F, 0, 0, CPU_SSE2, 0, 0 +maxps, xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x5F, 0, 0, CPU_SSE, 0, 0 +maxsd, xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5F, 0, 0, CPU_SSE2, 0, 0 +maxss, xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5F, 0, 0, CPU_SSE, 0, 0 +mfence, threebyte_insn, 1, SUF_Z, 0x0F, 0xAE, 0xF0, 0, CPU_P3, 0, 0 +minpd, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x5D, 0, 0, CPU_SSE2, 0, 0 +minps, xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x5D, 0, 0, CPU_SSE, 0, 0 +minsd, xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5D, 0, 0, CPU_SSE2, 0, 0 +minss, xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5D, 0, 0, CPU_SSE, 0, 0 +monitor, threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xC8, 0, CPU_SSE3, 0, 0 +montmul, padlock_insn, 1, SUF_Z, 0xC0, 0xF3, 0xA6, 0, CPU_PadLock, 0, 0 +mov, mov_insn, 69, SUF_Z, 0, 0, 0, 0, 0, 0, 0 +movabs, movabs_insn, 9, SUF_Z, 0, 0, 0, ONLY_64, 0, 0, 0 +movabsb, movabs_insn, 9, SUF_B, 0, 0, 0, ONLY_64, 0, 0, 0 +movabsl, movabs_insn, 9, SUF_L, 0, 0, 0, ONLY_64, 0, 0, 0 +movabsq, movabs_insn, 9, SUF_Q, 0, 0, 0, ONLY_64, 0, 0, 0 +movabsw, movabs_insn, 9, SUF_W, 0, 0, 0, ONLY_64, 0, 0, 0 +movapd, movau_insn, 6, SUF_Z, 0x66, 0x28, 0x01, 0, CPU_SSE2, 0, 0 +movaps, movau_insn, 6, SUF_Z, 0x00, 0x28, 0x01, 0, CPU_SSE, 0, 0 +movb, mov_insn, 69, SUF_B, 0, 0, 0, 0, 0, 0, 0 +movbe, movbe_insn, 6, SUF_Z, 0, 0, 0, 0, CPU_MOVBE, 0, 0 +movd, movd_insn, 8, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_MMX, 0 +movddup, xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x12, 0, 0, CPU_SSE3, 0, 0 +movdq2q, movdq2q_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SSE2, 0, 0 +movdqa, movau_insn, 6, SUF_Z, 0x66, 0x6F, 0x10, 0, CPU_SSE2, 0, 0 +movdqu, movau_insn, 6, SUF_Z, 0xF3, 0x6F, 0x10, 0, CPU_SSE2, 0, 0 +movhlps, movhllhps_insn, 2, SUF_Z, 0x12, 0, 0, 0, CPU_SSE, 0, 0 +movhpd, movhlp_insn, 3, SUF_Z, 0x66, 0x16, 0, 0, CPU_SSE2, 0, 0 +movhps, movhlp_insn, 3, SUF_Z, 0x00, 0x16, 0, 0, CPU_SSE, 0, 0 +movl, mov_insn, 69, SUF_L, 0, 0, 0, 0, CPU_386, 0, 0 +movlhps, movhllhps_insn, 2, SUF_Z, 0x16, 0, 0, 0, CPU_SSE, 0, 0 +movlpd, movhlp_insn, 3, SUF_Z, 0x66, 0x12, 0, 0, CPU_SSE2, 0, 0 +movlps, movhlp_insn, 3, SUF_Z, 0x00, 0x12, 0, 0, CPU_SSE, 0, 0 +movmskpd, movmsk_insn, 4, SUF_Z, 0x66, 0, 0, 0, CPU_SSE2, 0, 0 +movmskpdl, movmsk_insn, 4, SUF_L, 0x66, 0, 0, 0, CPU_SSE2, 0, 0 +movmskpdq, movmsk_insn, 4, SUF_Q, 0x66, 0, 0, ONLY_64, CPU_SSE2, 0, 0 +movmskps, movmsk_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_SSE, 0 +movmskpsl, movmsk_insn, 4, SUF_L, 0, 0, 0, 0, CPU_386, CPU_SSE, 0 +movmskpsq, movmsk_insn, 4, SUF_Q, 0, 0, 0, ONLY_64, CPU_SSE, 0, 0 +movntdq, movnt_insn, 2, SUF_Z, 0x66, 0xE7, 0, 0, CPU_SSE2, 0, 0 +movntdqa, movntdqa_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_SSE41, 0, 0 +movnti, movnti_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_P4, 0, 0 +movntil, movnti_insn, 2, SUF_L, 0, 0, 0, 0, CPU_P4, 0, 0 +movntiq, movnti_insn, 2, SUF_Q, 0, 0, 0, ONLY_64, CPU_P4, 0, 0 +movntpd, movnt_insn, 2, SUF_Z, 0x66, 0x2B, 0, 0, CPU_SSE2, 0, 0 +movntps, movnt_insn, 2, SUF_Z, 0x00, 0x2B, 0, 0, CPU_SSE, 0, 0 +movntq, movntq_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SSE, 0, 0 +movntsd, movntsd_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SSE4a, 0, 0 +movntss, movntss_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SSE4a, 0, 0 +movq, mov_insn, 69, SUF_Q, 0, 0, 0, 0, 0, 0, 0 +movq2dq, movq2dq_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SSE2, 0, 0 +movsb, onebyte_insn, 1, SUF_Z, 0xA4, 0x00, 0, 0, 0, 0, 0 +movsbl, movszx_insn, 5, SUF_B, 0xBE, 0, 0, 0, CPU_386, 0, 0 +movsbq, movszx_insn, 5, SUF_B, 0xBE, 0, 0, ONLY_64, CPU_386, 0, 0 +movsbw, movszx_insn, 5, SUF_B, 0xBE, 0, 0, 0, CPU_386, 0, 0 +movsd, movsd_insn, 5, SUF_Z, 0, 0, 0, 0, CPU_386, 0, 0 +movshdup, xmm_xmm128_insn, 2, SUF_Z, 0xF3, 0x16, 0, 0, CPU_SSE3, 0, 0 +movsl, onebyte_insn, 1, SUF_Z, 0xA5, 0x20, 0, 0, CPU_386, 0, 0 +movsldup, xmm_xmm128_insn, 2, SUF_Z, 0xF3, 0x12, 0, 0, CPU_SSE3, 0, 0 +movslq, movsxd_insn, 1, SUF_L, 0, 0, 0, ONLY_64, 0, 0, 0 +movsq, onebyte_insn, 1, SUF_Z, 0xA5, 0x40, 0, ONLY_64, 0, 0, 0 +movss, movss_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_SSE, 0, 0 +movsw, onebyte_insn, 1, SUF_Z, 0xA5, 0x10, 0, 0, 0, 0, 0 +movswl, movszx_insn, 5, SUF_W, 0xBE, 0, 0, 0, CPU_386, 0, 0 +movswq, movszx_insn, 5, SUF_W, 0xBE, 0, 0, ONLY_64, CPU_386, 0, 0 +movsx, movszx_insn, 5, SUF_Z, 0xBE, 0, 0, 0, CPU_386, 0, 0 +movsxb, movszx_insn, 5, SUF_B, 0xBE, 0, 0, 0, CPU_386, 0, 0 +movsxw, movszx_insn, 5, SUF_W, 0xBE, 0, 0, 0, CPU_386, 0, 0 +movupd, movau_insn, 6, SUF_Z, 0x66, 0x10, 0x01, 0, CPU_SSE2, 0, 0 +movups, movau_insn, 6, SUF_Z, 0x00, 0x10, 0x01, 0, CPU_SSE, 0, 0 +movw, mov_insn, 69, SUF_W, 0, 0, 0, 0, 0, 0, 0 +movzbl, movszx_insn, 5, SUF_B, 0xB6, 0, 0, 0, CPU_386, 0, 0 +movzbq, movszx_insn, 5, SUF_B, 0xB6, 0, 0, ONLY_64, CPU_386, 0, 0 +movzbw, movszx_insn, 5, SUF_B, 0xB6, 0, 0, 0, CPU_386, 0, 0 +movzwl, movszx_insn, 5, SUF_W, 0xB6, 0, 0, 0, CPU_386, 0, 0 +movzwq, movszx_insn, 5, SUF_W, 0xB6, 0, 0, ONLY_64, CPU_386, 0, 0 +movzx, movszx_insn, 5, SUF_Z, 0xB6, 0, 0, 0, CPU_386, 0, 0 +movzxb, movszx_insn, 5, SUF_B, 0xB6, 0, 0, 0, CPU_386, 0, 0 +movzxw, movszx_insn, 5, SUF_W, 0xB6, 0, 0, 0, CPU_386, 0, 0 +mpsadbw, sse4imm_insn, 2, SUF_Z, 0x42, 0, 0, 0, CPU_SSE41, 0, 0 +mul, f6_insn, 4, SUF_Z, 0x04, 0, 0, 0, 0, 0, 0 +mulb, f6_insn, 4, SUF_B, 0x04, 0, 0, 0, 0, 0, 0 +mull, f6_insn, 4, SUF_L, 0x04, 0, 0, 0, CPU_386, 0, 0 +mulpd, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x59, 0, 0, CPU_SSE2, 0, 0 +mulps, xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x59, 0, 0, CPU_SSE, 0, 0 +mulq, f6_insn, 4, SUF_Q, 0x04, 0, 0, ONLY_64, 0, 0, 0 +mulsd, xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x59, 0, 0, CPU_SSE2, 0, 0 +mulss, xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x59, 0, 0, CPU_SSE, 0, 0 +mulw, f6_insn, 4, SUF_W, 0x04, 0, 0, 0, 0, 0, 0 +mulx, vex_gpr_reg_nds_rm_0F_insn, 2, SUF_Z, 0xF2, 0x38, 0xF6, ONLY_AVX, CPU_BMI2, 0, 0 +mulxl, vex_gpr_reg_nds_rm_0F_insn, 2, SUF_L, 0xF2, 0x38, 0xF6, ONLY_AVX, CPU_BMI2, 0, 0 +mulxq, vex_gpr_reg_nds_rm_0F_insn, 2, SUF_Q, 0xF2, 0x38, 0xF6, ONLY_64|ONLY_AVX, CPU_BMI2, 0, 0 +mwait, threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xC9, 0, CPU_SSE3, 0, 0 +neg, f6_insn, 4, SUF_Z, 0x03, 0, 0, 0, 0, 0, 0 +negb, f6_insn, 4, SUF_B, 0x03, 0, 0, 0, 0, 0, 0 +negl, f6_insn, 4, SUF_L, 0x03, 0, 0, 0, CPU_386, 0, 0 +negq, f6_insn, 4, SUF_Q, 0x03, 0, 0, ONLY_64, 0, 0, 0 +negw, f6_insn, 4, SUF_W, 0x03, 0, 0, 0, 0, 0, 0 +nop, onebyte_insn, 1, SUF_Z, 0x90, 0, 0, 0, 0, 0, 0 +not, f6_insn, 4, SUF_Z, 0x02, 0, 0, 0, 0, 0, 0 +notb, f6_insn, 4, SUF_B, 0x02, 0, 0, 0, 0, 0, 0 +notl, f6_insn, 4, SUF_L, 0x02, 0, 0, 0, CPU_386, 0, 0 +notq, f6_insn, 4, SUF_Q, 0x02, 0, 0, ONLY_64, 0, 0, 0 +notw, f6_insn, 4, SUF_W, 0x02, 0, 0, 0, 0, 0, 0 +or, arith_insn, 22, SUF_Z, 0x08, 0x01, 0, 0, 0, 0, 0 +orb, arith_insn, 22, SUF_B, 0x08, 0x01, 0, 0, 0, 0, 0 +orl, arith_insn, 22, SUF_L, 0x08, 0x01, 0, 0, CPU_386, 0, 0 +orpd, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x56, 0, 0, CPU_SSE2, 0, 0 +orps, xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x56, 0, 0, CPU_SSE, 0, 0 +orq, arith_insn, 22, SUF_Q, 0x08, 0x01, 0, ONLY_64, 0, 0, 0 +orw, arith_insn, 22, SUF_W, 0x08, 0x01, 0, 0, 0, 0, 0 +out, out_insn, 12, SUF_Z, 0, 0, 0, 0, 0, 0, 0 +outb, out_insn, 12, SUF_B, 0, 0, 0, 0, 0, 0, 0 +outl, out_insn, 12, SUF_L, 0, 0, 0, 0, CPU_386, 0, 0 +outsb, onebyte_insn, 1, SUF_Z, 0x6E, 0x00, 0, 0, 0, 0, 0 +outsl, onebyte_insn, 1, SUF_Z, 0x6F, 0x20, 0, 0, CPU_386, 0, 0 +outsw, onebyte_insn, 1, SUF_Z, 0x6F, 0x10, 0, 0, 0, 0, 0 +outw, out_insn, 12, SUF_W, 0, 0, 0, 0, 0, 0, 0 +pabsb, ssse3_insn, 5, SUF_Z, 0x1C, 0, 0, 0, CPU_SSSE3, 0, 0 +pabsd, ssse3_insn, 5, SUF_Z, 0x1E, 0, 0, 0, CPU_SSSE3, 0, 0 +pabsw, ssse3_insn, 5, SUF_Z, 0x1D, 0, 0, 0, CPU_SSSE3, 0, 0 +packssdw, mmxsse2_insn, 2, SUF_Z, 0x6B, 0, 0, 0, CPU_MMX, 0, 0 +packsswb, mmxsse2_insn, 2, SUF_Z, 0x63, 0, 0, 0, CPU_MMX, 0, 0 +packusdw, sse4_insn, 2, SUF_Z, 0x2B, 0, 0, 0, CPU_SSE41, 0, 0 +packuswb, mmxsse2_insn, 2, SUF_Z, 0x67, 0, 0, 0, CPU_MMX, 0, 0 +paddb, mmxsse2_insn, 2, SUF_Z, 0xFC, 0, 0, 0, CPU_MMX, 0, 0 +paddd, mmxsse2_insn, 2, SUF_Z, 0xFE, 0, 0, 0, CPU_MMX, 0, 0 +paddq, mmxsse2_insn, 2, SUF_Z, 0xD4, 0, 0, 0, CPU_MMX, 0, 0 +paddsb, mmxsse2_insn, 2, SUF_Z, 0xEC, 0, 0, 0, CPU_MMX, 0, 0 +paddsiw, cyrixmmx_insn, 1, SUF_Z, 0x51, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0 +paddsw, mmxsse2_insn, 2, SUF_Z, 0xED, 0, 0, 0, CPU_MMX, 0, 0 +paddusb, mmxsse2_insn, 2, SUF_Z, 0xDC, 0, 0, 0, CPU_MMX, 0, 0 +paddusw, mmxsse2_insn, 2, SUF_Z, 0xDD, 0, 0, 0, CPU_MMX, 0, 0 +paddw, mmxsse2_insn, 2, SUF_Z, 0xFD, 0, 0, 0, CPU_MMX, 0, 0 +palignr, ssse3imm_insn, 2, SUF_Z, 0x0F, 0, 0, 0, CPU_SSSE3, 0, 0 +pand, mmxsse2_insn, 2, SUF_Z, 0xDB, 0, 0, 0, CPU_MMX, 0, 0 +pandn, mmxsse2_insn, 2, SUF_Z, 0xDF, 0, 0, 0, CPU_MMX, 0, 0 +pause, onebyte_prefix_insn, 1, SUF_Z, 0xF3, 0x90, 0, 0, CPU_P4, 0, 0 +paveb, cyrixmmx_insn, 1, SUF_Z, 0x50, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0 +pavgb, mmxsse2_insn, 2, SUF_Z, 0xE0, 0, 0, 0, CPU_MMX, CPU_P3, 0 +pavgusb, now3d_insn, 1, SUF_Z, 0xBF, 0, 0, 0, CPU_3DNow, 0, 0 +pavgw, mmxsse2_insn, 2, SUF_Z, 0xE3, 0, 0, 0, CPU_MMX, CPU_P3, 0 +pblendvb, sse4xmm0_insn, 2, SUF_Z, 0x10, 0, 0, 0, CPU_SSE41, 0, 0 +pblendw, sse4imm_insn, 2, SUF_Z, 0x0E, 0, 0, 0, CPU_SSE41, 0, 0 +pclmulhqhqdq, pclmulqdq_fixed_insn, 2, SUF_Z, 0x11, 0, 0, 0, CPU_AVX, 0, 0 +pclmulhqlqdq, pclmulqdq_fixed_insn, 2, SUF_Z, 0x01, 0, 0, 0, CPU_AVX, 0, 0 +pclmullqhqdq, pclmulqdq_fixed_insn, 2, SUF_Z, 0x10, 0, 0, 0, CPU_AVX, 0, 0 +pclmullqlqdq, pclmulqdq_fixed_insn, 2, SUF_Z, 0x00, 0, 0, 0, CPU_AVX, 0, 0 +pclmulqdq, pclmulqdq_insn, 2, SUF_Z, 0x3A, 0x44, 0, 0, CPU_AVX, 0, 0 +pcmpeqb, mmxsse2_insn, 2, SUF_Z, 0x74, 0, 0, 0, CPU_MMX, 0, 0 +pcmpeqd, mmxsse2_insn, 2, SUF_Z, 0x76, 0, 0, 0, CPU_MMX, 0, 0 +pcmpeqq, sse4_insn, 2, SUF_Z, 0x29, 0, 0, 0, CPU_SSE41, 0, 0 +pcmpeqw, mmxsse2_insn, 2, SUF_Z, 0x75, 0, 0, 0, CPU_MMX, 0, 0 +pcmpestri, sse4pcmpstr_insn, 1, SUF_Z, 0x61, 0, 0, 0, CPU_SSE42, 0, 0 +pcmpestrm, sse4pcmpstr_insn, 1, SUF_Z, 0x60, 0, 0, 0, CPU_SSE42, 0, 0 +pcmpgtb, mmxsse2_insn, 2, SUF_Z, 0x64, 0, 0, 0, CPU_MMX, 0, 0 +pcmpgtd, mmxsse2_insn, 2, SUF_Z, 0x66, 0, 0, 0, CPU_MMX, 0, 0 +pcmpgtq, sse4_insn, 2, SUF_Z, 0x37, 0, 0, 0, CPU_SSE41, 0, 0 +pcmpgtw, mmxsse2_insn, 2, SUF_Z, 0x65, 0, 0, 0, CPU_MMX, 0, 0 +pcmpistri, sse4pcmpstr_insn, 1, SUF_Z, 0x63, 0, 0, 0, CPU_SSE42, 0, 0 +pcmpistrm, sse4pcmpstr_insn, 1, SUF_Z, 0x62, 0, 0, 0, CPU_SSE42, 0, 0 +pdep, vex_gpr_reg_nds_rm_0F_insn, 2, SUF_Z, 0xF2, 0x38, 0xF5, ONLY_AVX, CPU_BMI2, 0, 0 +pdepl, vex_gpr_reg_nds_rm_0F_insn, 2, SUF_L, 0xF2, 0x38, 0xF5, ONLY_AVX, CPU_BMI2, 0, 0 +pdepq, vex_gpr_reg_nds_rm_0F_insn, 2, SUF_Q, 0xF2, 0x38, 0xF5, ONLY_64|ONLY_AVX, CPU_BMI2, 0, 0 +pdistib, cyrixmmx_insn, 1, SUF_Z, 0x54, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0 +pext, vex_gpr_reg_nds_rm_0F_insn, 2, SUF_Z, 0xF3, 0x38, 0xF5, ONLY_AVX, CPU_BMI2, 0, 0 +pextl, vex_gpr_reg_nds_rm_0F_insn, 2, SUF_L, 0xF3, 0x38, 0xF5, ONLY_AVX, CPU_BMI2, 0, 0 +pextq, vex_gpr_reg_nds_rm_0F_insn, 2, SUF_Q, 0xF3, 0x38, 0xF5, ONLY_64|ONLY_AVX, CPU_BMI2, 0, 0 +pextrb, pextrb_insn, 3, SUF_Z, 0, 0, 0, 0, CPU_SSE41, 0, 0 +pextrd, pextrd_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_SSE41, 0 +pextrq, pextrq_insn, 1, SUF_Z, 0, 0, 0, ONLY_64, CPU_SSE41, 0, 0 +pextrw, pextrw_insn, 7, SUF_Z, 0, 0, 0, 0, CPU_MMX, CPU_P3, 0 +pextrwl, pextrw_insn, 7, SUF_L, 0, 0, 0, 0, CPU_MMX, CPU_P3, 0 +pextrwq, pextrw_insn, 7, SUF_Q, 0, 0, 0, ONLY_64, CPU_MMX, CPU_P3, 0 +pf2id, now3d_insn, 1, SUF_Z, 0x1D, 0, 0, 0, CPU_3DNow, 0, 0 +pf2iw, now3d_insn, 1, SUF_Z, 0x1C, 0, 0, 0, CPU_3DNow, CPU_Athlon, 0 +pfacc, now3d_insn, 1, SUF_Z, 0xAE, 0, 0, 0, CPU_3DNow, 0, 0 +pfadd, now3d_insn, 1, SUF_Z, 0x9E, 0, 0, 0, CPU_3DNow, 0, 0 +pfcmpeq, now3d_insn, 1, SUF_Z, 0xB0, 0, 0, 0, CPU_3DNow, 0, 0 +pfcmpge, now3d_insn, 1, SUF_Z, 0x90, 0, 0, 0, CPU_3DNow, 0, 0 +pfcmpgt, now3d_insn, 1, SUF_Z, 0xA0, 0, 0, 0, CPU_3DNow, 0, 0 +pfmax, now3d_insn, 1, SUF_Z, 0xA4, 0, 0, 0, CPU_3DNow, 0, 0 +pfmin, now3d_insn, 1, SUF_Z, 0x94, 0, 0, 0, CPU_3DNow, 0, 0 +pfmul, now3d_insn, 1, SUF_Z, 0xB4, 0, 0, 0, CPU_3DNow, 0, 0 +pfnacc, now3d_insn, 1, SUF_Z, 0x8A, 0, 0, 0, CPU_3DNow, CPU_Athlon, 0 +pfpnacc, now3d_insn, 1, SUF_Z, 0x8E, 0, 0, 0, CPU_3DNow, CPU_Athlon, 0 +pfrcp, now3d_insn, 1, SUF_Z, 0x96, 0, 0, 0, CPU_3DNow, 0, 0 +pfrcpit1, now3d_insn, 1, SUF_Z, 0xA6, 0, 0, 0, CPU_3DNow, 0, 0 +pfrcpit2, now3d_insn, 1, SUF_Z, 0xB6, 0, 0, 0, CPU_3DNow, 0, 0 +pfrsqit1, now3d_insn, 1, SUF_Z, 0xA7, 0, 0, 0, CPU_3DNow, 0, 0 +pfrsqrt, now3d_insn, 1, SUF_Z, 0x97, 0, 0, 0, CPU_3DNow, 0, 0 +pfsub, now3d_insn, 1, SUF_Z, 0x9A, 0, 0, 0, CPU_3DNow, 0, 0 +pfsubr, now3d_insn, 1, SUF_Z, 0xAA, 0, 0, 0, CPU_3DNow, 0, 0 +phaddd, ssse3_insn, 5, SUF_Z, 0x02, 0, 0, 0, CPU_SSSE3, 0, 0 +phaddsw, ssse3_insn, 5, SUF_Z, 0x03, 0, 0, 0, CPU_SSSE3, 0, 0 +phaddw, ssse3_insn, 5, SUF_Z, 0x01, 0, 0, 0, CPU_SSSE3, 0, 0 +phminposuw, sse4_insn, 2, SUF_Z, 0x41, 0, 0, 0, CPU_SSE41, 0, 0 +phsubd, ssse3_insn, 5, SUF_Z, 0x06, 0, 0, 0, CPU_SSSE3, 0, 0 +phsubsw, ssse3_insn, 5, SUF_Z, 0x07, 0, 0, 0, CPU_SSSE3, 0, 0 +phsubw, ssse3_insn, 5, SUF_Z, 0x05, 0, 0, 0, CPU_SSSE3, 0, 0 +pi2fd, now3d_insn, 1, SUF_Z, 0x0D, 0, 0, 0, CPU_3DNow, 0, 0 +pi2fw, now3d_insn, 1, SUF_Z, 0x0C, 0, 0, 0, CPU_3DNow, CPU_Athlon, 0 +pinsrb, pinsrb_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_SSE41, 0, 0 +pinsrd, pinsrd_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_SSE41, 0 +pinsrq, pinsrq_insn, 2, SUF_Z, 0, 0, 0, ONLY_64, CPU_SSE41, 0, 0 +pinsrw, pinsrw_insn, 9, SUF_Z, 0, 0, 0, 0, CPU_MMX, CPU_P3, 0 +pinsrwl, pinsrw_insn, 9, SUF_L, 0, 0, 0, 0, CPU_MMX, CPU_P3, 0 +pinsrwq, pinsrw_insn, 9, SUF_Q, 0, 0, 0, ONLY_64, CPU_MMX, CPU_P3, 0 +pmachriw, pmachriw_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0 +pmaddubsw, ssse3_insn, 5, SUF_Z, 0x04, 0, 0, 0, CPU_SSSE3, 0, 0 +pmaddwd, mmxsse2_insn, 2, SUF_Z, 0xF5, 0, 0, 0, CPU_MMX, 0, 0 +pmagw, cyrixmmx_insn, 1, SUF_Z, 0x52, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0 +pmaxsb, sse4_insn, 2, SUF_Z, 0x3C, 0, 0, 0, CPU_SSE41, 0, 0 +pmaxsd, sse4_insn, 2, SUF_Z, 0x3D, 0, 0, 0, CPU_SSE41, 0, 0 +pmaxsw, mmxsse2_insn, 2, SUF_Z, 0xEE, 0, 0, 0, CPU_MMX, CPU_P3, 0 +pmaxub, mmxsse2_insn, 2, SUF_Z, 0xDE, 0, 0, 0, CPU_MMX, CPU_P3, 0 +pmaxud, sse4_insn, 2, SUF_Z, 0x3F, 0, 0, 0, CPU_SSE41, 0, 0 +pmaxuw, sse4_insn, 2, SUF_Z, 0x3E, 0, 0, 0, CPU_SSE41, 0, 0 +pminsb, sse4_insn, 2, SUF_Z, 0x38, 0, 0, 0, CPU_SSE41, 0, 0 +pminsd, sse4_insn, 2, SUF_Z, 0x39, 0, 0, 0, CPU_SSE41, 0, 0 +pminsw, mmxsse2_insn, 2, SUF_Z, 0xEA, 0, 0, 0, CPU_MMX, CPU_P3, 0 +pminub, mmxsse2_insn, 2, SUF_Z, 0xDA, 0, 0, 0, CPU_MMX, CPU_P3, 0 +pminud, sse4_insn, 2, SUF_Z, 0x3B, 0, 0, 0, CPU_SSE41, 0, 0 +pminuw, sse4_insn, 2, SUF_Z, 0x3A, 0, 0, 0, CPU_SSE41, 0, 0 +pmovmskb, pmovmskb_insn, 6, SUF_Z, 0, 0, 0, 0, CPU_MMX, CPU_P3, 0 +pmovmskbl, pmovmskb_insn, 6, SUF_L, 0, 0, 0, 0, CPU_MMX, CPU_P3, 0 +pmovmskbq, pmovmskb_insn, 6, SUF_Q, 0, 0, 0, ONLY_64, CPU_MMX, CPU_P3, 0 +pmovsxbd, sse4m32_insn, 4, SUF_Z, 0x21, 0, 0, 0, CPU_SSE41, 0, 0 +pmovsxbq, sse4m16_insn, 4, SUF_Z, 0x22, 0, 0, 0, CPU_SSE41, 0, 0 +pmovsxbw, sse4m64_insn, 4, SUF_Z, 0x20, 0, 0, 0, CPU_SSE41, 0, 0 +pmovsxdq, sse4m64_insn, 4, SUF_Z, 0x25, 0, 0, 0, CPU_SSE41, 0, 0 +pmovsxwd, sse4m64_insn, 4, SUF_Z, 0x23, 0, 0, 0, CPU_SSE41, 0, 0 +pmovsxwq, sse4m32_insn, 4, SUF_Z, 0x24, 0, 0, 0, CPU_SSE41, 0, 0 +pmovzxbd, sse4m32_insn, 4, SUF_Z, 0x31, 0, 0, 0, CPU_SSE41, 0, 0 +pmovzxbq, sse4m16_insn, 4, SUF_Z, 0x32, 0, 0, 0, CPU_SSE41, 0, 0 +pmovzxbw, sse4m64_insn, 4, SUF_Z, 0x30, 0, 0, 0, CPU_SSE41, 0, 0 +pmovzxdq, sse4m64_insn, 4, SUF_Z, 0x35, 0, 0, 0, CPU_SSE41, 0, 0 +pmovzxwd, sse4m64_insn, 4, SUF_Z, 0x33, 0, 0, 0, CPU_SSE41, 0, 0 +pmovzxwq, sse4m32_insn, 4, SUF_Z, 0x34, 0, 0, 0, CPU_SSE41, 0, 0 +pmuldq, sse4_insn, 2, SUF_Z, 0x28, 0, 0, 0, CPU_SSE41, 0, 0 +pmulhriw, cyrixmmx_insn, 1, SUF_Z, 0x5D, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0 +pmulhrsw, ssse3_insn, 5, SUF_Z, 0x0B, 0, 0, 0, CPU_SSSE3, 0, 0 +pmulhrw, now3d_insn, 1, SUF_Z, 0xB7, 0, 0, 0, CPU_3DNow, 0, 0 +pmulhrwc, cyrixmmx_insn, 1, SUF_Z, 0x59, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0 +pmulhuw, mmxsse2_insn, 2, SUF_Z, 0xE4, 0, 0, 0, CPU_MMX, CPU_P3, 0 +pmulhw, mmxsse2_insn, 2, SUF_Z, 0xE5, 0, 0, 0, CPU_MMX, 0, 0 +pmulld, sse4_insn, 2, SUF_Z, 0x40, 0, 0, 0, CPU_SSE41, 0, 0 +pmullw, mmxsse2_insn, 2, SUF_Z, 0xD5, 0, 0, 0, CPU_MMX, 0, 0 +pmuludq, mmxsse2_insn, 2, SUF_Z, 0xF4, 0, 0, 0, CPU_SSE2, 0, 0 +pmvgezb, cyrixmmx_insn, 1, SUF_Z, 0x5C, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0 +pmvlzb, cyrixmmx_insn, 1, SUF_Z, 0x5B, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0 +pmvnzb, cyrixmmx_insn, 1, SUF_Z, 0x5A, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0 +pmvzb, cyrixmmx_insn, 1, SUF_Z, 0x58, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0 +pop, pop_insn, 23, SUF_Z, 0, 0, 0, 0, 0, 0, 0 +popa, onebyte_insn, 1, SUF_Z, 0x61, 0x00, 0, NOT_64, CPU_186, 0, 0 +popal, onebyte_insn, 1, SUF_Z, 0x61, 0x20, 0, NOT_64, CPU_386, 0, 0 +popaw, onebyte_insn, 1, SUF_Z, 0x61, 0x10, 0, NOT_64, CPU_186, 0, 0 +popcnt, cnt_insn, 3, SUF_Z, 0xB8, 0, 0, 0, CPU_SSE42, 0, 0 +popcntl, cnt_insn, 3, SUF_L, 0xB8, 0, 0, 0, CPU_SSE42, 0, 0 +popcntq, cnt_insn, 3, SUF_Q, 0xB8, 0, 0, ONLY_64, CPU_SSE42, 0, 0 +popcntw, cnt_insn, 3, SUF_W, 0xB8, 0, 0, 0, CPU_SSE42, 0, 0 +popf, onebyte_insn, 1, SUF_Z, 0x9D, 0x00, 0x40, 0, 0, 0, 0 +popfl, onebyte_insn, 1, SUF_Z, 0x9D, 0x20, 0, NOT_64, CPU_386, 0, 0 +popfq, onebyte_insn, 1, SUF_Z, 0x9D, 0x40, 0x40, ONLY_64, 0, 0, 0 +popfw, onebyte_insn, 1, SUF_Z, 0x9D, 0x10, 0x40, 0, 0, 0, 0 +popl, pop_insn, 23, SUF_L, 0, 0, 0, NOT_64, CPU_386, 0, 0 +popq, pop_insn, 23, SUF_Q, 0, 0, 0, ONLY_64, 0, 0, 0 +popw, pop_insn, 23, SUF_W, 0, 0, 0, 0, 0, 0, 0 +por, mmxsse2_insn, 2, SUF_Z, 0xEB, 0, 0, 0, CPU_MMX, 0, 0 +prefetch, twobytemem_insn, 1, SUF_Z, 0x00, 0x0F, 0x0D, 0, CPU_3DNow, 0, 0 +prefetchnta, twobytemem_insn, 1, SUF_Z, 0x00, 0x0F, 0x18, 0, CPU_P3, 0, 0 +prefetcht0, twobytemem_insn, 1, SUF_Z, 0x01, 0x0F, 0x18, 0, CPU_P3, 0, 0 +prefetcht1, twobytemem_insn, 1, SUF_Z, 0x02, 0x0F, 0x18, 0, CPU_P3, 0, 0 +prefetcht2, twobytemem_insn, 1, SUF_Z, 0x03, 0x0F, 0x18, 0, CPU_P3, 0, 0 +prefetchw, twobytemem_insn, 1, SUF_Z, 0x01, 0x0F, 0x0D, 0, CPU_PRFCHW, 0, 0 +psadbw, mmxsse2_insn, 2, SUF_Z, 0xF6, 0, 0, 0, CPU_MMX, CPU_P3, 0 +pshufb, ssse3_insn, 5, SUF_Z, 0x00, 0, 0, 0, CPU_SSSE3, 0, 0 +pshufd, xmm_xmm128_imm_insn, 1, SUF_Z, 0x66, 0x70, 0, 0, CPU_SSE2, 0, 0 +pshufhw, xmm_xmm128_imm_insn, 1, SUF_Z, 0xF3, 0x70, 0, 0, CPU_SSE2, 0, 0 +pshuflw, xmm_xmm128_imm_insn, 1, SUF_Z, 0xF2, 0x70, 0, 0, CPU_SSE2, 0, 0 +pshufw, pshufw_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_MMX, CPU_P3, 0 +psignb, ssse3_insn, 5, SUF_Z, 0x08, 0, 0, 0, CPU_SSSE3, 0, 0 +psignd, ssse3_insn, 5, SUF_Z, 0x0A, 0, 0, 0, CPU_SSSE3, 0, 0 +psignw, ssse3_insn, 5, SUF_Z, 0x09, 0, 0, 0, CPU_SSSE3, 0, 0 +pslld, pshift_insn, 4, SUF_Z, 0xF2, 0x72, 0x06, 0, CPU_MMX, 0, 0 +pslldq, pslrldq_insn, 4, SUF_Z, 0x07, 0, 0, 0, CPU_SSE2, 0, 0 +psllq, pshift_insn, 4, SUF_Z, 0xF3, 0x73, 0x06, 0, CPU_MMX, 0, 0 +psllw, pshift_insn, 4, SUF_Z, 0xF1, 0x71, 0x06, 0, CPU_MMX, 0, 0 +psrad, pshift_insn, 4, SUF_Z, 0xE2, 0x72, 0x04, 0, CPU_MMX, 0, 0 +psraw, pshift_insn, 4, SUF_Z, 0xE1, 0x71, 0x04, 0, CPU_MMX, 0, 0 +psrld, pshift_insn, 4, SUF_Z, 0xD2, 0x72, 0x02, 0, CPU_MMX, 0, 0 +psrldq, pslrldq_insn, 4, SUF_Z, 0x03, 0, 0, 0, CPU_SSE2, 0, 0 +psrlq, pshift_insn, 4, SUF_Z, 0xD3, 0x73, 0x02, 0, CPU_MMX, 0, 0 +psrlw, pshift_insn, 4, SUF_Z, 0xD1, 0x71, 0x02, 0, CPU_MMX, 0, 0 +psubb, mmxsse2_insn, 2, SUF_Z, 0xF8, 0, 0, 0, CPU_MMX, 0, 0 +psubd, mmxsse2_insn, 2, SUF_Z, 0xFA, 0, 0, 0, CPU_MMX, 0, 0 +psubq, mmxsse2_insn, 2, SUF_Z, 0xFB, 0, 0, 0, CPU_MMX, 0, 0 +psubsb, mmxsse2_insn, 2, SUF_Z, 0xE8, 0, 0, 0, CPU_MMX, 0, 0 +psubsiw, cyrixmmx_insn, 1, SUF_Z, 0x55, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0 +psubsw, mmxsse2_insn, 2, SUF_Z, 0xE9, 0, 0, 0, CPU_MMX, 0, 0 +psubusb, mmxsse2_insn, 2, SUF_Z, 0xD8, 0, 0, 0, CPU_MMX, 0, 0 +psubusw, mmxsse2_insn, 2, SUF_Z, 0xD9, 0, 0, 0, CPU_MMX, 0, 0 +psubw, mmxsse2_insn, 2, SUF_Z, 0xF9, 0, 0, 0, CPU_MMX, 0, 0 +pswapd, now3d_insn, 1, SUF_Z, 0xBB, 0, 0, 0, CPU_3DNow, CPU_Athlon, 0 +ptest, sse4_insn, 2, SUF_Z, 0x17, 0, 0, 0, CPU_SSE41, 0, 0 +punpckhbw, mmxsse2_insn, 2, SUF_Z, 0x68, 0, 0, 0, CPU_MMX, 0, 0 +punpckhdq, mmxsse2_insn, 2, SUF_Z, 0x6A, 0, 0, 0, CPU_MMX, 0, 0 +punpckhqdq, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x6D, 0, 0, CPU_SSE2, 0, 0 +punpckhwd, mmxsse2_insn, 2, SUF_Z, 0x69, 0, 0, 0, CPU_MMX, 0, 0 +punpcklbw, mmxsse2_insn, 2, SUF_Z, 0x60, 0, 0, 0, CPU_MMX, 0, 0 +punpckldq, mmxsse2_insn, 2, SUF_Z, 0x62, 0, 0, 0, CPU_MMX, 0, 0 +punpcklqdq, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x6C, 0, 0, CPU_SSE2, 0, 0 +punpcklwd, mmxsse2_insn, 2, SUF_Z, 0x61, 0, 0, 0, CPU_MMX, 0, 0 +push, push_insn, 35, SUF_Z, 0, 0, 0, 0, 0, 0, 0 +pusha, onebyte_insn, 1, SUF_Z, 0x60, 0x00, 0, NOT_64, CPU_186, 0, 0 +pushal, onebyte_insn, 1, SUF_Z, 0x60, 0x20, 0, NOT_64, CPU_386, 0, 0 +pushaw, onebyte_insn, 1, SUF_Z, 0x60, 0x10, 0, NOT_64, CPU_186, 0, 0 +pushf, onebyte_insn, 1, SUF_Z, 0x9C, 0x00, 0x40, 0, 0, 0, 0 +pushfl, onebyte_insn, 1, SUF_Z, 0x9C, 0x20, 0, NOT_64, CPU_386, 0, 0 +pushfq, onebyte_insn, 1, SUF_Z, 0x9C, 0x40, 0x40, ONLY_64, 0, 0, 0 +pushfw, onebyte_insn, 1, SUF_Z, 0x9C, 0x10, 0x40, 0, 0, 0, 0 +pushl, push_insn, 35, SUF_L, 0, 0, 0, 0, CPU_386, 0, 0 +pushq, push_insn, 35, SUF_Q, 0, 0, 0, ONLY_64, 0, 0, 0 +pushw, push_insn, 35, SUF_W, 0, 0, 0, 0, 0, 0, 0 +pxor, mmxsse2_insn, 2, SUF_Z, 0xEF, 0, 0, 0, CPU_MMX, 0, 0 +qword, NULL, X86_OPERSIZE>>8, 0x40, 0, 0, 0, ONLY_64, 0, 0, 0 +rcl, shift_insn, 16, SUF_Z, 0x02, 0, 0, 0, 0, 0, 0 +rclb, shift_insn, 16, SUF_B, 0x02, 0, 0, 0, 0, 0, 0 +rcll, shift_insn, 16, SUF_L, 0x02, 0, 0, 0, CPU_386, 0, 0 +rclq, shift_insn, 16, SUF_Q, 0x02, 0, 0, ONLY_64, 0, 0, 0 +rclw, shift_insn, 16, SUF_W, 0x02, 0, 0, 0, 0, 0, 0 +rcpps, xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x53, 0, 0, CPU_SSE, 0, 0 +rcpss, xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x53, 0, 0, CPU_SSE, 0, 0 +rcr, shift_insn, 16, SUF_Z, 0x03, 0, 0, 0, 0, 0, 0 +rcrb, shift_insn, 16, SUF_B, 0x03, 0, 0, 0, 0, 0, 0 +rcrl, shift_insn, 16, SUF_L, 0x03, 0, 0, 0, CPU_386, 0, 0 +rcrq, shift_insn, 16, SUF_Q, 0x03, 0, 0, ONLY_64, 0, 0, 0 +rcrw, shift_insn, 16, SUF_W, 0x03, 0, 0, 0, 0, 0, 0 +rdfsbase, fs_gs_base_insn, 2, SUF_Z, 0x00, 0, 0, ONLY_64, CPU_FSGSBASE, 0, 0 +rdgsbase, fs_gs_base_insn, 2, SUF_Z, 0x01, 0, 0, ONLY_64, CPU_FSGSBASE, 0, 0 +rdmsr, twobyte_insn, 1, SUF_Z, 0x0F, 0x32, 0, 0, CPU_586, CPU_Priv, 0 +rdpmc, twobyte_insn, 1, SUF_Z, 0x0F, 0x33, 0, 0, CPU_686, 0, 0 +rdrand, rdrand_insn, 3, SUF_Z, 0x06, 0, 0, 0, CPU_RDRAND, 0, 0 +rdseed, rdrand_insn, 3, SUF_Z, 0x07, 0, 0, 0, CPU_RDSEED, 0, 0 +rdshr, rdwrshr_insn, 1, SUF_Z, 0x00, 0, 0, 0, CPU_686, CPU_Cyrix, CPU_SMM +rdtsc, twobyte_insn, 1, SUF_Z, 0x0F, 0x31, 0, 0, CPU_586, 0, 0 +rdtscp, threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xF9, 0, CPU_686, CPU_AMD, CPU_Priv +rep, NULL, X86_LOCKREP>>8, 0xF3, 0, 0, 0, 0, 0, 0, 0 +repe, NULL, X86_LOCKREP>>8, 0xF3, 0, 0, 0, 0, 0, 0, 0 +repne, NULL, X86_LOCKREP>>8, 0xF2, 0, 0, 0, 0, 0, 0, 0 +repnz, NULL, X86_LOCKREP>>8, 0xF2, 0, 0, 0, 0, 0, 0, 0 +repz, NULL, X86_LOCKREP>>8, 0xF3, 0, 0, 0, 0, 0, 0, 0 +ret, retnf_insn, 6, SUF_Z, 0xC2, 0, 0, 0, 0, 0, 0 +retl, retnf_insn, 6, SUF_Z, 0xC2, 0, 0, NOT_64, 0, 0, 0 +retq, retnf_insn, 6, SUF_Z, 0xC2, 0, 0, ONLY_64, 0, 0, 0 +retw, retnf_insn, 6, SUF_Z, 0xC2, 0x10, 0, 0, 0, 0, 0 +rex, NULL, X86_REX>>8, 0x40, 0, 0, 0, ONLY_64, 0, 0, 0 +rex64, NULL, X86_REX>>8, 0x48, 0, 0, 0, ONLY_64, 0, 0, 0 +rex64x, NULL, X86_REX>>8, 0x4C, 0, 0, 0, ONLY_64, 0, 0, 0 +rex64xy, NULL, X86_REX>>8, 0x4E, 0, 0, 0, ONLY_64, 0, 0, 0 +rex64xyz, NULL, X86_REX>>8, 0x4F, 0, 0, 0, ONLY_64, 0, 0, 0 +rex64xz, NULL, X86_REX>>8, 0x4D, 0, 0, 0, ONLY_64, 0, 0, 0 +rex64y, NULL, X86_REX>>8, 0x4A, 0, 0, 0, ONLY_64, 0, 0, 0 +rex64yz, NULL, X86_REX>>8, 0x4B, 0, 0, 0, ONLY_64, 0, 0, 0 +rex64z, NULL, X86_REX>>8, 0x49, 0, 0, 0, ONLY_64, 0, 0, 0 +rexx, NULL, X86_REX>>8, 0x44, 0, 0, 0, ONLY_64, 0, 0, 0 +rexxy, NULL, X86_REX>>8, 0x46, 0, 0, 0, ONLY_64, 0, 0, 0 +rexxyz, NULL, X86_REX>>8, 0x47, 0, 0, 0, ONLY_64, 0, 0, 0 +rexxz, NULL, X86_REX>>8, 0x45, 0, 0, 0, ONLY_64, 0, 0, 0 +rexy, NULL, X86_REX>>8, 0x42, 0, 0, 0, ONLY_64, 0, 0, 0 +rexyz, NULL, X86_REX>>8, 0x43, 0, 0, 0, ONLY_64, 0, 0, 0 +rexz, NULL, X86_REX>>8, 0x41, 0, 0, 0, ONLY_64, 0, 0, 0 +rol, shift_insn, 16, SUF_Z, 0x00, 0, 0, 0, 0, 0, 0 +rolb, shift_insn, 16, SUF_B, 0x00, 0, 0, 0, 0, 0, 0 +roll, shift_insn, 16, SUF_L, 0x00, 0, 0, 0, CPU_386, 0, 0 +rolq, shift_insn, 16, SUF_Q, 0x00, 0, 0, ONLY_64, 0, 0, 0 +rolw, shift_insn, 16, SUF_W, 0x00, 0, 0, 0, 0, 0, 0 +ror, shift_insn, 16, SUF_Z, 0x01, 0, 0, 0, 0, 0, 0 +rorb, shift_insn, 16, SUF_B, 0x01, 0, 0, 0, 0, 0, 0 +rorl, shift_insn, 16, SUF_L, 0x01, 0, 0, 0, CPU_386, 0, 0 +rorq, shift_insn, 16, SUF_Q, 0x01, 0, 0, ONLY_64, 0, 0, 0 +rorw, shift_insn, 16, SUF_W, 0x01, 0, 0, 0, 0, 0, 0 +rorx, vex_gpr_reg_rm_0F_imm8_insn, 2, SUF_Z, 0xF2, 0x3A, 0xF0, ONLY_AVX, CPU_BMI2, 0, 0 +rorxl, vex_gpr_reg_rm_0F_imm8_insn, 2, SUF_L, 0xF2, 0x3A, 0xF0, ONLY_AVX, CPU_BMI2, 0, 0 +rorxq, vex_gpr_reg_rm_0F_imm8_insn, 2, SUF_Q, 0xF2, 0x3A, 0xF0, ONLY_64|ONLY_AVX, CPU_BMI2, 0, 0 +roundpd, sse4imm_insn, 2, SUF_Z, 0x09, 0, 0, 0, CPU_SSE41, 0, 0 +roundps, sse4imm_insn, 2, SUF_Z, 0x08, 0, 0, 0, CPU_SSE41, 0, 0 +roundsd, sse4m64imm_insn, 4, SUF_Z, 0x0B, 0, 0, 0, CPU_SSE41, 0, 0 +roundss, sse4m32imm_insn, 4, SUF_Z, 0x0A, 0, 0, 0, CPU_SSE41, 0, 0 +rsdc, rsdc_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_486, CPU_Cyrix, CPU_SMM +rsldt, cyrixsmm_insn, 1, SUF_Z, 0x7B, 0, 0, 0, CPU_486, CPU_Cyrix, CPU_SMM +rsm, twobyte_insn, 1, SUF_Z, 0x0F, 0xAA, 0, 0, CPU_586, CPU_SMM, 0 +rsqrtps, xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x52, 0, 0, CPU_SSE, 0, 0 +rsqrtss, xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x52, 0, 0, CPU_SSE, 0, 0 +rsts, cyrixsmm_insn, 1, SUF_Z, 0x7D, 0, 0, 0, CPU_486, CPU_Cyrix, CPU_SMM +sahf, onebyte_insn, 1, SUF_Z, 0x9E, 0, 0, 0, 0, 0, 0 +sal, shift_insn, 16, SUF_Z, 0x04, 0, 0, 0, 0, 0, 0 +salb, shift_insn, 16, SUF_B, 0x04, 0, 0, 0, 0, 0, 0 +salc, onebyte_insn, 1, SUF_Z, 0xD6, 0, 0, NOT_64, CPU_Undoc, 0, 0 +sall, shift_insn, 16, SUF_L, 0x04, 0, 0, 0, CPU_386, 0, 0 +salq, shift_insn, 16, SUF_Q, 0x04, 0, 0, ONLY_64, 0, 0, 0 +salw, shift_insn, 16, SUF_W, 0x04, 0, 0, 0, 0, 0, 0 +sar, shift_insn, 16, SUF_Z, 0x07, 0, 0, 0, 0, 0, 0 +sarb, shift_insn, 16, SUF_B, 0x07, 0, 0, 0, 0, 0, 0 +sarl, shift_insn, 16, SUF_L, 0x07, 0, 0, 0, CPU_386, 0, 0 +sarq, shift_insn, 16, SUF_Q, 0x07, 0, 0, ONLY_64, 0, 0, 0 +sarw, shift_insn, 16, SUF_W, 0x07, 0, 0, 0, 0, 0, 0 +sarx, vex_gpr_reg_rm_nds_0F_insn, 2, SUF_Z, 0xF3, 0x38, 0xF7, ONLY_AVX, CPU_BMI2, 0, 0 +sarxl, vex_gpr_reg_rm_nds_0F_insn, 2, SUF_L, 0xF3, 0x38, 0xF7, ONLY_AVX, CPU_BMI2, 0, 0 +sarxq, vex_gpr_reg_rm_nds_0F_insn, 2, SUF_Q, 0xF3, 0x38, 0xF7, ONLY_64|ONLY_AVX, CPU_BMI2, 0, 0 +sbb, arith_insn, 22, SUF_Z, 0x18, 0x03, 0, 0, 0, 0, 0 +sbbb, arith_insn, 22, SUF_B, 0x18, 0x03, 0, 0, 0, 0, 0 +sbbl, arith_insn, 22, SUF_L, 0x18, 0x03, 0, 0, CPU_386, 0, 0 +sbbq, arith_insn, 22, SUF_Q, 0x18, 0x03, 0, ONLY_64, 0, 0, 0 +sbbw, arith_insn, 22, SUF_W, 0x18, 0x03, 0, 0, 0, 0, 0 +scasb, onebyte_insn, 1, SUF_Z, 0xAE, 0x00, 0, 0, 0, 0, 0 +scasl, onebyte_insn, 1, SUF_Z, 0xAF, 0x20, 0, 0, CPU_386, 0, 0 +scasq, onebyte_insn, 1, SUF_Z, 0xAF, 0x40, 0, ONLY_64, 0, 0, 0 +scasw, onebyte_insn, 1, SUF_Z, 0xAF, 0x10, 0, 0, 0, 0, 0 +seta, setcc_insn, 1, SUF_Z, 0x07, 0, 0, 0, CPU_386, 0, 0 +setab, setcc_insn, 1, SUF_B, 0x07, 0, 0, 0, CPU_386, 0, 0 +setae, setcc_insn, 1, SUF_Z, 0x03, 0, 0, 0, CPU_386, 0, 0 +setaeb, setcc_insn, 1, SUF_B, 0x03, 0, 0, 0, CPU_386, 0, 0 +setb, setcc_insn, 1, SUF_Z, 0x02, 0, 0, 0, CPU_386, 0, 0 +setbb, setcc_insn, 1, SUF_B, 0x02, 0, 0, 0, CPU_386, 0, 0 +setbe, setcc_insn, 1, SUF_Z, 0x06, 0, 0, 0, CPU_386, 0, 0 +setbeb, setcc_insn, 1, SUF_B, 0x06, 0, 0, 0, CPU_386, 0, 0 +setc, setcc_insn, 1, SUF_Z, 0x02, 0, 0, 0, CPU_386, 0, 0 +setcb, setcc_insn, 1, SUF_B, 0x02, 0, 0, 0, CPU_386, 0, 0 +sete, setcc_insn, 1, SUF_Z, 0x04, 0, 0, 0, CPU_386, 0, 0 +seteb, setcc_insn, 1, SUF_B, 0x04, 0, 0, 0, CPU_386, 0, 0 +setg, setcc_insn, 1, SUF_Z, 0x0F, 0, 0, 0, CPU_386, 0, 0 +setgb, setcc_insn, 1, SUF_B, 0x0F, 0, 0, 0, CPU_386, 0, 0 +setge, setcc_insn, 1, SUF_Z, 0x0D, 0, 0, 0, CPU_386, 0, 0 +setgeb, setcc_insn, 1, SUF_B, 0x0D, 0, 0, 0, CPU_386, 0, 0 +setl, setcc_insn, 1, SUF_Z, 0x0C, 0, 0, 0, CPU_386, 0, 0 +setlb, setcc_insn, 1, SUF_B, 0x0C, 0, 0, 0, CPU_386, 0, 0 +setle, setcc_insn, 1, SUF_Z, 0x0E, 0, 0, 0, CPU_386, 0, 0 +setleb, setcc_insn, 1, SUF_B, 0x0E, 0, 0, 0, CPU_386, 0, 0 +setna, setcc_insn, 1, SUF_Z, 0x06, 0, 0, 0, CPU_386, 0, 0 +setnab, setcc_insn, 1, SUF_B, 0x06, 0, 0, 0, CPU_386, 0, 0 +setnae, setcc_insn, 1, SUF_Z, 0x02, 0, 0, 0, CPU_386, 0, 0 +setnaeb, setcc_insn, 1, SUF_B, 0x02, 0, 0, 0, CPU_386, 0, 0 +setnb, setcc_insn, 1, SUF_Z, 0x03, 0, 0, 0, CPU_386, 0, 0 +setnbb, setcc_insn, 1, SUF_B, 0x03, 0, 0, 0, CPU_386, 0, 0 +setnbe, setcc_insn, 1, SUF_Z, 0x07, 0, 0, 0, CPU_386, 0, 0 +setnbeb, setcc_insn, 1, SUF_B, 0x07, 0, 0, 0, CPU_386, 0, 0 +setnc, setcc_insn, 1, SUF_Z, 0x03, 0, 0, 0, CPU_386, 0, 0 +setncb, setcc_insn, 1, SUF_B, 0x03, 0, 0, 0, CPU_386, 0, 0 +setne, setcc_insn, 1, SUF_Z, 0x05, 0, 0, 0, CPU_386, 0, 0 +setneb, setcc_insn, 1, SUF_B, 0x05, 0, 0, 0, CPU_386, 0, 0 +setng, setcc_insn, 1, SUF_Z, 0x0E, 0, 0, 0, CPU_386, 0, 0 +setngb, setcc_insn, 1, SUF_B, 0x0E, 0, 0, 0, CPU_386, 0, 0 +setnge, setcc_insn, 1, SUF_Z, 0x0C, 0, 0, 0, CPU_386, 0, 0 +setngeb, setcc_insn, 1, SUF_B, 0x0C, 0, 0, 0, CPU_386, 0, 0 +setnl, setcc_insn, 1, SUF_Z, 0x0D, 0, 0, 0, CPU_386, 0, 0 +setnlb, setcc_insn, 1, SUF_B, 0x0D, 0, 0, 0, CPU_386, 0, 0 +setnle, setcc_insn, 1, SUF_Z, 0x0F, 0, 0, 0, CPU_386, 0, 0 +setnleb, setcc_insn, 1, SUF_B, 0x0F, 0, 0, 0, CPU_386, 0, 0 +setno, setcc_insn, 1, SUF_Z, 0x01, 0, 0, 0, CPU_386, 0, 0 +setnob, setcc_insn, 1, SUF_B, 0x01, 0, 0, 0, CPU_386, 0, 0 +setnp, setcc_insn, 1, SUF_Z, 0x0B, 0, 0, 0, CPU_386, 0, 0 +setnpb, setcc_insn, 1, SUF_B, 0x0B, 0, 0, 0, CPU_386, 0, 0 +setns, setcc_insn, 1, SUF_Z, 0x09, 0, 0, 0, CPU_386, 0, 0 +setnsb, setcc_insn, 1, SUF_B, 0x09, 0, 0, 0, CPU_386, 0, 0 +setnz, setcc_insn, 1, SUF_Z, 0x05, 0, 0, 0, CPU_386, 0, 0 +setnzb, setcc_insn, 1, SUF_B, 0x05, 0, 0, 0, CPU_386, 0, 0 +seto, setcc_insn, 1, SUF_Z, 0x00, 0, 0, 0, CPU_386, 0, 0 +setob, setcc_insn, 1, SUF_B, 0x00, 0, 0, 0, CPU_386, 0, 0 +setp, setcc_insn, 1, SUF_Z, 0x0A, 0, 0, 0, CPU_386, 0, 0 +setpb, setcc_insn, 1, SUF_B, 0x0A, 0, 0, 0, CPU_386, 0, 0 +setpe, setcc_insn, 1, SUF_Z, 0x0A, 0, 0, 0, CPU_386, 0, 0 +setpeb, setcc_insn, 1, SUF_B, 0x0A, 0, 0, 0, CPU_386, 0, 0 +setpo, setcc_insn, 1, SUF_Z, 0x0B, 0, 0, 0, CPU_386, 0, 0 +setpob, setcc_insn, 1, SUF_B, 0x0B, 0, 0, 0, CPU_386, 0, 0 +sets, setcc_insn, 1, SUF_Z, 0x08, 0, 0, 0, CPU_386, 0, 0 +setsb, setcc_insn, 1, SUF_B, 0x08, 0, 0, 0, CPU_386, 0, 0 +setz, setcc_insn, 1, SUF_Z, 0x04, 0, 0, 0, CPU_386, 0, 0 +setzb, setcc_insn, 1, SUF_B, 0x04, 0, 0, 0, CPU_386, 0, 0 +sfence, threebyte_insn, 1, SUF_Z, 0x0F, 0xAE, 0xF8, 0, CPU_P3, 0, 0 +sgdt, twobytemem_insn, 1, SUF_Z, 0x00, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0 +sgdtl, twobytemem_insn, 1, SUF_L, 0x00, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0 +sgdtq, twobytemem_insn, 1, SUF_Q, 0x00, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0 +sgdtw, twobytemem_insn, 1, SUF_W, 0x00, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0 +sha1msg1, intel_SHA1MSG1_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SHA, 0, 0 +sha1msg2, intel_SHA1MSG2_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SHA, 0, 0 +sha1nexte, intel_SHA1NEXTE_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SHA, 0, 0 +sha1rnds4, intel_SHA1RNDS4_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SHA, 0, 0 +sha256msg1, intel_SHA256MSG1_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SHA, 0, 0 +sha256msg2, intel_SHA256MSG2_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SHA, 0, 0 +sha256rnds2, intel_SHA256RNDS2_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SHA, 0, 0 +shl, shift_insn, 16, SUF_Z, 0x04, 0, 0, 0, 0, 0, 0 +shlb, shift_insn, 16, SUF_B, 0x04, 0, 0, 0, 0, 0, 0 +shld, shlrd_insn, 9, SUF_Z, 0xA4, 0, 0, 0, CPU_386, 0, 0 +shldl, shlrd_insn, 9, SUF_L, 0xA4, 0, 0, 0, CPU_386, 0, 0 +shldq, shlrd_insn, 9, SUF_Q, 0xA4, 0, 0, ONLY_64, CPU_386, 0, 0 +shldw, shlrd_insn, 9, SUF_W, 0xA4, 0, 0, 0, CPU_386, 0, 0 +shll, shift_insn, 16, SUF_L, 0x04, 0, 0, 0, CPU_386, 0, 0 +shlq, shift_insn, 16, SUF_Q, 0x04, 0, 0, ONLY_64, 0, 0, 0 +shlw, shift_insn, 16, SUF_W, 0x04, 0, 0, 0, 0, 0, 0 +shlx, vex_gpr_reg_rm_nds_0F_insn, 2, SUF_Z, 0x66, 0x38, 0xF7, ONLY_AVX, CPU_BMI2, 0, 0 +shlxl, vex_gpr_reg_rm_nds_0F_insn, 2, SUF_L, 0x66, 0x38, 0xF7, ONLY_AVX, CPU_BMI2, 0, 0 +shlxq, vex_gpr_reg_rm_nds_0F_insn, 2, SUF_Q, 0x66, 0x38, 0xF7, ONLY_64|ONLY_AVX, CPU_BMI2, 0, 0 +shr, shift_insn, 16, SUF_Z, 0x05, 0, 0, 0, 0, 0, 0 +shrb, shift_insn, 16, SUF_B, 0x05, 0, 0, 0, 0, 0, 0 +shrd, shlrd_insn, 9, SUF_Z, 0xAC, 0, 0, 0, CPU_386, 0, 0 +shrdl, shlrd_insn, 9, SUF_L, 0xAC, 0, 0, 0, CPU_386, 0, 0 +shrdq, shlrd_insn, 9, SUF_Q, 0xAC, 0, 0, ONLY_64, CPU_386, 0, 0 +shrdw, shlrd_insn, 9, SUF_W, 0xAC, 0, 0, 0, CPU_386, 0, 0 +shrl, shift_insn, 16, SUF_L, 0x05, 0, 0, 0, CPU_386, 0, 0 +shrq, shift_insn, 16, SUF_Q, 0x05, 0, 0, ONLY_64, 0, 0, 0 +shrw, shift_insn, 16, SUF_W, 0x05, 0, 0, 0, 0, 0, 0 +shrx, vex_gpr_reg_rm_nds_0F_insn, 2, SUF_Z, 0xF2, 0x38, 0xF7, ONLY_AVX, CPU_BMI2, 0, 0 +shrxl, vex_gpr_reg_rm_nds_0F_insn, 2, SUF_L, 0xF2, 0x38, 0xF7, ONLY_AVX, CPU_BMI2, 0, 0 +shrxq, vex_gpr_reg_rm_nds_0F_insn, 2, SUF_Q, 0xF2, 0x38, 0xF7, ONLY_64|ONLY_AVX, CPU_BMI2, 0, 0 +shufpd, xmm_xmm128_imm_insn, 1, SUF_Z, 0x66, 0xC6, 0, 0, CPU_SSE2, 0, 0 +shufps, xmm_xmm128_imm_insn, 1, SUF_Z, 0x00, 0xC6, 0, 0, CPU_SSE, 0, 0 +sidt, twobytemem_insn, 1, SUF_Z, 0x01, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0 +sidtl, twobytemem_insn, 1, SUF_L, 0x01, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0 +sidtq, twobytemem_insn, 1, SUF_Q, 0x01, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0 +sidtw, twobytemem_insn, 1, SUF_W, 0x01, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0 +skinit, skinit_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_SVM, 0, 0 +sldt, sldtmsw_insn, 6, SUF_Z, 0x00, 0x00, 0, 0, CPU_286, 0, 0 +sldtl, sldtmsw_insn, 6, SUF_L, 0x00, 0x00, 0, 0, CPU_386, 0, 0 +sldtq, sldtmsw_insn, 6, SUF_Q, 0x00, 0x00, 0, ONLY_64, CPU_286, 0, 0 +sldtw, sldtmsw_insn, 6, SUF_W, 0x00, 0x00, 0, 0, CPU_286, 0, 0 +smi, onebyte_insn, 1, SUF_Z, 0xF1, 0, 0, 0, CPU_386, CPU_Undoc, 0 +smint, twobyte_insn, 1, SUF_Z, 0x0F, 0x38, 0, 0, CPU_686, CPU_Cyrix, 0 +smintold, twobyte_insn, 1, SUF_Z, 0x0F, 0x7E, 0, 0, CPU_486, CPU_Cyrix, CPU_Obs +smovb, onebyte_insn, 1, SUF_Z, 0xA4, 0x00, 0, 0, 0, 0, 0 +smovl, onebyte_insn, 1, SUF_Z, 0xA5, 0x20, 0, 0, CPU_386, 0, 0 +smovq, onebyte_insn, 1, SUF_Z, 0xA5, 0x40, 0, ONLY_64, 0, 0, 0 +smovw, onebyte_insn, 1, SUF_Z, 0xA5, 0x10, 0, 0, 0, 0, 0 +smsw, sldtmsw_insn, 6, SUF_Z, 0x04, 0x01, 0, 0, CPU_286, 0, 0 +smswl, sldtmsw_insn, 6, SUF_L, 0x04, 0x01, 0, 0, CPU_386, 0, 0 +smswq, sldtmsw_insn, 6, SUF_Q, 0x04, 0x01, 0, ONLY_64, CPU_286, 0, 0 +smsww, sldtmsw_insn, 6, SUF_W, 0x04, 0x01, 0, 0, CPU_286, 0, 0 +sqrtpd, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x51, 0, 0, CPU_SSE2, 0, 0 +sqrtps, xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x51, 0, 0, CPU_SSE, 0, 0 +sqrtsd, xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x51, 0, 0, CPU_SSE2, 0, 0 +sqrtss, xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x51, 0, 0, CPU_SSE, 0, 0 +sscab, onebyte_insn, 1, SUF_Z, 0xAE, 0x00, 0, 0, 0, 0, 0 +sscal, onebyte_insn, 1, SUF_Z, 0xAF, 0x20, 0, 0, CPU_386, 0, 0 +sscaq, onebyte_insn, 1, SUF_Z, 0xAF, 0x40, 0, ONLY_64, 0, 0, 0 +sscaw, onebyte_insn, 1, SUF_Z, 0xAF, 0x10, 0, 0, 0, 0, 0 +stac, threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xCB, 0, CPU_SMAP, 0, 0 +stc, onebyte_insn, 1, SUF_Z, 0xF9, 0, 0, 0, 0, 0, 0 +std, onebyte_insn, 1, SUF_Z, 0xFD, 0, 0, 0, 0, 0, 0 +stgi, threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xDC, 0, CPU_SVM, 0, 0 +sti, onebyte_insn, 1, SUF_Z, 0xFB, 0, 0, 0, 0, 0, 0 +stmxcsr, ldstmxcsr_insn, 1, SUF_Z, 0x03, 0, 0, 0, CPU_SSE, 0, 0 +stosb, onebyte_insn, 1, SUF_Z, 0xAA, 0x00, 0, 0, 0, 0, 0 +stosl, onebyte_insn, 1, SUF_Z, 0xAB, 0x20, 0, 0, CPU_386, 0, 0 +stosq, onebyte_insn, 1, SUF_Z, 0xAB, 0x40, 0, ONLY_64, 0, 0, 0 +stosw, onebyte_insn, 1, SUF_Z, 0xAB, 0x10, 0, 0, 0, 0, 0 +str, str_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_286, CPU_Prot, 0 +strl, str_insn, 4, SUF_L, 0, 0, 0, 0, CPU_386, CPU_Prot, 0 +strq, str_insn, 4, SUF_Q, 0, 0, 0, ONLY_64, CPU_286, CPU_Prot, 0 +strw, str_insn, 4, SUF_W, 0, 0, 0, 0, CPU_286, CPU_Prot, 0 +sub, arith_insn, 22, SUF_Z, 0x28, 0x05, 0, 0, 0, 0, 0 +subb, arith_insn, 22, SUF_B, 0x28, 0x05, 0, 0, 0, 0, 0 +subl, arith_insn, 22, SUF_L, 0x28, 0x05, 0, 0, CPU_386, 0, 0 +subpd, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x5C, 0, 0, CPU_SSE2, 0, 0 +subps, xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x5C, 0, 0, CPU_SSE, 0, 0 +subq, arith_insn, 22, SUF_Q, 0x28, 0x05, 0, ONLY_64, 0, 0, 0 +subsd, xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5C, 0, 0, CPU_SSE2, 0, 0 +subss, xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5C, 0, 0, CPU_SSE, 0, 0 +subw, arith_insn, 22, SUF_W, 0x28, 0x05, 0, 0, 0, 0, 0 +svdc, svdc_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_486, CPU_Cyrix, CPU_SMM +svldt, cyrixsmm_insn, 1, SUF_Z, 0x7A, 0, 0, 0, CPU_486, CPU_Cyrix, CPU_SMM +svts, cyrixsmm_insn, 1, SUF_Z, 0x7C, 0, 0, 0, CPU_486, CPU_Cyrix, CPU_SMM +swapgs, threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xF8, ONLY_64, 0, 0, 0 +syscall, twobyte_insn, 1, SUF_Z, 0x0F, 0x05, 0, 0, CPU_686, CPU_AMD, 0 +sysenter, twobyte_insn, 1, SUF_Z, 0x0F, 0x34, 0, NOT_64, CPU_686, 0, 0 +sysexit, twobyte_insn, 1, SUF_Z, 0x0F, 0x35, 0, NOT_64, CPU_686, CPU_Priv, 0 +sysret, twobyte_insn, 1, SUF_Z, 0x0F, 0x07, 0, 0, CPU_686, CPU_AMD, CPU_Priv +sysretl, twobyte_insn, 1, SUF_L, 0x0F, 0x07, 0, 0, CPU_686, CPU_AMD, CPU_Priv +sysretq, twobyte_insn, 1, SUF_Q, 0x0F, 0x07, 0, 0, CPU_686, CPU_AMD, CPU_Priv +t1mskc, xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x01, 0x07, 0, 0, CPU_386, CPU_TBM, 0 +t1mskcl, xop_gpr_reg_rm_09_insn, 2, SUF_L, 0x01, 0x07, 0, 0, CPU_386, CPU_TBM, 0 +t1mskcq, xop_gpr_reg_rm_09_insn, 2, SUF_Q, 0x01, 0x07, 0, ONLY_64, CPU_TBM, 0, 0 +test, test_insn, 20, SUF_Z, 0, 0, 0, 0, 0, 0, 0 +testb, test_insn, 20, SUF_B, 0, 0, 0, 0, 0, 0, 0 +testl, test_insn, 20, SUF_L, 0, 0, 0, 0, CPU_386, 0, 0 +testq, test_insn, 20, SUF_Q, 0, 0, 0, ONLY_64, 0, 0, 0 +testw, test_insn, 20, SUF_W, 0, 0, 0, 0, 0, 0, 0 +tzcnt, cnt_insn, 3, SUF_Z, 0xBC, 0, 0, 0, CPU_BMI1, 0, 0 +tzcntl, cnt_insn, 3, SUF_L, 0xBC, 0, 0, 0, CPU_BMI1, 0, 0 +tzcntq, cnt_insn, 3, SUF_Q, 0xBC, 0, 0, ONLY_64, CPU_BMI1, 0, 0 +tzcntw, cnt_insn, 3, SUF_W, 0xBC, 0, 0, 0, CPU_BMI1, 0, 0 +tzmsk, xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x01, 0x04, 0, 0, CPU_386, CPU_TBM, 0 +tzmskl, xop_gpr_reg_rm_09_insn, 2, SUF_L, 0x01, 0x04, 0, 0, CPU_386, CPU_TBM, 0 +tzmskq, xop_gpr_reg_rm_09_insn, 2, SUF_Q, 0x01, 0x04, 0, ONLY_64, CPU_TBM, 0, 0 +ucomisd, xmm_xmm64_insn, 4, SUF_Z, 0x66, 0x2E, 0, 0, CPU_SSE2, 0, 0 +ucomiss, xmm_xmm32_insn, 4, SUF_Z, 0x00, 0x2E, 0, 0, CPU_SSE, 0, 0 +ud1, twobyte_insn, 1, SUF_Z, 0x0F, 0xB9, 0, 0, CPU_286, CPU_Undoc, 0 +ud2, twobyte_insn, 1, SUF_Z, 0x0F, 0x0B, 0, 0, CPU_286, 0, 0 +umov, umov_insn, 6, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_Undoc, 0 +unpckhpd, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x15, 0, 0, CPU_SSE2, 0, 0 +unpckhps, xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x15, 0, 0, CPU_SSE, 0, 0 +unpcklpd, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x14, 0, 0, CPU_SSE2, 0, 0 +unpcklps, xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x14, 0, 0, CPU_SSE, 0, 0 +vaddpd, xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x58, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vaddps, xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x58, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vaddsd, xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x58, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vaddss, xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x58, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vaddsubpd, xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0xD0, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vaddsubps, xmm_xmm128_256_insn, 4, SUF_Z, 0xF2, 0xD0, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vaesdec, aes_insn, 2, SUF_Z, 0x38, 0xDE, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vaesdeclast, aes_insn, 2, SUF_Z, 0x38, 0xDF, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vaesenc, aes_insn, 2, SUF_Z, 0x38, 0xDC, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vaesenclast, aes_insn, 2, SUF_Z, 0x38, 0xDD, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vaesimc, aesimc_insn, 1, SUF_Z, 0x38, 0xDB, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vaeskeygenassist, aes_imm_insn, 1, SUF_Z, 0x3A, 0xDF, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vandnpd, xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x55, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vandnps, xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x55, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vandpd, xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x54, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vandps, xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x54, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vblendpd, sse4imm_256_insn, 4, SUF_Z, 0x0D, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vblendps, sse4imm_256_insn, 4, SUF_Z, 0x0C, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vblendvpd, avx_sse4xmm0_insn, 2, SUF_Z, 0x4B, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vblendvps, avx_sse4xmm0_insn, 2, SUF_Z, 0x4A, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vbroadcastf128, vbroadcastif128_insn, 1, SUF_Z, 0x1A, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vbroadcasti128, vbroadcastif128_insn, 1, SUF_Z, 0x5A, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vbroadcastsd, vbroadcastsd_insn, 2, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vbroadcastss, vbroadcastss_insn, 4, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpeq_ospd, ssecmp_128_insn, 3, SUF_Z, 0x10, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpeq_osps, ssecmp_128_insn, 3, SUF_Z, 0x10, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpeq_ossd, ssecmp_64_insn, 4, SUF_Z, 0x10, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpeq_osss, ssecmp_32_insn, 4, SUF_Z, 0x10, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpeq_uqpd, ssecmp_128_insn, 3, SUF_Z, 0x08, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpeq_uqps, ssecmp_128_insn, 3, SUF_Z, 0x08, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpeq_uqsd, ssecmp_64_insn, 4, SUF_Z, 0x08, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpeq_uqss, ssecmp_32_insn, 4, SUF_Z, 0x08, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpeq_uspd, ssecmp_128_insn, 3, SUF_Z, 0x18, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpeq_usps, ssecmp_128_insn, 3, SUF_Z, 0x18, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpeq_ussd, ssecmp_64_insn, 4, SUF_Z, 0x18, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpeq_usss, ssecmp_32_insn, 4, SUF_Z, 0x18, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpeqpd, ssecmp_128_insn, 3, SUF_Z, 0x00, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpeqps, ssecmp_128_insn, 3, SUF_Z, 0x00, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpeqsd, ssecmp_64_insn, 4, SUF_Z, 0x00, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpeqss, ssecmp_32_insn, 4, SUF_Z, 0x00, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpfalse_ospd, ssecmp_128_insn, 3, SUF_Z, 0x1B, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpfalse_osps, ssecmp_128_insn, 3, SUF_Z, 0x1B, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpfalse_ossd, ssecmp_64_insn, 4, SUF_Z, 0x1B, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpfalse_osss, ssecmp_32_insn, 4, SUF_Z, 0x1B, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpfalsepd, ssecmp_128_insn, 3, SUF_Z, 0x0B, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpfalseps, ssecmp_128_insn, 3, SUF_Z, 0x0B, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpfalsesd, ssecmp_64_insn, 4, SUF_Z, 0x0B, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpfalsess, ssecmp_32_insn, 4, SUF_Z, 0x0B, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpge_oqpd, ssecmp_128_insn, 3, SUF_Z, 0x1D, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpge_oqps, ssecmp_128_insn, 3, SUF_Z, 0x1D, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpge_oqsd, ssecmp_64_insn, 4, SUF_Z, 0x1D, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpge_oqss, ssecmp_32_insn, 4, SUF_Z, 0x1D, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpgepd, ssecmp_128_insn, 3, SUF_Z, 0x0D, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpgeps, ssecmp_128_insn, 3, SUF_Z, 0x0D, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpgesd, ssecmp_64_insn, 4, SUF_Z, 0x0D, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpgess, ssecmp_32_insn, 4, SUF_Z, 0x0D, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpgt_oqpd, ssecmp_128_insn, 3, SUF_Z, 0x1E, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpgt_oqps, ssecmp_128_insn, 3, SUF_Z, 0x1E, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpgt_oqsd, ssecmp_64_insn, 4, SUF_Z, 0x1E, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpgt_oqss, ssecmp_32_insn, 4, SUF_Z, 0x1E, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpgtpd, ssecmp_128_insn, 3, SUF_Z, 0x0E, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpgtps, ssecmp_128_insn, 3, SUF_Z, 0x0E, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpgtsd, ssecmp_64_insn, 4, SUF_Z, 0x0E, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpgtss, ssecmp_32_insn, 4, SUF_Z, 0x0E, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmple_oqpd, ssecmp_128_insn, 3, SUF_Z, 0x12, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmple_oqps, ssecmp_128_insn, 3, SUF_Z, 0x12, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmple_oqsd, ssecmp_64_insn, 4, SUF_Z, 0x12, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmple_oqss, ssecmp_32_insn, 4, SUF_Z, 0x12, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmplepd, ssecmp_128_insn, 3, SUF_Z, 0x02, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpleps, ssecmp_128_insn, 3, SUF_Z, 0x02, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmplesd, ssecmp_64_insn, 4, SUF_Z, 0x02, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpless, ssecmp_32_insn, 4, SUF_Z, 0x02, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmplt_oqpd, ssecmp_128_insn, 3, SUF_Z, 0x11, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmplt_oqps, ssecmp_128_insn, 3, SUF_Z, 0x11, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmplt_oqsd, ssecmp_64_insn, 4, SUF_Z, 0x11, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmplt_oqss, ssecmp_32_insn, 4, SUF_Z, 0x11, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpltpd, ssecmp_128_insn, 3, SUF_Z, 0x01, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpltps, ssecmp_128_insn, 3, SUF_Z, 0x01, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpltsd, ssecmp_64_insn, 4, SUF_Z, 0x01, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpltss, ssecmp_32_insn, 4, SUF_Z, 0x01, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpneq_oqpd, ssecmp_128_insn, 3, SUF_Z, 0x0C, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpneq_oqps, ssecmp_128_insn, 3, SUF_Z, 0x0C, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpneq_oqsd, ssecmp_64_insn, 4, SUF_Z, 0x0C, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpneq_oqss, ssecmp_32_insn, 4, SUF_Z, 0x0C, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpneq_ospd, ssecmp_128_insn, 3, SUF_Z, 0x1C, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpneq_osps, ssecmp_128_insn, 3, SUF_Z, 0x1C, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpneq_ossd, ssecmp_64_insn, 4, SUF_Z, 0x1C, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpneq_osss, ssecmp_32_insn, 4, SUF_Z, 0x1C, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpneq_uspd, ssecmp_128_insn, 3, SUF_Z, 0x14, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpneq_usps, ssecmp_128_insn, 3, SUF_Z, 0x14, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpneq_ussd, ssecmp_64_insn, 4, SUF_Z, 0x14, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpneq_usss, ssecmp_32_insn, 4, SUF_Z, 0x14, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpneqpd, ssecmp_128_insn, 3, SUF_Z, 0x04, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpneqps, ssecmp_128_insn, 3, SUF_Z, 0x04, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpneqsd, ssecmp_64_insn, 4, SUF_Z, 0x04, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpneqss, ssecmp_32_insn, 4, SUF_Z, 0x04, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpnge_uqpd, ssecmp_128_insn, 3, SUF_Z, 0x19, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpnge_uqps, ssecmp_128_insn, 3, SUF_Z, 0x19, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpnge_uqsd, ssecmp_64_insn, 4, SUF_Z, 0x19, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpnge_uqss, ssecmp_32_insn, 4, SUF_Z, 0x19, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpngepd, ssecmp_128_insn, 3, SUF_Z, 0x09, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpngeps, ssecmp_128_insn, 3, SUF_Z, 0x09, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpngesd, ssecmp_64_insn, 4, SUF_Z, 0x09, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpngess, ssecmp_32_insn, 4, SUF_Z, 0x09, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpngt_uqpd, ssecmp_128_insn, 3, SUF_Z, 0x1A, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpngt_uqps, ssecmp_128_insn, 3, SUF_Z, 0x1A, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpngt_uqsd, ssecmp_64_insn, 4, SUF_Z, 0x1A, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpngt_uqss, ssecmp_32_insn, 4, SUF_Z, 0x1A, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpngtpd, ssecmp_128_insn, 3, SUF_Z, 0x0A, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpngtps, ssecmp_128_insn, 3, SUF_Z, 0x0A, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpngtsd, ssecmp_64_insn, 4, SUF_Z, 0x0A, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpngtss, ssecmp_32_insn, 4, SUF_Z, 0x0A, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpnle_uqpd, ssecmp_128_insn, 3, SUF_Z, 0x16, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpnle_uqps, ssecmp_128_insn, 3, SUF_Z, 0x16, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpnle_uqsd, ssecmp_64_insn, 4, SUF_Z, 0x16, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpnle_uqss, ssecmp_32_insn, 4, SUF_Z, 0x16, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpnlepd, ssecmp_128_insn, 3, SUF_Z, 0x06, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpnleps, ssecmp_128_insn, 3, SUF_Z, 0x06, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpnlesd, ssecmp_64_insn, 4, SUF_Z, 0x06, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpnless, ssecmp_32_insn, 4, SUF_Z, 0x06, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpnlt_uqpd, ssecmp_128_insn, 3, SUF_Z, 0x15, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpnlt_uqps, ssecmp_128_insn, 3, SUF_Z, 0x15, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpnlt_uqsd, ssecmp_64_insn, 4, SUF_Z, 0x15, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpnlt_uqss, ssecmp_32_insn, 4, SUF_Z, 0x15, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpnltpd, ssecmp_128_insn, 3, SUF_Z, 0x05, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpnltps, ssecmp_128_insn, 3, SUF_Z, 0x05, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpnltsd, ssecmp_64_insn, 4, SUF_Z, 0x05, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpnltss, ssecmp_32_insn, 4, SUF_Z, 0x05, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpord_spd, ssecmp_128_insn, 3, SUF_Z, 0x17, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpord_sps, ssecmp_128_insn, 3, SUF_Z, 0x17, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpord_ssd, ssecmp_64_insn, 4, SUF_Z, 0x17, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpord_sss, ssecmp_32_insn, 4, SUF_Z, 0x17, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpordpd, ssecmp_128_insn, 3, SUF_Z, 0x07, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpordps, ssecmp_128_insn, 3, SUF_Z, 0x07, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpordsd, ssecmp_64_insn, 4, SUF_Z, 0x07, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpordss, ssecmp_32_insn, 4, SUF_Z, 0x07, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmppd, xmm_xmm128_imm_256_insn, 3, SUF_Z, 0x66, 0xC2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpps, xmm_xmm128_imm_256_insn, 3, SUF_Z, 0x00, 0xC2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpsd, cmpsd_insn, 5, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpss, xmm_xmm32_imm_insn, 4, SUF_Z, 0xF3, 0xC2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmptrue_uspd, ssecmp_128_insn, 3, SUF_Z, 0x1F, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmptrue_usps, ssecmp_128_insn, 3, SUF_Z, 0x1F, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmptrue_ussd, ssecmp_64_insn, 4, SUF_Z, 0x1F, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmptrue_usss, ssecmp_32_insn, 4, SUF_Z, 0x1F, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmptruepd, ssecmp_128_insn, 3, SUF_Z, 0x0F, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmptrueps, ssecmp_128_insn, 3, SUF_Z, 0x0F, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmptruesd, ssecmp_64_insn, 4, SUF_Z, 0x0F, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmptruess, ssecmp_32_insn, 4, SUF_Z, 0x0F, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpunord_spd, ssecmp_128_insn, 3, SUF_Z, 0x13, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpunord_sps, ssecmp_128_insn, 3, SUF_Z, 0x13, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpunord_ssd, ssecmp_64_insn, 4, SUF_Z, 0x13, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpunord_sss, ssecmp_32_insn, 4, SUF_Z, 0x13, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpunordpd, ssecmp_128_insn, 3, SUF_Z, 0x03, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpunordps, ssecmp_128_insn, 3, SUF_Z, 0x03, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpunordsd, ssecmp_64_insn, 4, SUF_Z, 0x03, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpunordss, ssecmp_32_insn, 4, SUF_Z, 0x03, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcomisd, avx_xmm_xmm64_insn, 2, SUF_Z, 0x66, 0x2F, 0, ONLY_AVX, CPU_AVX, 0, 0 +vcomiss, avx_xmm_xmm32_insn, 2, SUF_Z, 0x00, 0x2F, 0, ONLY_AVX, CPU_AVX, 0, 0 +vcvtdq2pd, avx_cvt_xmm64_insn, 3, SUF_Z, 0xF3, 0xE6, 0, ONLY_AVX, CPU_AVX, 0, 0 +vcvtdq2ps, avx_xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x5B, 0, ONLY_AVX, CPU_AVX, 0, 0 +vcvtpd2dq, avx_cvt_xmm128_insn, 2, SUF_Z, 0xF2, 0xE6, 0, ONLY_AVX, CPU_AVX, 0, 0 +vcvtpd2dqx, avx_cvt_xmm128_x_insn, 1, SUF_Z, 0xF2, 0xE6, 0, ONLY_AVX, CPU_AVX, 0, 0 +vcvtpd2dqy, avx_cvt_xmm128_y_insn, 1, SUF_Z, 0xF2, 0xE6, 0, ONLY_AVX, CPU_AVX, 0, 0 +vcvtpd2ps, avx_cvt_xmm128_insn, 2, SUF_Z, 0x66, 0x5A, 0, ONLY_AVX, CPU_AVX, 0, 0 +vcvtpd2psx, avx_cvt_xmm128_x_insn, 1, SUF_Z, 0x66, 0x5A, 0, ONLY_AVX, CPU_AVX, 0, 0 +vcvtpd2psy, avx_cvt_xmm128_y_insn, 1, SUF_Z, 0x66, 0x5A, 0, ONLY_AVX, CPU_AVX, 0, 0 +vcvtph2ps, avx_cvtph2ps_insn, 4, SUF_Z, 0x66, 0x13, 0, ONLY_AVX, CPU_AVX, 0, 0 +vcvtps2dq, avx_xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x5B, 0, ONLY_AVX, CPU_AVX, 0, 0 +vcvtps2pd, avx_cvt_xmm64_insn, 3, SUF_Z, 0x00, 0x5A, 0, ONLY_AVX, CPU_AVX, 0, 0 +vcvtps2ph, avx_cvtps2ph_insn, 4, SUF_Z, 0x66, 0x1D, 0, ONLY_AVX, CPU_AVX, 0, 0 +vcvtsd2si, cvt_rx_xmm64_insn, 4, SUF_Z, 0xF2, 0x2D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcvtsd2sil, cvt_rx_xmm64_insn, 4, SUF_L, 0xF2, 0x2D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcvtsd2siq, cvt_rx_xmm64_insn, 4, SUF_Q, 0xF2, 0x2D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcvtsd2ss, xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcvtsi2sd, cvt_xmm_rmx_insn, 6, SUF_Z, 0xF2, 0x2A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcvtsi2sdl, cvt_xmm_rmx_insn, 6, SUF_L, 0xF2, 0x2A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcvtsi2sdq, cvt_xmm_rmx_insn, 6, SUF_Q, 0xF2, 0x2A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcvtsi2ss, cvt_xmm_rmx_insn, 6, SUF_Z, 0xF3, 0x2A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcvtsi2ssl, cvt_xmm_rmx_insn, 6, SUF_L, 0xF3, 0x2A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcvtsi2ssq, cvt_xmm_rmx_insn, 6, SUF_Q, 0xF3, 0x2A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcvtss2sd, xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcvtss2si, cvt_rx_xmm32_insn, 4, SUF_Z, 0xF3, 0x2D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcvtss2sil, cvt_rx_xmm32_insn, 4, SUF_L, 0xF3, 0x2D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcvtss2siq, cvt_rx_xmm32_insn, 4, SUF_Q, 0xF3, 0x2D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcvttpd2dq, avx_cvt_xmm128_insn, 2, SUF_Z, 0x66, 0xE6, 0, ONLY_AVX, CPU_AVX, 0, 0 +vcvttpd2dqx, avx_cvt_xmm128_x_insn, 1, SUF_Z, 0x66, 0xE6, 0, ONLY_AVX, CPU_AVX, 0, 0 +vcvttpd2dqy, avx_cvt_xmm128_y_insn, 1, SUF_Z, 0x66, 0xE6, 0, ONLY_AVX, CPU_AVX, 0, 0 +vcvttps2dq, avx_xmm_xmm128_insn, 2, SUF_Z, 0xF3, 0x5B, 0, ONLY_AVX, CPU_AVX, 0, 0 +vcvttsd2si, cvt_rx_xmm64_insn, 4, SUF_Z, 0xF2, 0x2C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcvttsd2sil, cvt_rx_xmm64_insn, 4, SUF_L, 0xF2, 0x2C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcvttsd2siq, cvt_rx_xmm64_insn, 4, SUF_Q, 0xF2, 0x2C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcvttss2si, cvt_rx_xmm32_insn, 4, SUF_Z, 0xF3, 0x2C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcvttss2sil, cvt_rx_xmm32_insn, 4, SUF_L, 0xF3, 0x2C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcvttss2siq, cvt_rx_xmm32_insn, 4, SUF_Q, 0xF3, 0x2C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vdivpd, xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x5E, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vdivps, xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x5E, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vdivsd, xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5E, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vdivss, xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5E, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vdppd, sse4imm_insn, 2, SUF_Z, 0x41, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vdpps, sse4imm_256_insn, 4, SUF_Z, 0x40, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +verr, prot286_insn, 1, SUF_Z, 0x04, 0x00, 0, 0, CPU_286, CPU_Prot, 0 +verrw, prot286_insn, 1, SUF_W, 0x04, 0x00, 0, 0, CPU_286, CPU_Prot, 0 +verw, prot286_insn, 1, SUF_Z, 0x05, 0x00, 0, 0, CPU_286, CPU_Prot, 0 +verww, prot286_insn, 1, SUF_W, 0x05, 0x00, 0, 0, CPU_286, CPU_Prot, 0 +vextractf128, vextractif128_insn, 1, SUF_Z, 0x19, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vextracti128, vextractif128_insn, 1, SUF_Z, 0x39, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vextractps, extractps_insn, 2, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vfmadd132pd, vfma_pd_insn, 2, SUF_Z, 0x98, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmadd132ps, vfma_ps_insn, 2, SUF_Z, 0x98, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmadd132sd, vfma_sd_insn, 2, SUF_Z, 0x99, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmadd132ss, vfma_ss_insn, 2, SUF_Z, 0x99, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmadd213pd, vfma_pd_insn, 2, SUF_Z, 0xA8, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmadd213ps, vfma_ps_insn, 2, SUF_Z, 0xA8, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmadd213sd, vfma_sd_insn, 2, SUF_Z, 0xA9, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmadd213ss, vfma_ss_insn, 2, SUF_Z, 0xA9, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmadd231pd, vfma_pd_insn, 2, SUF_Z, 0xB8, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmadd231ps, vfma_ps_insn, 2, SUF_Z, 0xB8, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmadd231sd, vfma_sd_insn, 2, SUF_Z, 0xB9, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmadd231ss, vfma_ss_insn, 2, SUF_Z, 0xB9, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmaddpd, fma_128_256_insn, 4, SUF_Z, 0x69, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0 +vfmaddps, fma_128_256_insn, 4, SUF_Z, 0x68, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0 +vfmaddsd, fma_128_m64_insn, 3, SUF_Z, 0x6B, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0 +vfmaddss, fma_128_m32_insn, 3, SUF_Z, 0x6A, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0 +vfmaddsub132pd, vfma_pd_insn, 2, SUF_Z, 0x96, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmaddsub132ps, vfma_ps_insn, 2, SUF_Z, 0x96, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmaddsub213pd, vfma_pd_insn, 2, SUF_Z, 0xA6, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmaddsub213ps, vfma_ps_insn, 2, SUF_Z, 0xA6, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmaddsub231pd, vfma_pd_insn, 2, SUF_Z, 0xB6, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmaddsub231ps, vfma_ps_insn, 2, SUF_Z, 0xB6, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmaddsubpd, fma_128_256_insn, 4, SUF_Z, 0x5D, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0 +vfmaddsubps, fma_128_256_insn, 4, SUF_Z, 0x5C, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0 +vfmsub132pd, vfma_pd_insn, 2, SUF_Z, 0x9A, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmsub132ps, vfma_ps_insn, 2, SUF_Z, 0x9A, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmsub132sd, vfma_sd_insn, 2, SUF_Z, 0x9B, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmsub132ss, vfma_ss_insn, 2, SUF_Z, 0x9B, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmsub213pd, vfma_pd_insn, 2, SUF_Z, 0xAA, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmsub213ps, vfma_ps_insn, 2, SUF_Z, 0xAA, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmsub213sd, vfma_sd_insn, 2, SUF_Z, 0xAB, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmsub213ss, vfma_ss_insn, 2, SUF_Z, 0xAB, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmsub231pd, vfma_pd_insn, 2, SUF_Z, 0xBA, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmsub231ps, vfma_ps_insn, 2, SUF_Z, 0xBA, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmsub231sd, vfma_sd_insn, 2, SUF_Z, 0xBB, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmsub231ss, vfma_ss_insn, 2, SUF_Z, 0xBB, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmsubadd132pd, vfma_pd_insn, 2, SUF_Z, 0x97, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmsubadd132ps, vfma_ps_insn, 2, SUF_Z, 0x97, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmsubadd213pd, vfma_pd_insn, 2, SUF_Z, 0xA7, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmsubadd213ps, vfma_ps_insn, 2, SUF_Z, 0xA7, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmsubadd231pd, vfma_pd_insn, 2, SUF_Z, 0xB7, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmsubadd231ps, vfma_ps_insn, 2, SUF_Z, 0xB7, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmsubaddpd, fma_128_256_insn, 4, SUF_Z, 0x5F, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0 +vfmsubaddps, fma_128_256_insn, 4, SUF_Z, 0x5E, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0 +vfmsubpd, fma_128_256_insn, 4, SUF_Z, 0x6D, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0 +vfmsubps, fma_128_256_insn, 4, SUF_Z, 0x6C, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0 +vfmsubsd, fma_128_m64_insn, 3, SUF_Z, 0x6F, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0 +vfmsubss, fma_128_m32_insn, 3, SUF_Z, 0x6E, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0 +vfnmadd132pd, vfma_pd_insn, 2, SUF_Z, 0x9C, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmadd132ps, vfma_ps_insn, 2, SUF_Z, 0x9C, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmadd132sd, vfma_sd_insn, 2, SUF_Z, 0x9D, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmadd132ss, vfma_ss_insn, 2, SUF_Z, 0x9D, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmadd213pd, vfma_pd_insn, 2, SUF_Z, 0xAC, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmadd213ps, vfma_ps_insn, 2, SUF_Z, 0xAC, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmadd213sd, vfma_sd_insn, 2, SUF_Z, 0xAD, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmadd213ss, vfma_ss_insn, 2, SUF_Z, 0xAD, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmadd231pd, vfma_pd_insn, 2, SUF_Z, 0xBC, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmadd231ps, vfma_ps_insn, 2, SUF_Z, 0xBC, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmadd231sd, vfma_sd_insn, 2, SUF_Z, 0xBD, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmadd231ss, vfma_ss_insn, 2, SUF_Z, 0xBD, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmaddpd, fma_128_256_insn, 4, SUF_Z, 0x79, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0 +vfnmaddps, fma_128_256_insn, 4, SUF_Z, 0x78, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0 +vfnmaddsd, fma_128_m64_insn, 3, SUF_Z, 0x7B, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0 +vfnmaddss, fma_128_m32_insn, 3, SUF_Z, 0x7A, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0 +vfnmsub132pd, vfma_pd_insn, 2, SUF_Z, 0x9E, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmsub132ps, vfma_ps_insn, 2, SUF_Z, 0x9E, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmsub132sd, vfma_sd_insn, 2, SUF_Z, 0x9F, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmsub132ss, vfma_ss_insn, 2, SUF_Z, 0x9F, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmsub213pd, vfma_pd_insn, 2, SUF_Z, 0xAE, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmsub213ps, vfma_ps_insn, 2, SUF_Z, 0xAE, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmsub213sd, vfma_sd_insn, 2, SUF_Z, 0xAF, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmsub213ss, vfma_ss_insn, 2, SUF_Z, 0xAF, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmsub231pd, vfma_pd_insn, 2, SUF_Z, 0xBE, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmsub231ps, vfma_ps_insn, 2, SUF_Z, 0xBE, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmsub231sd, vfma_sd_insn, 2, SUF_Z, 0xBF, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmsub231ss, vfma_ss_insn, 2, SUF_Z, 0xBF, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmsubpd, fma_128_256_insn, 4, SUF_Z, 0x7D, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0 +vfnmsubps, fma_128_256_insn, 4, SUF_Z, 0x7C, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0 +vfnmsubsd, fma_128_m64_insn, 3, SUF_Z, 0x7F, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0 +vfnmsubss, fma_128_m32_insn, 3, SUF_Z, 0x7E, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0 +vfrczpd, vfrc_pdps_insn, 2, SUF_Z, 0x01, 0, 0, 0, CPU_XOP, 0, 0 +vfrczps, vfrc_pdps_insn, 2, SUF_Z, 0x00, 0, 0, 0, CPU_XOP, 0, 0 +vfrczsd, vfrczsd_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_XOP, 0, 0 +vfrczss, vfrczss_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_XOP, 0, 0 +vgatherdpd, gather_64x_64x_insn, 2, SUF_Z, 0x92, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vgatherdps, gather_32x_32y_insn, 2, SUF_Z, 0x92, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vgatherqpd, gather_64x_64y_insn, 2, SUF_Z, 0x93, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vgatherqps, gather_32x_32y_128_insn, 2, SUF_Z, 0x93, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vhaddpd, xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x7C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vhaddps, xmm_xmm128_256_insn, 4, SUF_Z, 0xF2, 0x7C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vhsubpd, xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x7D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vhsubps, xmm_xmm128_256_insn, 4, SUF_Z, 0xF2, 0x7D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vinsertf128, vinsertif128_insn, 1, SUF_Z, 0x18, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vinserti128, vinsertif128_insn, 1, SUF_Z, 0x38, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vinsertps, insertps_insn, 4, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vlddqu, lddqu_insn, 2, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vldmxcsr, ldstmxcsr_insn, 1, SUF_Z, 0x02, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vmaskmovdqu, maskmovdqu_insn, 1, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vmaskmovpd, vmaskmov_insn, 4, SUF_Z, 0x2D, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vmaskmovps, vmaskmov_insn, 4, SUF_Z, 0x2C, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vmaxpd, xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x5F, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vmaxps, xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x5F, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vmaxsd, xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5F, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vmaxss, xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5F, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vmcall, threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xC1, 0, CPU_P4, 0, 0 +vmclear, vmxthreebytemem_insn, 1, SUF_Z, 0x66, 0, 0, 0, CPU_P4, 0, 0 +vminpd, xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x5D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vminps, xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x5D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vminsd, xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vminss, xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vmlaunch, threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xC2, 0, CPU_P4, 0, 0 +vmload, svm_rax_insn, 2, SUF_Z, 0xDA, 0, 0, 0, CPU_SVM, 0, 0 +vmmcall, threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xD9, 0, CPU_SVM, 0, 0 +vmovapd, movau_insn, 6, SUF_Z, 0x66, 0x28, 0x01, ONLY_AVX, CPU_AVX, 0, 0 +vmovaps, movau_insn, 6, SUF_Z, 0x00, 0x28, 0x01, ONLY_AVX, CPU_AVX, 0, 0 +vmovd, vmovd_insn, 2, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_386, CPU_AVX, 0 +vmovddup, vmovddup_insn, 3, SUF_Z, 0xF2, 0x12, 0, ONLY_AVX, CPU_AVX, 0, 0 +vmovdqa, movau_insn, 6, SUF_Z, 0x66, 0x6F, 0x10, ONLY_AVX, CPU_AVX, 0, 0 +vmovdqu, movau_insn, 6, SUF_Z, 0xF3, 0x6F, 0x10, ONLY_AVX, CPU_AVX, 0, 0 +vmovhlps, movhllhps_insn, 2, SUF_Z, 0x12, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vmovhpd, movhlp_insn, 3, SUF_Z, 0x66, 0x16, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vmovhps, movhlp_insn, 3, SUF_Z, 0x00, 0x16, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vmovlhps, movhllhps_insn, 2, SUF_Z, 0x16, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vmovlpd, movhlp_insn, 3, SUF_Z, 0x66, 0x12, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vmovlps, movhlp_insn, 3, SUF_Z, 0x00, 0x12, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vmovmskpd, movmsk_insn, 4, SUF_Z, 0x66, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vmovmskpdl, movmsk_insn, 4, SUF_L, 0x66, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vmovmskpdq, movmsk_insn, 4, SUF_Q, 0x66, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vmovmskps, movmsk_insn, 4, SUF_Z, 0x00, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vmovmskpsl, movmsk_insn, 4, SUF_L, 0x00, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vmovmskpsq, movmsk_insn, 4, SUF_Q, 0x00, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vmovntdq, movnt_insn, 2, SUF_Z, 0x66, 0xE7, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vmovntdqa, movntdqa_insn, 2, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vmovntpd, movnt_insn, 2, SUF_Z, 0x66, 0x2B, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vmovntps, movnt_insn, 2, SUF_Z, 0x00, 0x2B, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vmovq, vmovq_insn, 5, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vmovsd, movsd_insn, 5, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vmovshdup, avx_xmm_xmm128_insn, 2, SUF_Z, 0xF3, 0x16, 0, ONLY_AVX, CPU_AVX, 0, 0 +vmovsldup, avx_xmm_xmm128_insn, 2, SUF_Z, 0xF3, 0x12, 0, ONLY_AVX, CPU_AVX, 0, 0 +vmovss, movss_insn, 4, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vmovupd, movau_insn, 6, SUF_Z, 0x66, 0x10, 0x01, ONLY_AVX, CPU_AVX, 0, 0 +vmovups, movau_insn, 6, SUF_Z, 0x00, 0x10, 0x01, ONLY_AVX, CPU_AVX, 0, 0 +vmpsadbw, sse4imm_256avx2_insn, 4, SUF_Z, 0x42, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vmptrld, vmxtwobytemem_insn, 1, SUF_Z, 0x06, 0, 0, 0, CPU_P4, 0, 0 +vmptrst, vmxtwobytemem_insn, 1, SUF_Z, 0x07, 0, 0, 0, CPU_P4, 0, 0 +vmread, vmxmemrd_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_P4, 0, 0 +vmreadl, vmxmemrd_insn, 2, SUF_L, 0, 0, 0, NOT_64, CPU_P4, 0, 0 +vmreadq, vmxmemrd_insn, 2, SUF_Q, 0, 0, 0, ONLY_64, CPU_P4, 0, 0 +vmresume, threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xC3, 0, CPU_P4, 0, 0 +vmrun, svm_rax_insn, 2, SUF_Z, 0xD8, 0, 0, 0, CPU_SVM, 0, 0 +vmsave, svm_rax_insn, 2, SUF_Z, 0xDB, 0, 0, 0, CPU_SVM, 0, 0 +vmulpd, xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x59, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vmulps, xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x59, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vmulsd, xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x59, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vmulss, xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x59, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vmwrite, vmxmemwr_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_P4, 0, 0 +vmwritel, vmxmemwr_insn, 2, SUF_L, 0, 0, 0, NOT_64, CPU_P4, 0, 0 +vmwriteq, vmxmemwr_insn, 2, SUF_Q, 0, 0, 0, ONLY_64, CPU_P4, 0, 0 +vmxoff, threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xC4, 0, CPU_P4, 0, 0 +vmxon, vmxthreebytemem_insn, 1, SUF_Z, 0xF3, 0, 0, 0, CPU_P4, 0, 0 +vorpd, xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x56, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vorps, xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x56, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpabsb, avx2_ssse3_2op_insn, 2, SUF_Z, 0x1C, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpabsd, avx2_ssse3_2op_insn, 2, SUF_Z, 0x1E, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpabsw, avx2_ssse3_2op_insn, 2, SUF_Z, 0x1D, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpackssdw, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x6B, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpacksswb, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x63, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpackusdw, ssse3_insn, 5, SUF_Z, 0x2B, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpackuswb, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x67, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpaddb, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xFC, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpaddd, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xFE, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpaddq, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xD4, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpaddsb, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xEC, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpaddsw, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xED, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpaddusb, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xDC, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpaddusw, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xDD, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpaddw, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xFD, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpalignr, sse4imm_256avx2_insn, 4, SUF_Z, 0x0F, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpand, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xDB, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpandn, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xDF, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpavgb, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xE0, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpavgw, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xE3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpblendd, vex_66_0F3A_imm8_avx2_insn, 2, SUF_Z, 0x02, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpblendvb, avx2_sse4xmm0_insn, 2, SUF_Z, 0x4C, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpblendw, sse4imm_256avx2_insn, 4, SUF_Z, 0x0E, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpbroadcastb, vpbroadcastb_avx2_insn, 4, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpbroadcastd, vpbroadcastd_avx2_insn, 4, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpbroadcastq, vpbroadcastq_avx2_insn, 4, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpbroadcastw, vpbroadcastw_avx2_insn, 4, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpclmulhqhqdq, pclmulqdq_fixed_insn, 2, SUF_Z, 0x11, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpclmulhqlqdq, pclmulqdq_fixed_insn, 2, SUF_Z, 0x01, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpclmullqhqdq, pclmulqdq_fixed_insn, 2, SUF_Z, 0x10, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpclmullqlqdq, pclmulqdq_fixed_insn, 2, SUF_Z, 0x00, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpclmulqdq, pclmulqdq_insn, 2, SUF_Z, 0x3A, 0x44, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpcmov, vpcmov_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_XOP, 0, 0 +vpcmpeqb, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x74, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpcmpeqd, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x76, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpcmpeqq, ssse3_insn, 5, SUF_Z, 0x29, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpcmpeqw, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x75, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpcmpestri, sse4pcmpstr_insn, 1, SUF_Z, 0x61, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpcmpestrm, sse4pcmpstr_insn, 1, SUF_Z, 0x60, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpcmpgtb, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x64, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpcmpgtd, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpcmpgtq, ssse3_insn, 5, SUF_Z, 0x37, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpcmpgtw, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x65, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpcmpistri, sse4pcmpstr_insn, 1, SUF_Z, 0x63, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpcmpistrm, sse4pcmpstr_insn, 1, SUF_Z, 0x62, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpcomb, vpcom_imm_insn, 1, SUF_Z, 0xCC, 0, 0, 0, CPU_XOP, 0, 0 +vpcomd, vpcom_imm_insn, 1, SUF_Z, 0xCE, 0, 0, 0, CPU_XOP, 0, 0 +vpcomeqb, vpcom_insn, 1, SUF_Z, 0xCC, 0x04, 0, 0, CPU_XOP, 0, 0 +vpcomeqd, vpcom_insn, 1, SUF_Z, 0xCE, 0x04, 0, 0, CPU_XOP, 0, 0 +vpcomeqq, vpcom_insn, 1, SUF_Z, 0xCF, 0x04, 0, 0, CPU_XOP, 0, 0 +vpcomequb, vpcom_insn, 1, SUF_Z, 0xEC, 0x04, 0, 0, CPU_XOP, 0, 0 +vpcomequd, vpcom_insn, 1, SUF_Z, 0xEE, 0x04, 0, 0, CPU_XOP, 0, 0 +vpcomequq, vpcom_insn, 1, SUF_Z, 0xEF, 0x04, 0, 0, CPU_XOP, 0, 0 +vpcomequw, vpcom_insn, 1, SUF_Z, 0xED, 0x04, 0, 0, CPU_XOP, 0, 0 +vpcomeqw, vpcom_insn, 1, SUF_Z, 0xCD, 0x04, 0, 0, CPU_XOP, 0, 0 +vpcomfalseb, vpcom_insn, 1, SUF_Z, 0xCC, 0x06, 0, 0, CPU_XOP, 0, 0 +vpcomfalsed, vpcom_insn, 1, SUF_Z, 0xCE, 0x06, 0, 0, CPU_XOP, 0, 0 +vpcomfalseq, vpcom_insn, 1, SUF_Z, 0xCF, 0x06, 0, 0, CPU_XOP, 0, 0 +vpcomfalseub, vpcom_insn, 1, SUF_Z, 0xEC, 0x06, 0, 0, CPU_XOP, 0, 0 +vpcomfalseud, vpcom_insn, 1, SUF_Z, 0xEE, 0x06, 0, 0, CPU_XOP, 0, 0 +vpcomfalseuq, vpcom_insn, 1, SUF_Z, 0xEF, 0x06, 0, 0, CPU_XOP, 0, 0 +vpcomfalseuw, vpcom_insn, 1, SUF_Z, 0xED, 0x06, 0, 0, CPU_XOP, 0, 0 +vpcomfalsew, vpcom_insn, 1, SUF_Z, 0xCD, 0x06, 0, 0, CPU_XOP, 0, 0 +vpcomgeb, vpcom_insn, 1, SUF_Z, 0xCC, 0x03, 0, 0, CPU_XOP, 0, 0 +vpcomged, vpcom_insn, 1, SUF_Z, 0xCE, 0x03, 0, 0, CPU_XOP, 0, 0 +vpcomgeq, vpcom_insn, 1, SUF_Z, 0xCF, 0x03, 0, 0, CPU_XOP, 0, 0 +vpcomgeub, vpcom_insn, 1, SUF_Z, 0xEC, 0x03, 0, 0, CPU_XOP, 0, 0 +vpcomgeud, vpcom_insn, 1, SUF_Z, 0xEE, 0x03, 0, 0, CPU_XOP, 0, 0 +vpcomgeuq, vpcom_insn, 1, SUF_Z, 0xEF, 0x03, 0, 0, CPU_XOP, 0, 0 +vpcomgeuw, vpcom_insn, 1, SUF_Z, 0xED, 0x03, 0, 0, CPU_XOP, 0, 0 +vpcomgew, vpcom_insn, 1, SUF_Z, 0xCD, 0x03, 0, 0, CPU_XOP, 0, 0 +vpcomgtb, vpcom_insn, 1, SUF_Z, 0xCC, 0x02, 0, 0, CPU_XOP, 0, 0 +vpcomgtd, vpcom_insn, 1, SUF_Z, 0xCE, 0x02, 0, 0, CPU_XOP, 0, 0 +vpcomgtq, vpcom_insn, 1, SUF_Z, 0xCF, 0x02, 0, 0, CPU_XOP, 0, 0 +vpcomgtub, vpcom_insn, 1, SUF_Z, 0xEC, 0x02, 0, 0, CPU_XOP, 0, 0 +vpcomgtud, vpcom_insn, 1, SUF_Z, 0xEE, 0x02, 0, 0, CPU_XOP, 0, 0 +vpcomgtuq, vpcom_insn, 1, SUF_Z, 0xEF, 0x02, 0, 0, CPU_XOP, 0, 0 +vpcomgtuw, vpcom_insn, 1, SUF_Z, 0xED, 0x02, 0, 0, CPU_XOP, 0, 0 +vpcomgtw, vpcom_insn, 1, SUF_Z, 0xCD, 0x02, 0, 0, CPU_XOP, 0, 0 +vpcomleb, vpcom_insn, 1, SUF_Z, 0xCC, 0x01, 0, 0, CPU_XOP, 0, 0 +vpcomled, vpcom_insn, 1, SUF_Z, 0xCE, 0x01, 0, 0, CPU_XOP, 0, 0 +vpcomleq, vpcom_insn, 1, SUF_Z, 0xCF, 0x01, 0, 0, CPU_XOP, 0, 0 +vpcomleub, vpcom_insn, 1, SUF_Z, 0xEC, 0x01, 0, 0, CPU_XOP, 0, 0 +vpcomleud, vpcom_insn, 1, SUF_Z, 0xEE, 0x01, 0, 0, CPU_XOP, 0, 0 +vpcomleuq, vpcom_insn, 1, SUF_Z, 0xEF, 0x01, 0, 0, CPU_XOP, 0, 0 +vpcomleuw, vpcom_insn, 1, SUF_Z, 0xED, 0x01, 0, 0, CPU_XOP, 0, 0 +vpcomlew, vpcom_insn, 1, SUF_Z, 0xCD, 0x01, 0, 0, CPU_XOP, 0, 0 +vpcomltb, vpcom_insn, 1, SUF_Z, 0xCC, 0x00, 0, 0, CPU_XOP, 0, 0 +vpcomltd, vpcom_insn, 1, SUF_Z, 0xCE, 0x00, 0, 0, CPU_XOP, 0, 0 +vpcomltq, vpcom_insn, 1, SUF_Z, 0xCF, 0x00, 0, 0, CPU_XOP, 0, 0 +vpcomltub, vpcom_insn, 1, SUF_Z, 0xEC, 0x00, 0, 0, CPU_XOP, 0, 0 +vpcomltud, vpcom_insn, 1, SUF_Z, 0xEE, 0x00, 0, 0, CPU_XOP, 0, 0 +vpcomltuq, vpcom_insn, 1, SUF_Z, 0xEF, 0x00, 0, 0, CPU_XOP, 0, 0 +vpcomltuw, vpcom_insn, 1, SUF_Z, 0xED, 0x00, 0, 0, CPU_XOP, 0, 0 +vpcomltw, vpcom_insn, 1, SUF_Z, 0xCD, 0x00, 0, 0, CPU_XOP, 0, 0 +vpcomneb, vpcom_insn, 1, SUF_Z, 0xCC, 0x05, 0, 0, CPU_XOP, 0, 0 +vpcomned, vpcom_insn, 1, SUF_Z, 0xCE, 0x05, 0, 0, CPU_XOP, 0, 0 +vpcomneq, vpcom_insn, 1, SUF_Z, 0xCF, 0x05, 0, 0, CPU_XOP, 0, 0 +vpcomneqb, vpcom_insn, 1, SUF_Z, 0xCC, 0x05, 0, 0, CPU_XOP, 0, 0 +vpcomneqd, vpcom_insn, 1, SUF_Z, 0xCE, 0x05, 0, 0, CPU_XOP, 0, 0 +vpcomneqq, vpcom_insn, 1, SUF_Z, 0xCF, 0x05, 0, 0, CPU_XOP, 0, 0 +vpcomnequb, vpcom_insn, 1, SUF_Z, 0xEC, 0x05, 0, 0, CPU_XOP, 0, 0 +vpcomnequd, vpcom_insn, 1, SUF_Z, 0xEE, 0x05, 0, 0, CPU_XOP, 0, 0 +vpcomnequq, vpcom_insn, 1, SUF_Z, 0xEF, 0x05, 0, 0, CPU_XOP, 0, 0 +vpcomnequw, vpcom_insn, 1, SUF_Z, 0xED, 0x05, 0, 0, CPU_XOP, 0, 0 +vpcomneqw, vpcom_insn, 1, SUF_Z, 0xCD, 0x05, 0, 0, CPU_XOP, 0, 0 +vpcomneub, vpcom_insn, 1, SUF_Z, 0xEC, 0x05, 0, 0, CPU_XOP, 0, 0 +vpcomneud, vpcom_insn, 1, SUF_Z, 0xEE, 0x05, 0, 0, CPU_XOP, 0, 0 +vpcomneuq, vpcom_insn, 1, SUF_Z, 0xEF, 0x05, 0, 0, CPU_XOP, 0, 0 +vpcomneuw, vpcom_insn, 1, SUF_Z, 0xED, 0x05, 0, 0, CPU_XOP, 0, 0 +vpcomnew, vpcom_insn, 1, SUF_Z, 0xCD, 0x05, 0, 0, CPU_XOP, 0, 0 +vpcomq, vpcom_imm_insn, 1, SUF_Z, 0xCF, 0, 0, 0, CPU_XOP, 0, 0 +vpcomtrueb, vpcom_insn, 1, SUF_Z, 0xCC, 0x07, 0, 0, CPU_XOP, 0, 0 +vpcomtrued, vpcom_insn, 1, SUF_Z, 0xCE, 0x07, 0, 0, CPU_XOP, 0, 0 +vpcomtrueq, vpcom_insn, 1, SUF_Z, 0xCF, 0x07, 0, 0, CPU_XOP, 0, 0 +vpcomtrueub, vpcom_insn, 1, SUF_Z, 0xEC, 0x07, 0, 0, CPU_XOP, 0, 0 +vpcomtrueud, vpcom_insn, 1, SUF_Z, 0xEE, 0x07, 0, 0, CPU_XOP, 0, 0 +vpcomtrueuq, vpcom_insn, 1, SUF_Z, 0xEF, 0x07, 0, 0, CPU_XOP, 0, 0 +vpcomtrueuw, vpcom_insn, 1, SUF_Z, 0xED, 0x07, 0, 0, CPU_XOP, 0, 0 +vpcomtruew, vpcom_insn, 1, SUF_Z, 0xCD, 0x07, 0, 0, CPU_XOP, 0, 0 +vpcomub, vpcom_imm_insn, 1, SUF_Z, 0xEC, 0, 0, 0, CPU_XOP, 0, 0 +vpcomud, vpcom_imm_insn, 1, SUF_Z, 0xEE, 0, 0, 0, CPU_XOP, 0, 0 +vpcomuq, vpcom_imm_insn, 1, SUF_Z, 0xEF, 0, 0, 0, CPU_XOP, 0, 0 +vpcomuw, vpcom_imm_insn, 1, SUF_Z, 0xED, 0, 0, 0, CPU_XOP, 0, 0 +vpcomw, vpcom_imm_insn, 1, SUF_Z, 0xCD, 0, 0, 0, CPU_XOP, 0, 0 +vperm2f128, vperm2f128_insn, 1, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vperm2i128, vperm2i128_avx2_insn, 1, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpermd, vperm_var_avx2_insn, 1, SUF_Z, 0x36, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpermilpd, vpermil_insn, 4, SUF_Z, 0x05, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpermilps, vpermil_insn, 4, SUF_Z, 0x04, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpermpd, vperm_imm_avx2_insn, 1, SUF_Z, 0x01, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpermps, vperm_var_avx2_insn, 1, SUF_Z, 0x16, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpermq, vperm_imm_avx2_insn, 1, SUF_Z, 0x00, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpextrb, pextrb_insn, 3, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpextrd, pextrd_insn, 1, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpextrq, pextrq_insn, 1, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpextrw, pextrw_insn, 7, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpextrwl, pextrw_insn, 7, SUF_L, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpextrwq, pextrw_insn, 7, SUF_Q, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpgatherdd, gather_32x_32y_insn, 2, SUF_Z, 0x90, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpgatherdq, gather_64x_64x_insn, 2, SUF_Z, 0x90, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpgatherqd, gather_32x_32y_128_insn, 2, SUF_Z, 0x91, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpgatherqq, gather_64x_64y_insn, 2, SUF_Z, 0x91, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vphaddbd, vphaddsub_insn, 1, SUF_Z, 0xC2, 0, 0, 0, CPU_XOP, 0, 0 +vphaddbq, vphaddsub_insn, 1, SUF_Z, 0xC3, 0, 0, 0, CPU_XOP, 0, 0 +vphaddbw, vphaddsub_insn, 1, SUF_Z, 0xC1, 0, 0, 0, CPU_XOP, 0, 0 +vphaddd, ssse3_insn, 5, SUF_Z, 0x02, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vphadddq, vphaddsub_insn, 1, SUF_Z, 0xCB, 0, 0, 0, CPU_XOP, 0, 0 +vphaddsw, ssse3_insn, 5, SUF_Z, 0x03, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vphaddubd, vphaddsub_insn, 1, SUF_Z, 0xD2, 0, 0, 0, CPU_XOP, 0, 0 +vphaddubq, vphaddsub_insn, 1, SUF_Z, 0xD3, 0, 0, 0, CPU_XOP, 0, 0 +vphaddubw, vphaddsub_insn, 1, SUF_Z, 0xD1, 0, 0, 0, CPU_XOP, 0, 0 +vphaddudq, vphaddsub_insn, 1, SUF_Z, 0xDB, 0, 0, 0, CPU_XOP, 0, 0 +vphadduwd, vphaddsub_insn, 1, SUF_Z, 0xD6, 0, 0, 0, CPU_XOP, 0, 0 +vphadduwq, vphaddsub_insn, 1, SUF_Z, 0xD7, 0, 0, 0, CPU_XOP, 0, 0 +vphaddw, ssse3_insn, 5, SUF_Z, 0x01, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vphaddwd, vphaddsub_insn, 1, SUF_Z, 0xC6, 0, 0, 0, CPU_XOP, 0, 0 +vphaddwq, vphaddsub_insn, 1, SUF_Z, 0xC7, 0, 0, 0, CPU_XOP, 0, 0 +vphminposuw, avx_ssse3_2op_insn, 1, SUF_Z, 0x41, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vphsubbw, vphaddsub_insn, 1, SUF_Z, 0xE1, 0, 0, 0, CPU_XOP, 0, 0 +vphsubd, ssse3_insn, 5, SUF_Z, 0x06, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vphsubdq, vphaddsub_insn, 1, SUF_Z, 0xE3, 0, 0, 0, CPU_XOP, 0, 0 +vphsubsw, ssse3_insn, 5, SUF_Z, 0x07, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vphsubw, ssse3_insn, 5, SUF_Z, 0x05, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vphsubwd, vphaddsub_insn, 1, SUF_Z, 0xE2, 0, 0, 0, CPU_XOP, 0, 0 +vpinsrb, pinsrb_insn, 4, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpinsrd, pinsrd_insn, 2, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpinsrq, pinsrq_insn, 2, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpinsrw, pinsrw_insn, 9, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpinsrwl, pinsrw_insn, 9, SUF_L, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpinsrwq, pinsrw_insn, 9, SUF_Q, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmacsdd, vpma_insn, 1, SUF_Z, 0x9E, 0, 0, 0, CPU_XOP, 0, 0 +vpmacsdqh, vpma_insn, 1, SUF_Z, 0x9F, 0, 0, 0, CPU_XOP, 0, 0 +vpmacsdql, vpma_insn, 1, SUF_Z, 0x97, 0, 0, 0, CPU_XOP, 0, 0 +vpmacssdd, vpma_insn, 1, SUF_Z, 0x8E, 0, 0, 0, CPU_XOP, 0, 0 +vpmacssdqh, vpma_insn, 1, SUF_Z, 0x8F, 0, 0, 0, CPU_XOP, 0, 0 +vpmacssdql, vpma_insn, 1, SUF_Z, 0x87, 0, 0, 0, CPU_XOP, 0, 0 +vpmacsswd, vpma_insn, 1, SUF_Z, 0x86, 0, 0, 0, CPU_XOP, 0, 0 +vpmacssww, vpma_insn, 1, SUF_Z, 0x85, 0, 0, 0, CPU_XOP, 0, 0 +vpmacswd, vpma_insn, 1, SUF_Z, 0x96, 0, 0, 0, CPU_XOP, 0, 0 +vpmacsww, vpma_insn, 1, SUF_Z, 0x95, 0, 0, 0, CPU_XOP, 0, 0 +vpmadcsswd, vpma_insn, 1, SUF_Z, 0xA6, 0, 0, 0, CPU_XOP, 0, 0 +vpmadcswd, vpma_insn, 1, SUF_Z, 0xB6, 0, 0, 0, CPU_XOP, 0, 0 +vpmaddubsw, ssse3_insn, 5, SUF_Z, 0x04, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmaddwd, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xF5, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpmaskmovd, vmaskmov_insn, 4, SUF_Z, 0x8C, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpmaskmovq, vmaskmov_vexw1_avx2_insn, 4, SUF_Z, 0x8C, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpmaxsb, ssse3_insn, 5, SUF_Z, 0x3C, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmaxsd, ssse3_insn, 5, SUF_Z, 0x3D, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmaxsw, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xEE, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpmaxub, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xDE, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpmaxud, ssse3_insn, 5, SUF_Z, 0x3F, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmaxuw, ssse3_insn, 5, SUF_Z, 0x3E, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpminsb, ssse3_insn, 5, SUF_Z, 0x38, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpminsd, ssse3_insn, 5, SUF_Z, 0x39, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpminsw, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xEA, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpminub, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xDA, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpminud, ssse3_insn, 5, SUF_Z, 0x3B, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpminuw, ssse3_insn, 5, SUF_Z, 0x3A, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmovmskb, pmovmskb_insn, 6, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmovmskbl, pmovmskb_insn, 6, SUF_L, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmovmskbq, pmovmskb_insn, 6, SUF_Q, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmovsxbd, sse4m32_insn, 4, SUF_Z, 0x21, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmovsxbq, sse4m16_insn, 4, SUF_Z, 0x22, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmovsxbw, sse4m64_insn, 4, SUF_Z, 0x20, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmovsxdq, sse4m64_insn, 4, SUF_Z, 0x25, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmovsxwd, sse4m64_insn, 4, SUF_Z, 0x23, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmovsxwq, sse4m32_insn, 4, SUF_Z, 0x24, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmovzxbd, sse4m32_insn, 4, SUF_Z, 0x31, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmovzxbq, sse4m16_insn, 4, SUF_Z, 0x32, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmovzxbw, sse4m64_insn, 4, SUF_Z, 0x30, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmovzxdq, sse4m64_insn, 4, SUF_Z, 0x35, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmovzxwd, sse4m64_insn, 4, SUF_Z, 0x33, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmovzxwq, sse4m32_insn, 4, SUF_Z, 0x34, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmuldq, ssse3_insn, 5, SUF_Z, 0x28, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmulhrsw, ssse3_insn, 5, SUF_Z, 0x0B, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmulhuw, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xE4, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpmulhw, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xE5, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpmulld, ssse3_insn, 5, SUF_Z, 0x40, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmullw, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xD5, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpmuludq, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xF4, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpor, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xEB, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpperm, vpperm_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_XOP, 0, 0 +vprotb, vprot_insn, 3, SUF_Z, 0x00, 0, 0, 0, CPU_XOP, 0, 0 +vprotd, vprot_insn, 3, SUF_Z, 0x02, 0, 0, 0, CPU_XOP, 0, 0 +vprotq, vprot_insn, 3, SUF_Z, 0x03, 0, 0, 0, CPU_XOP, 0, 0 +vprotw, vprot_insn, 3, SUF_Z, 0x01, 0, 0, 0, CPU_XOP, 0, 0 +vpsadbw, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xF6, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpshab, amd_vpshift_insn, 2, SUF_Z, 0x98, 0, 0, 0, CPU_XOP, 0, 0 +vpshad, amd_vpshift_insn, 2, SUF_Z, 0x9A, 0, 0, 0, CPU_XOP, 0, 0 +vpshaq, amd_vpshift_insn, 2, SUF_Z, 0x9B, 0, 0, 0, CPU_XOP, 0, 0 +vpshaw, amd_vpshift_insn, 2, SUF_Z, 0x99, 0, 0, 0, CPU_XOP, 0, 0 +vpshlb, amd_vpshift_insn, 2, SUF_Z, 0x94, 0, 0, 0, CPU_XOP, 0, 0 +vpshld, amd_vpshift_insn, 2, SUF_Z, 0x96, 0, 0, 0, CPU_XOP, 0, 0 +vpshlq, amd_vpshift_insn, 2, SUF_Z, 0x97, 0, 0, 0, CPU_XOP, 0, 0 +vpshlw, amd_vpshift_insn, 2, SUF_Z, 0x95, 0, 0, 0, CPU_XOP, 0, 0 +vpshufb, ssse3_insn, 5, SUF_Z, 0x00, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpshufd, xmm_xmm128_imm_256avx2_insn, 2, SUF_Z, 0x66, 0x70, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpshufhw, xmm_xmm128_imm_256avx2_insn, 2, SUF_Z, 0xF3, 0x70, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpshuflw, xmm_xmm128_imm_256avx2_insn, 2, SUF_Z, 0xF2, 0x70, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpsignb, ssse3_insn, 5, SUF_Z, 0x08, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpsignd, ssse3_insn, 5, SUF_Z, 0x0A, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpsignw, ssse3_insn, 5, SUF_Z, 0x09, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpslld, vpshift_insn, 8, SUF_Z, 0xF2, 0x72, 0x06, ONLY_AVX, CPU_AVX, 0, 0 +vpslldq, pslrldq_insn, 4, SUF_Z, 0x07, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpsllq, vpshift_insn, 8, SUF_Z, 0xF3, 0x73, 0x06, ONLY_AVX, CPU_AVX, 0, 0 +vpsllvd, vpshiftv_vexw0_avx2_insn, 2, SUF_Z, 0x47, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpsllvq, vpshiftv_vexw1_avx2_insn, 2, SUF_Z, 0x47, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpsllw, vpshift_insn, 8, SUF_Z, 0xF1, 0x71, 0x06, ONLY_AVX, CPU_AVX, 0, 0 +vpsrad, vpshift_insn, 8, SUF_Z, 0xE2, 0x72, 0x04, ONLY_AVX, CPU_AVX, 0, 0 +vpsravd, vpshiftv_vexw0_avx2_insn, 2, SUF_Z, 0x46, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpsraw, vpshift_insn, 8, SUF_Z, 0xE1, 0x71, 0x04, ONLY_AVX, CPU_AVX, 0, 0 +vpsrld, vpshift_insn, 8, SUF_Z, 0xD2, 0x72, 0x02, ONLY_AVX, CPU_AVX, 0, 0 +vpsrldq, pslrldq_insn, 4, SUF_Z, 0x03, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpsrlq, vpshift_insn, 8, SUF_Z, 0xD3, 0x73, 0x02, ONLY_AVX, CPU_AVX, 0, 0 +vpsrlvd, vpshiftv_vexw0_avx2_insn, 2, SUF_Z, 0x45, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpsrlvq, vpshiftv_vexw1_avx2_insn, 2, SUF_Z, 0x45, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpsrlw, vpshift_insn, 8, SUF_Z, 0xD1, 0x71, 0x02, ONLY_AVX, CPU_AVX, 0, 0 +vpsubb, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xF8, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpsubd, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xFA, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpsubq, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xFB, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpsubsb, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xE8, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpsubsw, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xE9, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpsubusb, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xD8, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpsubusw, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xD9, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpsubw, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xF9, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vptest, sse4_insn, 2, SUF_Z, 0x17, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpunpckhbw, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x68, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpunpckhdq, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x6A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpunpckhqdq, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x6D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpunpckhwd, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x69, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpunpcklbw, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x60, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpunpckldq, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x62, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpunpcklqdq, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x6C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpunpcklwd, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x61, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpxor, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xEF, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vrcpps, avx_xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x53, 0, ONLY_AVX, CPU_AVX, 0, 0 +vrcpss, xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x53, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vroundpd, avx_sse4imm_insn, 3, SUF_Z, 0x09, 0, 0, ONLY_AVX, CPU_SSE41, 0, 0 +vroundps, avx_sse4imm_insn, 3, SUF_Z, 0x08, 0, 0, ONLY_AVX, CPU_SSE41, 0, 0 +vroundsd, sse4m64imm_insn, 4, SUF_Z, 0x0B, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vroundss, sse4m32imm_insn, 4, SUF_Z, 0x0A, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vrsqrtps, avx_xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x52, 0, ONLY_AVX, CPU_AVX, 0, 0 +vrsqrtss, xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x52, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vshufpd, xmm_xmm128_imm_256_insn, 3, SUF_Z, 0x66, 0xC6, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vshufps, xmm_xmm128_imm_256_insn, 3, SUF_Z, 0x00, 0xC6, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vsqrtpd, avx_xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x51, 0, ONLY_AVX, CPU_AVX, 0, 0 +vsqrtps, avx_xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x51, 0, ONLY_AVX, CPU_AVX, 0, 0 +vsqrtsd, xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x51, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vsqrtss, xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x51, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vstmxcsr, ldstmxcsr_insn, 1, SUF_Z, 0x03, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vsubpd, xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x5C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vsubps, xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x5C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vsubsd, xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vsubss, xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vtestpd, sse4_insn, 2, SUF_Z, 0x0F, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vtestps, sse4_insn, 2, SUF_Z, 0x0E, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vucomisd, avx_xmm_xmm64_insn, 2, SUF_Z, 0x66, 0x2E, 0, ONLY_AVX, CPU_AVX, 0, 0 +vucomiss, avx_xmm_xmm32_insn, 2, SUF_Z, 0x00, 0x2E, 0, ONLY_AVX, CPU_AVX, 0, 0 +vunpckhpd, xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x15, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vunpckhps, xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x15, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vunpcklpd, xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x14, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vunpcklps, xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x14, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vxorpd, xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x57, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vxorps, xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x57, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vzeroall, vzero_insn, 1, SUF_Z, 0xC4, 0, 0, 0, CPU_AVX, 0, 0 +vzeroupper, vzero_insn, 1, SUF_Z, 0xC0, 0, 0, 0, CPU_AVX, 0, 0 +wait, onebyte_insn, 1, SUF_Z, 0x9B, 0, 0, 0, 0, 0, 0 +wbinvd, twobyte_insn, 1, SUF_Z, 0x0F, 0x09, 0, 0, CPU_486, CPU_Priv, 0 +word, NULL, X86_OPERSIZE>>8, 0x10, 0, 0, 0, 0, 0, 0, 0 +wrfsbase, fs_gs_base_insn, 2, SUF_Z, 0x02, 0, 0, ONLY_64, CPU_FSGSBASE, 0, 0 +wrgsbase, fs_gs_base_insn, 2, SUF_Z, 0x03, 0, 0, ONLY_64, CPU_FSGSBASE, 0, 0 +wrmsr, twobyte_insn, 1, SUF_Z, 0x0F, 0x30, 0, 0, CPU_586, CPU_Priv, 0 +wrshr, rdwrshr_insn, 1, SUF_Z, 0x01, 0, 0, 0, CPU_686, CPU_Cyrix, CPU_SMM +xabort, tsx_xabort_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_TSX, 0, 0 +xacquire, NULL, X86_ACQREL>>8, 0xF2, 0, 0, 0, 0, 0, 0, 0 +xadd, cmpxchgxadd_insn, 4, SUF_Z, 0xC0, 0, 0, 0, CPU_486, 0, 0 +xaddb, cmpxchgxadd_insn, 4, SUF_B, 0xC0, 0, 0, 0, CPU_486, 0, 0 +xaddl, cmpxchgxadd_insn, 4, SUF_L, 0xC0, 0, 0, 0, CPU_486, 0, 0 +xaddq, cmpxchgxadd_insn, 4, SUF_Q, 0xC0, 0, 0, ONLY_64, CPU_486, 0, 0 +xaddw, cmpxchgxadd_insn, 4, SUF_W, 0xC0, 0, 0, 0, CPU_486, 0, 0 +xbegin, tsx_xbegin_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_TSX, 0 +xbts, xbts_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_Obs, CPU_Undoc +xchg, xchg_insn, 16, SUF_Z, 0, 0, 0, 0, 0, 0, 0 +xchgb, xchg_insn, 16, SUF_B, 0, 0, 0, 0, 0, 0, 0 +xchgl, xchg_insn, 16, SUF_L, 0, 0, 0, 0, 0, 0, 0 +xchgq, xchg_insn, 16, SUF_Q, 0, 0, 0, ONLY_64, 0, 0, 0 +xchgw, xchg_insn, 16, SUF_W, 0, 0, 0, 0, 0, 0, 0 +xcryptcbc, padlock_insn, 1, SUF_Z, 0xD0, 0xF3, 0xA7, 0, CPU_PadLock, 0, 0 +xcryptcfb, padlock_insn, 1, SUF_Z, 0xE0, 0xF3, 0xA7, 0, CPU_PadLock, 0, 0 +xcryptctr, padlock_insn, 1, SUF_Z, 0xD8, 0xF3, 0xA7, 0, CPU_PadLock, 0, 0 +xcryptecb, padlock_insn, 1, SUF_Z, 0xC8, 0xF3, 0xA7, 0, CPU_PadLock, 0, 0 +xcryptofb, padlock_insn, 1, SUF_Z, 0xE8, 0xF3, 0xA7, 0, CPU_PadLock, 0, 0 +xend, tsx_0x0F_0x01_insn, 1, SUF_Z, 0xD5, 0, 0, 0, CPU_TSX, 0, 0 +xgetbv, threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xD0, 0, CPU_386, CPU_XSAVE, 0 +xlatb, onebyte_insn, 1, SUF_Z, 0xD7, 0x00, 0, 0, 0, 0, 0 +xor, arith_insn, 22, SUF_Z, 0x30, 0x06, 0, 0, 0, 0, 0 +xorb, arith_insn, 22, SUF_B, 0x30, 0x06, 0, 0, 0, 0, 0 +xorl, arith_insn, 22, SUF_L, 0x30, 0x06, 0, 0, CPU_386, 0, 0 +xorpd, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x57, 0, 0, CPU_SSE2, 0, 0 +xorps, xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x57, 0, 0, CPU_SSE, 0, 0 +xorq, arith_insn, 22, SUF_Q, 0x30, 0x06, 0, ONLY_64, 0, 0, 0 +xorw, arith_insn, 22, SUF_W, 0x30, 0x06, 0, 0, 0, 0, 0 +xrelease, NULL, X86_ACQREL>>8, 0xF3, 0, 0, 0, 0, 0, 0, 0 +xrstor, twobytemem_insn, 1, SUF_Z, 0x05, 0x0F, 0xAE, 0, CPU_386, CPU_XSAVE, 0 +xsave, twobytemem_insn, 1, SUF_Z, 0x04, 0x0F, 0xAE, 0, CPU_386, CPU_XSAVE, 0 +xsaveopt, twobytemem_insn, 1, SUF_Z, 0x06, 0x0F, 0xAE, 0, CPU_XSAVEOPT, 0, 0 +xsaveopt64, xsaveopt64_insn, 1, SUF_Z, 0x06, 0x0F, 0xAE, ONLY_64, CPU_XSAVEOPT, 0, 0 +xsetbv, threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xD1, 0, CPU_386, CPU_Priv, CPU_XSAVE +xsha1, padlock_insn, 1, SUF_Z, 0xC8, 0xF3, 0xA6, 0, CPU_PadLock, 0, 0 +xsha256, padlock_insn, 1, SUF_Z, 0xD0, 0xF3, 0xA6, 0, CPU_PadLock, 0, 0 +xstore, padlock_insn, 1, SUF_Z, 0xC0, 0x00, 0xA7, 0, CPU_PadLock, 0, 0 +xstorerng, padlock_insn, 1, SUF_Z, 0xC0, 0x00, 0xA7, 0, CPU_PadLock, 0, 0 +xtest, tsx_0x0F_0x01_insn, 1, SUF_Z, 0xD6, 0, 0, 0, CPU_TSX, 0, 0 diff --git a/x86insn_nasm.gperf b/x86insn_nasm.gperf new file mode 100644 index 00000000..fc5e1bbd --- /dev/null +++ b/x86insn_nasm.gperf @@ -0,0 +1,1465 @@ +/* Generated by gen_x86_insn.py rHEAD, do not edit */ +%ignore-case +%language=ANSI-C +%compare-strncmp +%readonly-tables +%enum +%struct-type +%define hash-function-name insnprefix_nasm_hash +%define lookup-function-name insnprefix_nasm_find +struct insnprefix_parse_data; +%% +sha1msg1, intel_SHA1MSG1_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SHA, 0, 0 +sha1msg2, intel_SHA1MSG2_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SHA, 0, 0 +sha1nexte, intel_SHA1NEXTE_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SHA, 0, 0 +sha1rnds4, intel_SHA1RNDS4_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SHA, 0, 0 +sha256msg1, intel_SHA256MSG1_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SHA, 0, 0 +sha256msg2, intel_SHA256MSG2_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SHA, 0, 0 +sha256rnds2, intel_SHA256RNDS2_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SHA, 0, 0 +a16, NULL, X86_ADDRSIZE>>8, 0x10, 0, 0, 0, 0, 0, 0, 0 +a32, NULL, X86_ADDRSIZE>>8, 0x20, 0, 0, 0, 0, 0, 0, 0 +a64, NULL, X86_ADDRSIZE>>8, 0x40, 0, 0, 0, ONLY_64, 0, 0, 0 +aaa, onebyte_insn, 1, SUF_Z, 0x37, 0, 0, NOT_64, 0, 0, 0 +aad, aadm_insn, 2, SUF_Z, 0x01, 0, 0, NOT_64, 0, 0, 0 +aam, aadm_insn, 2, SUF_Z, 0x00, 0, 0, NOT_64, 0, 0, 0 +aas, onebyte_insn, 1, SUF_Z, 0x3F, 0, 0, NOT_64, 0, 0, 0 +adc, arith_insn, 22, SUF_Z, 0x10, 0x02, 0, 0, 0, 0, 0 +adcx, vex_gpr_ndd_rm_0F38_insn, 2, SUF_Z, 0x66, 0xF6, 0, 0, CPU_ADX, 0, 0 +add, arith_insn, 22, SUF_Z, 0x00, 0x00, 0, 0, 0, 0, 0 +addpd, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x58, 0, 0, CPU_SSE2, 0, 0 +addps, xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x58, 0, 0, CPU_SSE, 0, 0 +addsd, xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x58, 0, 0, CPU_SSE2, 0, 0 +addss, xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x58, 0, 0, CPU_SSE, 0, 0 +addsubpd, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0xD0, 0, 0, CPU_SSE3, 0, 0 +addsubps, xmm_xmm128_insn, 2, SUF_Z, 0xF2, 0xD0, 0, 0, CPU_SSE3, 0, 0 +adox, vex_gpr_ndd_rm_0F38_insn, 2, SUF_Z, 0xF3, 0xF6, 0, 0, CPU_ADX, 0, 0 +aesdec, aes_insn, 2, SUF_Z, 0x38, 0xDE, 0, 0, CPU_AVX, 0, 0 +aesdeclast, aes_insn, 2, SUF_Z, 0x38, 0xDF, 0, 0, CPU_AVX, 0, 0 +aesenc, aes_insn, 2, SUF_Z, 0x38, 0xDC, 0, 0, CPU_AVX, 0, 0 +aesenclast, aes_insn, 2, SUF_Z, 0x38, 0xDD, 0, 0, CPU_AVX, 0, 0 +aesimc, aesimc_insn, 1, SUF_Z, 0x38, 0xDB, 0, 0, CPU_AES, 0, 0 +aeskeygenassist, aes_imm_insn, 1, SUF_Z, 0x3A, 0xDF, 0, 0, CPU_AES, 0, 0 +and, arith_insn, 22, SUF_Z, 0x20, 0x04, 0, 0, 0, 0, 0 +andn, vex_gpr_reg_nds_rm_0F_insn, 2, SUF_Z, 0x00, 0x38, 0xF2, ONLY_AVX, CPU_BMI1, 0, 0 +andnpd, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x55, 0, 0, CPU_SSE2, 0, 0 +andnps, xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x55, 0, 0, CPU_SSE, 0, 0 +andpd, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x54, 0, 0, CPU_SSE2, 0, 0 +andps, xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x54, 0, 0, CPU_SSE, 0, 0 +arpl, arpl_insn, 1, SUF_Z, 0, 0, 0, NOT_64, CPU_286, CPU_Prot, 0 +bextr, bextr_insn, 4, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_386, CPU_BMI1, 0 +blcfill, xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x01, 0x01, 0, 0, CPU_386, CPU_TBM, 0 +blci, xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x02, 0x06, 0, 0, CPU_386, CPU_TBM, 0 +blcic, xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x01, 0x05, 0, 0, CPU_386, CPU_TBM, 0 +blcmsk, xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x02, 0x01, 0, 0, CPU_386, CPU_TBM, 0 +blcs, xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x01, 0x03, 0, 0, CPU_386, CPU_TBM, 0 +blendpd, sse4imm_insn, 2, SUF_Z, 0x0D, 0, 0, 0, CPU_SSE41, 0, 0 +blendps, sse4imm_insn, 2, SUF_Z, 0x0C, 0, 0, 0, CPU_SSE41, 0, 0 +blendvpd, sse4xmm0_insn, 2, SUF_Z, 0x15, 0, 0, 0, CPU_SSE41, 0, 0 +blendvps, sse4xmm0_insn, 2, SUF_Z, 0x14, 0, 0, 0, CPU_SSE41, 0, 0 +blsfill, xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x01, 0x02, 0, 0, CPU_386, CPU_TBM, 0 +blsi, vex_gpr_ndd_rm_0F38_regext_insn, 2, SUF_Z, 0x00, 0xF3, 0x03, ONLY_AVX, CPU_BMI1, 0, 0 +blsic, xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x01, 0x06, 0, 0, CPU_386, CPU_TBM, 0 +blsmsk, vex_gpr_ndd_rm_0F38_regext_insn, 2, SUF_Z, 0x00, 0xF3, 0x02, ONLY_AVX, CPU_BMI1, 0, 0 +blsr, vex_gpr_ndd_rm_0F38_regext_insn, 2, SUF_Z, 0x00, 0xF3, 0x01, ONLY_AVX, CPU_BMI1, 0, 0 +bound, bound_insn, 2, SUF_Z, 0, 0, 0, NOT_64, CPU_186, 0, 0 +bsf, bsfr_insn, 3, SUF_Z, 0xBC, 0, 0, 0, CPU_386, 0, 0 +bsr, bsfr_insn, 3, SUF_Z, 0xBD, 0, 0, 0, CPU_386, 0, 0 +bswap, bswap_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_486, 0, 0 +bt, bittest_insn, 6, SUF_Z, 0xA3, 0x04, 0, 0, CPU_386, 0, 0 +btc, bittest_insn, 6, SUF_Z, 0xBB, 0x07, 0, 0, CPU_386, 0, 0 +btr, bittest_insn, 6, SUF_Z, 0xB3, 0x06, 0, 0, CPU_386, 0, 0 +bts, bittest_insn, 6, SUF_Z, 0xAB, 0x05, 0, 0, CPU_386, 0, 0 +bzhi, vex_gpr_reg_rm_nds_0F_insn, 2, SUF_Z, 0x00, 0x38, 0xF5, ONLY_AVX, CPU_BMI2, 0, 0 +call, call_insn, 30, SUF_Z, 0, 0, 0, 0, 0, 0, 0 +cbw, onebyte_insn, 1, SUF_Z, 0x98, 0x10, 0, 0, 0, 0, 0 +cdq, onebyte_insn, 1, SUF_Z, 0x99, 0x20, 0, 0, CPU_386, 0, 0 +cdqe, onebyte_insn, 1, SUF_Z, 0x98, 0x40, 0, ONLY_64, 0, 0, 0 +clac, threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xCA, 0, CPU_SMAP, 0, 0 +clc, onebyte_insn, 1, SUF_Z, 0xF8, 0, 0, 0, 0, 0, 0 +cld, onebyte_insn, 1, SUF_Z, 0xFC, 0, 0, 0, 0, 0, 0 +clflush, clflush_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_P3, 0, 0 +clgi, threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xDD, 0, CPU_SVM, 0, 0 +cli, onebyte_insn, 1, SUF_Z, 0xFA, 0, 0, 0, 0, 0, 0 +clts, twobyte_insn, 1, SUF_Z, 0x0F, 0x06, 0, 0, CPU_286, CPU_Priv, 0 +cmc, onebyte_insn, 1, SUF_Z, 0xF5, 0, 0, 0, 0, 0, 0 +cmova, cmovcc_insn, 3, SUF_Z, 0x07, 0, 0, 0, CPU_686, 0, 0 +cmovae, cmovcc_insn, 3, SUF_Z, 0x03, 0, 0, 0, CPU_686, 0, 0 +cmovb, cmovcc_insn, 3, SUF_Z, 0x02, 0, 0, 0, CPU_686, 0, 0 +cmovbe, cmovcc_insn, 3, SUF_Z, 0x06, 0, 0, 0, CPU_686, 0, 0 +cmovc, cmovcc_insn, 3, SUF_Z, 0x02, 0, 0, 0, CPU_686, 0, 0 +cmove, cmovcc_insn, 3, SUF_Z, 0x04, 0, 0, 0, CPU_686, 0, 0 +cmovg, cmovcc_insn, 3, SUF_Z, 0x0F, 0, 0, 0, CPU_686, 0, 0 +cmovge, cmovcc_insn, 3, SUF_Z, 0x0D, 0, 0, 0, CPU_686, 0, 0 +cmovl, cmovcc_insn, 3, SUF_Z, 0x0C, 0, 0, 0, CPU_686, 0, 0 +cmovle, cmovcc_insn, 3, SUF_Z, 0x0E, 0, 0, 0, CPU_686, 0, 0 +cmovna, cmovcc_insn, 3, SUF_Z, 0x06, 0, 0, 0, CPU_686, 0, 0 +cmovnae, cmovcc_insn, 3, SUF_Z, 0x02, 0, 0, 0, CPU_686, 0, 0 +cmovnb, cmovcc_insn, 3, SUF_Z, 0x03, 0, 0, 0, CPU_686, 0, 0 +cmovnbe, cmovcc_insn, 3, SUF_Z, 0x07, 0, 0, 0, CPU_686, 0, 0 +cmovnc, cmovcc_insn, 3, SUF_Z, 0x03, 0, 0, 0, CPU_686, 0, 0 +cmovne, cmovcc_insn, 3, SUF_Z, 0x05, 0, 0, 0, CPU_686, 0, 0 +cmovng, cmovcc_insn, 3, SUF_Z, 0x0E, 0, 0, 0, CPU_686, 0, 0 +cmovnge, cmovcc_insn, 3, SUF_Z, 0x0C, 0, 0, 0, CPU_686, 0, 0 +cmovnl, cmovcc_insn, 3, SUF_Z, 0x0D, 0, 0, 0, CPU_686, 0, 0 +cmovnle, cmovcc_insn, 3, SUF_Z, 0x0F, 0, 0, 0, CPU_686, 0, 0 +cmovno, cmovcc_insn, 3, SUF_Z, 0x01, 0, 0, 0, CPU_686, 0, 0 +cmovnp, cmovcc_insn, 3, SUF_Z, 0x0B, 0, 0, 0, CPU_686, 0, 0 +cmovns, cmovcc_insn, 3, SUF_Z, 0x09, 0, 0, 0, CPU_686, 0, 0 +cmovnz, cmovcc_insn, 3, SUF_Z, 0x05, 0, 0, 0, CPU_686, 0, 0 +cmovo, cmovcc_insn, 3, SUF_Z, 0x00, 0, 0, 0, CPU_686, 0, 0 +cmovp, cmovcc_insn, 3, SUF_Z, 0x0A, 0, 0, 0, CPU_686, 0, 0 +cmovpe, cmovcc_insn, 3, SUF_Z, 0x0A, 0, 0, 0, CPU_686, 0, 0 +cmovpo, cmovcc_insn, 3, SUF_Z, 0x0B, 0, 0, 0, CPU_686, 0, 0 +cmovs, cmovcc_insn, 3, SUF_Z, 0x08, 0, 0, 0, CPU_686, 0, 0 +cmovz, cmovcc_insn, 3, SUF_Z, 0x04, 0, 0, 0, CPU_686, 0, 0 +cmp, arith_insn, 22, SUF_Z, 0x38, 0x07, 0, 0, 0, 0, 0 +cmpeqpd, ssecmp_128_insn, 3, SUF_Z, 0x00, 0x66, 0, 0, CPU_SSE, 0, 0 +cmpeqps, ssecmp_128_insn, 3, SUF_Z, 0x00, 0, 0, 0, CPU_SSE, 0, 0 +cmpeqsd, ssecmp_64_insn, 4, SUF_Z, 0x00, 0xF2, 0, 0, CPU_SSE2, 0, 0 +cmpeqss, ssecmp_32_insn, 4, SUF_Z, 0x00, 0xF3, 0, 0, CPU_SSE, 0, 0 +cmplepd, ssecmp_128_insn, 3, SUF_Z, 0x02, 0x66, 0, 0, CPU_SSE, 0, 0 +cmpleps, ssecmp_128_insn, 3, SUF_Z, 0x02, 0, 0, 0, CPU_SSE, 0, 0 +cmplesd, ssecmp_64_insn, 4, SUF_Z, 0x02, 0xF2, 0, 0, CPU_SSE2, 0, 0 +cmpless, ssecmp_32_insn, 4, SUF_Z, 0x02, 0xF3, 0, 0, CPU_SSE, 0, 0 +cmpltpd, ssecmp_128_insn, 3, SUF_Z, 0x01, 0x66, 0, 0, CPU_SSE, 0, 0 +cmpltps, ssecmp_128_insn, 3, SUF_Z, 0x01, 0, 0, 0, CPU_SSE, 0, 0 +cmpltsd, ssecmp_64_insn, 4, SUF_Z, 0x01, 0xF2, 0, 0, CPU_SSE2, 0, 0 +cmpltss, ssecmp_32_insn, 4, SUF_Z, 0x01, 0xF3, 0, 0, CPU_SSE, 0, 0 +cmpneqpd, ssecmp_128_insn, 3, SUF_Z, 0x04, 0x66, 0, 0, CPU_SSE, 0, 0 +cmpneqps, ssecmp_128_insn, 3, SUF_Z, 0x04, 0, 0, 0, CPU_SSE, 0, 0 +cmpneqsd, ssecmp_64_insn, 4, SUF_Z, 0x04, 0xF2, 0, 0, CPU_SSE2, 0, 0 +cmpneqss, ssecmp_32_insn, 4, SUF_Z, 0x04, 0xF3, 0, 0, CPU_SSE, 0, 0 +cmpnlepd, ssecmp_128_insn, 3, SUF_Z, 0x06, 0x66, 0, 0, CPU_SSE, 0, 0 +cmpnleps, ssecmp_128_insn, 3, SUF_Z, 0x06, 0, 0, 0, CPU_SSE, 0, 0 +cmpnlesd, ssecmp_64_insn, 4, SUF_Z, 0x06, 0xF2, 0, 0, CPU_SSE2, 0, 0 +cmpnless, ssecmp_32_insn, 4, SUF_Z, 0x06, 0xF3, 0, 0, CPU_SSE, 0, 0 +cmpnltpd, ssecmp_128_insn, 3, SUF_Z, 0x05, 0x66, 0, 0, CPU_SSE, 0, 0 +cmpnltps, ssecmp_128_insn, 3, SUF_Z, 0x05, 0, 0, 0, CPU_SSE, 0, 0 +cmpnltsd, ssecmp_64_insn, 4, SUF_Z, 0x05, 0xF2, 0, 0, CPU_SSE2, 0, 0 +cmpnltss, ssecmp_32_insn, 4, SUF_Z, 0x05, 0xF3, 0, 0, CPU_SSE, 0, 0 +cmpordpd, ssecmp_128_insn, 3, SUF_Z, 0x07, 0x66, 0, 0, CPU_SSE, 0, 0 +cmpordps, ssecmp_128_insn, 3, SUF_Z, 0x07, 0, 0, 0, CPU_SSE, 0, 0 +cmpordsd, ssecmp_64_insn, 4, SUF_Z, 0x07, 0xF2, 0, 0, CPU_SSE2, 0, 0 +cmpordss, ssecmp_32_insn, 4, SUF_Z, 0x07, 0xF3, 0, 0, CPU_SSE, 0, 0 +cmppd, xmm_xmm128_imm_insn, 1, SUF_Z, 0x66, 0xC2, 0, 0, CPU_SSE2, 0, 0 +cmpps, xmm_xmm128_imm_insn, 1, SUF_Z, 0x00, 0xC2, 0, 0, CPU_SSE, 0, 0 +cmpsb, onebyte_insn, 1, SUF_Z, 0xA6, 0x00, 0, 0, 0, 0, 0 +cmpsd, cmpsd_insn, 5, SUF_Z, 0, 0, 0, 0, 0, 0, 0 +cmpsq, onebyte_insn, 1, SUF_Z, 0xA7, 0x40, 0, ONLY_64, 0, 0, 0 +cmpss, xmm_xmm32_imm_insn, 4, SUF_Z, 0xF3, 0xC2, 0, 0, CPU_SSE, 0, 0 +cmpsw, onebyte_insn, 1, SUF_Z, 0xA7, 0x10, 0, 0, 0, 0, 0 +cmpunordpd, ssecmp_128_insn, 3, SUF_Z, 0x03, 0x66, 0, 0, CPU_SSE, 0, 0 +cmpunordps, ssecmp_128_insn, 3, SUF_Z, 0x03, 0, 0, 0, CPU_SSE, 0, 0 +cmpunordsd, ssecmp_64_insn, 4, SUF_Z, 0x03, 0xF2, 0, 0, CPU_SSE2, 0, 0 +cmpunordss, ssecmp_32_insn, 4, SUF_Z, 0x03, 0xF3, 0, 0, CPU_SSE, 0, 0 +cmpxchg, cmpxchgxadd_insn, 4, SUF_Z, 0xB0, 0, 0, 0, CPU_486, 0, 0 +cmpxchg16b, cmpxchg16b_insn, 1, SUF_Z, 0, 0, 0, ONLY_64, 0, 0, 0 +cmpxchg486, cmpxchgxadd_insn, 4, SUF_Z, 0xA6, 0, 0, 0, CPU_486, CPU_Undoc, 0 +cmpxchg8b, cmpxchg8b_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_586, 0, 0 +comisd, xmm_xmm64_insn, 4, SUF_Z, 0x66, 0x2F, 0, 0, CPU_SSE2, 0, 0 +comiss, xmm_xmm32_insn, 4, SUF_Z, 0x00, 0x2F, 0, 0, CPU_SSE, 0, 0 +cpuid, twobyte_insn, 1, SUF_Z, 0x0F, 0xA2, 0, 0, CPU_486, 0, 0 +cqo, onebyte_insn, 1, SUF_Z, 0x99, 0x40, 0, ONLY_64, 0, 0, 0 +crc32, crc32_insn, 5, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_SSE42, 0 +cvtdq2pd, xmm_xmm64_insn, 4, SUF_Z, 0xF3, 0xE6, 0, 0, CPU_SSE2, 0, 0 +cvtdq2ps, xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x5B, 0, 0, CPU_SSE2, 0, 0 +cvtpd2dq, xmm_xmm128_insn, 2, SUF_Z, 0xF2, 0xE6, 0, 0, CPU_SSE2, 0, 0 +cvtpd2pi, cvt_mm_xmm_insn, 1, SUF_Z, 0x66, 0x2D, 0, 0, CPU_SSE2, 0, 0 +cvtpd2ps, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x5A, 0, 0, CPU_SSE2, 0, 0 +cvtpi2pd, cvt_xmm_mm_ss_insn, 1, SUF_Z, 0x66, 0x2A, 0, 0, CPU_SSE2, 0, 0 +cvtpi2ps, cvt_xmm_mm_ps_insn, 1, SUF_Z, 0x2A, 0, 0, 0, CPU_SSE, 0, 0 +cvtps2dq, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x5B, 0, 0, CPU_SSE2, 0, 0 +cvtps2pd, xmm_xmm64_insn, 4, SUF_Z, 0x00, 0x5A, 0, 0, CPU_SSE2, 0, 0 +cvtps2pi, cvt_mm_xmm64_insn, 2, SUF_Z, 0x2D, 0, 0, 0, CPU_SSE, 0, 0 +cvtsd2si, cvt_rx_xmm64_insn, 4, SUF_Z, 0xF2, 0x2D, 0, 0, CPU_386, CPU_SSE2, 0 +cvtsd2ss, xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5A, 0, 0, CPU_SSE2, 0, 0 +cvtsi2sd, cvt_xmm_rmx_insn, 6, SUF_Z, 0xF2, 0x2A, 0, 0, CPU_SSE2, 0, 0 +cvtsi2ss, cvt_xmm_rmx_insn, 6, SUF_Z, 0xF3, 0x2A, 0, 0, CPU_386, CPU_SSE, 0 +cvtss2sd, xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5A, 0, 0, CPU_SSE2, 0, 0 +cvtss2si, cvt_rx_xmm32_insn, 4, SUF_Z, 0xF3, 0x2D, 0, 0, CPU_386, CPU_SSE, 0 +cvttpd2dq, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0xE6, 0, 0, CPU_SSE2, 0, 0 +cvttpd2pi, cvt_mm_xmm_insn, 1, SUF_Z, 0x66, 0x2C, 0, 0, CPU_SSE2, 0, 0 +cvttps2dq, xmm_xmm128_insn, 2, SUF_Z, 0xF3, 0x5B, 0, 0, CPU_SSE2, 0, 0 +cvttps2pi, cvt_mm_xmm64_insn, 2, SUF_Z, 0x2C, 0, 0, 0, CPU_SSE, 0, 0 +cvttsd2si, cvt_rx_xmm64_insn, 4, SUF_Z, 0xF2, 0x2C, 0, 0, CPU_SSE2, 0, 0 +cvttss2si, cvt_rx_xmm32_insn, 4, SUF_Z, 0xF3, 0x2C, 0, 0, CPU_386, CPU_SSE, 0 +cwd, onebyte_insn, 1, SUF_Z, 0x99, 0x10, 0, 0, 0, 0, 0 +cwde, onebyte_insn, 1, SUF_Z, 0x98, 0x20, 0, 0, CPU_386, 0, 0 +daa, onebyte_insn, 1, SUF_Z, 0x27, 0, 0, NOT_64, 0, 0, 0 +das, onebyte_insn, 1, SUF_Z, 0x2F, 0, 0, NOT_64, 0, 0, 0 +dec, incdec_insn, 6, SUF_Z, 0x48, 0x01, 0, 0, 0, 0, 0 +div, div_insn, 8, SUF_Z, 0x06, 0, 0, 0, 0, 0, 0 +divpd, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x5E, 0, 0, CPU_SSE2, 0, 0 +divps, xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x5E, 0, 0, CPU_SSE, 0, 0 +divsd, xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5E, 0, 0, CPU_SSE2, 0, 0 +divss, xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5E, 0, 0, CPU_SSE, 0, 0 +dppd, sse4imm_insn, 2, SUF_Z, 0x41, 0, 0, 0, CPU_SSE41, 0, 0 +dpps, sse4imm_insn, 2, SUF_Z, 0x40, 0, 0, 0, CPU_SSE41, 0, 0 +emms, twobyte_insn, 1, SUF_Z, 0x0F, 0x77, 0, 0, CPU_MMX, 0, 0 +enter, enter_insn, 3, SUF_Z, 0, 0, 0, 0, CPU_186, 0, 0 +extractps, extractps_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_SSE41, 0 +extrq, extrq_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_SSE4a, 0, 0 +f2xm1, twobyte_insn, 1, SUF_Z, 0xD9, 0xF0, 0, 0, CPU_FPU, 0, 0 +fabs, twobyte_insn, 1, SUF_Z, 0xD9, 0xE1, 0, 0, CPU_FPU, 0, 0 +fadd, farith_insn, 7, SUF_Z, 0xC0, 0xC0, 0x00, 0, CPU_FPU, 0, 0 +faddp, farithp_insn, 3, SUF_Z, 0xC0, 0, 0, 0, CPU_FPU, 0, 0 +fbld, fbldstp_insn, 1, SUF_Z, 0x04, 0, 0, 0, CPU_FPU, 0, 0 +fbstp, fbldstp_insn, 1, SUF_Z, 0x06, 0, 0, 0, CPU_FPU, 0, 0 +fchs, twobyte_insn, 1, SUF_Z, 0xD9, 0xE0, 0, 0, CPU_FPU, 0, 0 +fclex, threebyte_insn, 1, SUF_Z, 0x9B, 0xDB, 0xE2, 0, CPU_FPU, 0, 0 +fcmovb, fcmovcc_insn, 1, SUF_Z, 0xDA, 0xC0, 0, 0, CPU_686, CPU_FPU, 0 +fcmovbe, fcmovcc_insn, 1, SUF_Z, 0xDA, 0xD0, 0, 0, CPU_686, CPU_FPU, 0 +fcmove, fcmovcc_insn, 1, SUF_Z, 0xDA, 0xC8, 0, 0, CPU_686, CPU_FPU, 0 +fcmovnb, fcmovcc_insn, 1, SUF_Z, 0xDB, 0xC0, 0, 0, CPU_686, CPU_FPU, 0 +fcmovnbe, fcmovcc_insn, 1, SUF_Z, 0xDB, 0xD0, 0, 0, CPU_686, CPU_FPU, 0 +fcmovne, fcmovcc_insn, 1, SUF_Z, 0xDB, 0xC8, 0, 0, CPU_686, CPU_FPU, 0 +fcmovnu, fcmovcc_insn, 1, SUF_Z, 0xDB, 0xD8, 0, 0, CPU_686, CPU_FPU, 0 +fcmovu, fcmovcc_insn, 1, SUF_Z, 0xDA, 0xD8, 0, 0, CPU_686, CPU_FPU, 0 +fcom, fcom_insn, 6, SUF_Z, 0xD0, 0x02, 0, 0, CPU_FPU, 0, 0 +fcomi, fcom2_insn, 2, SUF_Z, 0xDB, 0xF0, 0, 0, CPU_686, CPU_FPU, 0 +fcomip, fcom2_insn, 2, SUF_Z, 0xDF, 0xF0, 0, 0, CPU_686, CPU_FPU, 0 +fcomp, fcom_insn, 6, SUF_Z, 0xD8, 0x03, 0, 0, CPU_FPU, 0, 0 +fcompp, twobyte_insn, 1, SUF_Z, 0xDE, 0xD9, 0, 0, CPU_FPU, 0, 0 +fcos, twobyte_insn, 1, SUF_Z, 0xD9, 0xFF, 0, 0, CPU_286, CPU_FPU, 0 +fdecstp, twobyte_insn, 1, SUF_Z, 0xD9, 0xF6, 0, 0, CPU_FPU, 0, 0 +fdiv, farith_insn, 7, SUF_Z, 0xF8, 0xF0, 0x06, 0, CPU_FPU, 0, 0 +fdivp, farithp_insn, 3, SUF_Z, 0xF8, 0, 0, 0, CPU_FPU, 0, 0 +fdivr, farith_insn, 7, SUF_Z, 0xF0, 0xF8, 0x07, 0, CPU_FPU, 0, 0 +fdivrp, farithp_insn, 3, SUF_Z, 0xF0, 0, 0, 0, CPU_FPU, 0, 0 +femms, twobyte_insn, 1, SUF_Z, 0x0F, 0x0E, 0, 0, CPU_3DNow, 0, 0 +ffree, ffree_insn, 1, SUF_Z, 0xDD, 0, 0, 0, CPU_FPU, 0, 0 +ffreep, ffree_insn, 1, SUF_Z, 0xDF, 0, 0, 0, CPU_686, CPU_FPU, CPU_Undoc +fiadd, fiarith_insn, 2, SUF_Z, 0x00, 0xDA, 0, 0, CPU_FPU, 0, 0 +ficom, fiarith_insn, 2, SUF_Z, 0x02, 0xDA, 0, 0, CPU_FPU, 0, 0 +ficomp, fiarith_insn, 2, SUF_Z, 0x03, 0xDA, 0, 0, CPU_FPU, 0, 0 +fidiv, fiarith_insn, 2, SUF_Z, 0x06, 0xDA, 0, 0, CPU_FPU, 0, 0 +fidivr, fiarith_insn, 2, SUF_Z, 0x07, 0xDA, 0, 0, CPU_FPU, 0, 0 +fild, fildstp_insn, 4, SUF_Z, 0x00, 0x02, 0x05, 0, CPU_FPU, 0, 0 +fimul, fiarith_insn, 2, SUF_Z, 0x01, 0xDA, 0, 0, CPU_FPU, 0, 0 +fincstp, twobyte_insn, 1, SUF_Z, 0xD9, 0xF7, 0, 0, CPU_FPU, 0, 0 +finit, threebyte_insn, 1, SUF_Z, 0x9B, 0xDB, 0xE3, 0, CPU_FPU, 0, 0 +fist, fiarith_insn, 2, SUF_Z, 0x02, 0xDB, 0, 0, CPU_FPU, 0, 0 +fistp, fildstp_insn, 4, SUF_Z, 0x03, 0x02, 0x07, 0, CPU_FPU, 0, 0 +fisttp, fildstp_insn, 4, SUF_Z, 0x01, 0x00, 0x01, 0, CPU_SSE3, 0, 0 +fisub, fiarith_insn, 2, SUF_Z, 0x04, 0xDA, 0, 0, CPU_FPU, 0, 0 +fisubr, fiarith_insn, 2, SUF_Z, 0x05, 0xDA, 0, 0, CPU_FPU, 0, 0 +fld, fld_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_FPU, 0, 0 +fld1, twobyte_insn, 1, SUF_Z, 0xD9, 0xE8, 0, 0, CPU_FPU, 0, 0 +fldcw, fldnstcw_insn, 1, SUF_Z, 0x05, 0, 0, 0, CPU_FPU, 0, 0 +fldenv, onebytemem_insn, 1, SUF_Z, 0x04, 0xD9, 0, 0, CPU_FPU, 0, 0 +fldl2e, twobyte_insn, 1, SUF_Z, 0xD9, 0xEA, 0, 0, CPU_FPU, 0, 0 +fldl2t, twobyte_insn, 1, SUF_Z, 0xD9, 0xE9, 0, 0, CPU_FPU, 0, 0 +fldlg2, twobyte_insn, 1, SUF_Z, 0xD9, 0xEC, 0, 0, CPU_FPU, 0, 0 +fldln2, twobyte_insn, 1, SUF_Z, 0xD9, 0xED, 0, 0, CPU_FPU, 0, 0 +fldpi, twobyte_insn, 1, SUF_Z, 0xD9, 0xEB, 0, 0, CPU_FPU, 0, 0 +fldt, fldstpt_insn, 1, SUF_Z, 0x05, 0, 0, 0, CPU_FPU, 0, 0 +fldz, twobyte_insn, 1, SUF_Z, 0xD9, 0xEE, 0, 0, CPU_FPU, 0, 0 +fmul, farith_insn, 7, SUF_Z, 0xC8, 0xC8, 0x01, 0, CPU_FPU, 0, 0 +fmulp, farithp_insn, 3, SUF_Z, 0xC8, 0, 0, 0, CPU_FPU, 0, 0 +fnclex, twobyte_insn, 1, SUF_Z, 0xDB, 0xE2, 0, 0, CPU_FPU, 0, 0 +fninit, twobyte_insn, 1, SUF_Z, 0xDB, 0xE3, 0, 0, CPU_FPU, 0, 0 +fnop, twobyte_insn, 1, SUF_Z, 0xD9, 0xD0, 0, 0, CPU_FPU, 0, 0 +fnsave, onebytemem_insn, 1, SUF_Z, 0x06, 0xDD, 0, 0, CPU_FPU, 0, 0 +fnstcw, fldnstcw_insn, 1, SUF_Z, 0x07, 0, 0, 0, CPU_FPU, 0, 0 +fnstenv, onebytemem_insn, 1, SUF_Z, 0x06, 0xD9, 0, 0, CPU_FPU, 0, 0 +fnstsw, fnstsw_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_FPU, 0, 0 +fpatan, twobyte_insn, 1, SUF_Z, 0xD9, 0xF3, 0, 0, CPU_FPU, 0, 0 +fprem, twobyte_insn, 1, SUF_Z, 0xD9, 0xF8, 0, 0, CPU_FPU, 0, 0 +fprem1, twobyte_insn, 1, SUF_Z, 0xD9, 0xF5, 0, 0, CPU_286, CPU_FPU, 0 +fptan, twobyte_insn, 1, SUF_Z, 0xD9, 0xF2, 0, 0, CPU_FPU, 0, 0 +frndint, twobyte_insn, 1, SUF_Z, 0xD9, 0xFC, 0, 0, CPU_FPU, 0, 0 +frstor, onebytemem_insn, 1, SUF_Z, 0x04, 0xDD, 0, 0, CPU_FPU, 0, 0 +fsave, twobytemem_insn, 1, SUF_Z, 0x06, 0x9B, 0xDD, 0, CPU_FPU, 0, 0 +fscale, twobyte_insn, 1, SUF_Z, 0xD9, 0xFD, 0, 0, CPU_FPU, 0, 0 +fsetpm, twobyte_insn, 1, SUF_Z, 0xDB, 0xE4, 0, 0, CPU_286, CPU_FPU, CPU_Obs +fsin, twobyte_insn, 1, SUF_Z, 0xD9, 0xFE, 0, 0, CPU_286, CPU_FPU, 0 +fsincos, twobyte_insn, 1, SUF_Z, 0xD9, 0xFB, 0, 0, CPU_286, CPU_FPU, 0 +fsqrt, twobyte_insn, 1, SUF_Z, 0xD9, 0xFA, 0, 0, CPU_FPU, 0, 0 +fst, fst_insn, 3, SUF_Z, 0, 0, 0, 0, CPU_FPU, 0, 0 +fstcw, fstcw_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_FPU, 0, 0 +fstenv, twobytemem_insn, 1, SUF_Z, 0x06, 0x9B, 0xD9, 0, CPU_FPU, 0, 0 +fstp, fstp_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_FPU, 0, 0 +fstpt, fldstpt_insn, 1, SUF_Z, 0x07, 0, 0, 0, CPU_FPU, 0, 0 +fstsw, fstsw_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_FPU, 0, 0 +fsub, farith_insn, 7, SUF_Z, 0xE8, 0xE0, 0x04, 0, CPU_FPU, 0, 0 +fsubp, farithp_insn, 3, SUF_Z, 0xE8, 0, 0, 0, CPU_FPU, 0, 0 +fsubr, farith_insn, 7, SUF_Z, 0xE0, 0xE8, 0x05, 0, CPU_FPU, 0, 0 +fsubrp, farithp_insn, 3, SUF_Z, 0xE0, 0, 0, 0, CPU_FPU, 0, 0 +ftst, twobyte_insn, 1, SUF_Z, 0xD9, 0xE4, 0, 0, CPU_FPU, 0, 0 +fucom, fcom2_insn, 2, SUF_Z, 0xDD, 0xE0, 0, 0, CPU_286, CPU_FPU, 0 +fucomi, fcom2_insn, 2, SUF_Z, 0xDB, 0xE8, 0, 0, CPU_686, CPU_FPU, 0 +fucomip, fcom2_insn, 2, SUF_Z, 0xDF, 0xE8, 0, 0, CPU_686, CPU_FPU, 0 +fucomp, fcom2_insn, 2, SUF_Z, 0xDD, 0xE8, 0, 0, CPU_286, CPU_FPU, 0 +fucompp, twobyte_insn, 1, SUF_Z, 0xDA, 0xE9, 0, 0, CPU_286, CPU_FPU, 0 +fwait, onebyte_insn, 1, SUF_Z, 0x9B, 0, 0, 0, CPU_FPU, 0, 0 +fxam, twobyte_insn, 1, SUF_Z, 0xD9, 0xE5, 0, 0, CPU_FPU, 0, 0 +fxch, fxch_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_FPU, 0, 0 +fxrstor, twobytemem_insn, 1, SUF_Z, 0x01, 0x0F, 0xAE, 0, CPU_686, CPU_FPU, 0 +fxsave, twobytemem_insn, 1, SUF_Z, 0x00, 0x0F, 0xAE, 0, CPU_686, CPU_FPU, 0 +fxtract, twobyte_insn, 1, SUF_Z, 0xD9, 0xF4, 0, 0, CPU_FPU, 0, 0 +fyl2x, twobyte_insn, 1, SUF_Z, 0xD9, 0xF1, 0, 0, CPU_FPU, 0, 0 +fyl2xp1, twobyte_insn, 1, SUF_Z, 0xD9, 0xF9, 0, 0, CPU_FPU, 0, 0 +getsec, twobyte_insn, 1, SUF_Z, 0x0F, 0x37, 0, 0, CPU_SMX, 0, 0 +haddpd, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x7C, 0, 0, CPU_SSE3, 0, 0 +haddps, xmm_xmm128_insn, 2, SUF_Z, 0xF2, 0x7C, 0, 0, CPU_SSE3, 0, 0 +hlt, onebyte_insn, 1, SUF_Z, 0xF4, 0, 0, 0, CPU_Priv, 0, 0 +hsubpd, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x7D, 0, 0, CPU_SSE3, 0, 0 +hsubps, xmm_xmm128_insn, 2, SUF_Z, 0xF2, 0x7D, 0, 0, CPU_SSE3, 0, 0 +ibts, ibts_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_Obs, CPU_Undoc +idiv, div_insn, 8, SUF_Z, 0x07, 0, 0, 0, 0, 0, 0 +imul, imul_insn, 19, SUF_Z, 0, 0, 0, 0, 0, 0, 0 +in, in_insn, 12, SUF_Z, 0, 0, 0, 0, 0, 0, 0 +inc, incdec_insn, 6, SUF_Z, 0x40, 0x00, 0, 0, 0, 0, 0 +insb, onebyte_insn, 1, SUF_Z, 0x6C, 0x00, 0, 0, 0, 0, 0 +insd, onebyte_insn, 1, SUF_Z, 0x6D, 0x20, 0, 0, CPU_386, 0, 0 +insertps, insertps_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_SSE41, 0, 0 +insertq, insertq_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_SSE4a, 0, 0 +insw, onebyte_insn, 1, SUF_Z, 0x6D, 0x10, 0, 0, 0, 0, 0 +int, int_insn, 1, SUF_Z, 0, 0, 0, 0, 0, 0, 0 +int03, onebyte_insn, 1, SUF_Z, 0xCC, 0, 0, 0, 0, 0, 0 +int3, onebyte_insn, 1, SUF_Z, 0xCC, 0, 0, 0, 0, 0, 0 +into, onebyte_insn, 1, SUF_Z, 0xCE, 0, 0, NOT_64, 0, 0, 0 +invd, twobyte_insn, 1, SUF_Z, 0x0F, 0x08, 0, 0, CPU_486, CPU_Priv, 0 +invept, eptvpid_insn, 2, SUF_Z, 0x00, 0, 0, 0, CPU_386, CPU_EPTVPID, 0 +invlpg, twobytemem_insn, 1, SUF_Z, 0x07, 0x0F, 0x01, 0, CPU_486, CPU_Priv, 0 +invlpga, invlpga_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_SVM, 0, 0 +invpcid, invpcid_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_INVPCID, CPU_Priv +invvpid, eptvpid_insn, 2, SUF_Z, 0x01, 0, 0, 0, CPU_386, CPU_EPTVPID, 0 +iret, onebyte_insn, 1, SUF_Z, 0xCF, 0, 0, 0, 0, 0, 0 +iretd, onebyte_insn, 1, SUF_Z, 0xCF, 0x20, 0, 0, CPU_386, 0, 0 +iretq, onebyte_insn, 1, SUF_Z, 0xCF, 0x40, 0, ONLY_64, 0, 0, 0 +iretw, onebyte_insn, 1, SUF_Z, 0xCF, 0x10, 0, 0, 0, 0, 0 +ja, jcc_insn, 9, SUF_Z, 0x07, 0, 0, 0, 0, 0, 0 +jae, jcc_insn, 9, SUF_Z, 0x03, 0, 0, 0, 0, 0, 0 +jb, jcc_insn, 9, SUF_Z, 0x02, 0, 0, 0, 0, 0, 0 +jbe, jcc_insn, 9, SUF_Z, 0x06, 0, 0, 0, 0, 0, 0 +jc, jcc_insn, 9, SUF_Z, 0x02, 0, 0, 0, 0, 0, 0 +jcxz, jcxz_insn, 2, SUF_Z, 0x10, 0, 0, 0, 0, 0, 0 +je, jcc_insn, 9, SUF_Z, 0x04, 0, 0, 0, 0, 0, 0 +jecxz, jcxz_insn, 2, SUF_Z, 0x20, 0, 0, 0, CPU_386, 0, 0 +jg, jcc_insn, 9, SUF_Z, 0x0F, 0, 0, 0, 0, 0, 0 +jge, jcc_insn, 9, SUF_Z, 0x0D, 0, 0, 0, 0, 0, 0 +jl, jcc_insn, 9, SUF_Z, 0x0C, 0, 0, 0, 0, 0, 0 +jle, jcc_insn, 9, SUF_Z, 0x0E, 0, 0, 0, 0, 0, 0 +jmp, jmp_insn, 31, SUF_Z, 0, 0, 0, 0, 0, 0, 0 +jna, jcc_insn, 9, SUF_Z, 0x06, 0, 0, 0, 0, 0, 0 +jnae, jcc_insn, 9, SUF_Z, 0x02, 0, 0, 0, 0, 0, 0 +jnb, jcc_insn, 9, SUF_Z, 0x03, 0, 0, 0, 0, 0, 0 +jnbe, jcc_insn, 9, SUF_Z, 0x07, 0, 0, 0, 0, 0, 0 +jnc, jcc_insn, 9, SUF_Z, 0x03, 0, 0, 0, 0, 0, 0 +jne, jcc_insn, 9, SUF_Z, 0x05, 0, 0, 0, 0, 0, 0 +jng, jcc_insn, 9, SUF_Z, 0x0E, 0, 0, 0, 0, 0, 0 +jnge, jcc_insn, 9, SUF_Z, 0x0C, 0, 0, 0, 0, 0, 0 +jnl, jcc_insn, 9, SUF_Z, 0x0D, 0, 0, 0, 0, 0, 0 +jnle, jcc_insn, 9, SUF_Z, 0x0F, 0, 0, 0, 0, 0, 0 +jno, jcc_insn, 9, SUF_Z, 0x01, 0, 0, 0, 0, 0, 0 +jnp, jcc_insn, 9, SUF_Z, 0x0B, 0, 0, 0, 0, 0, 0 +jns, jcc_insn, 9, SUF_Z, 0x09, 0, 0, 0, 0, 0, 0 +jnz, jcc_insn, 9, SUF_Z, 0x05, 0, 0, 0, 0, 0, 0 +jo, jcc_insn, 9, SUF_Z, 0x00, 0, 0, 0, 0, 0, 0 +jp, jcc_insn, 9, SUF_Z, 0x0A, 0, 0, 0, 0, 0, 0 +jpe, jcc_insn, 9, SUF_Z, 0x0A, 0, 0, 0, 0, 0, 0 +jpo, jcc_insn, 9, SUF_Z, 0x0B, 0, 0, 0, 0, 0, 0 +jrcxz, jcxz_insn, 2, SUF_Z, 0x40, 0, 0, ONLY_64, 0, 0, 0 +js, jcc_insn, 9, SUF_Z, 0x08, 0, 0, 0, 0, 0, 0 +jz, jcc_insn, 9, SUF_Z, 0x04, 0, 0, 0, 0, 0, 0 +lahf, onebyte_insn, 1, SUF_Z, 0x9F, 0, 0, 0, 0, 0, 0 +lar, larlsl_insn, 6, SUF_Z, 0x02, 0, 0, 0, CPU_286, CPU_Prot, 0 +lddqu, lddqu_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_SSE3, 0, 0 +ldmxcsr, ldstmxcsr_insn, 1, SUF_Z, 0x02, 0, 0, 0, CPU_SSE, 0, 0 +lds, ldes_insn, 2, SUF_Z, 0xC5, 0, 0, NOT_64, 0, 0, 0 +lea, lea_insn, 3, SUF_Z, 0, 0, 0, 0, 0, 0, 0 +leave, onebyte_insn, 1, SUF_Z, 0xC9, 0x00, 0x40, 0, CPU_186, 0, 0 +les, ldes_insn, 2, SUF_Z, 0xC4, 0, 0, NOT_64, 0, 0, 0 +lfence, threebyte_insn, 1, SUF_Z, 0x0F, 0xAE, 0xE8, 0, CPU_P3, 0, 0 +lfs, lfgss_insn, 3, SUF_Z, 0xB4, 0, 0, 0, CPU_386, 0, 0 +lgdt, twobytemem_insn, 1, SUF_Z, 0x02, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0 +lgs, lfgss_insn, 3, SUF_Z, 0xB5, 0, 0, 0, CPU_386, 0, 0 +lidt, twobytemem_insn, 1, SUF_Z, 0x03, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0 +lldt, prot286_insn, 1, SUF_Z, 0x02, 0x00, 0, 0, CPU_286, CPU_Priv, CPU_Prot +lmsw, prot286_insn, 1, SUF_Z, 0x06, 0x01, 0, 0, CPU_286, CPU_Priv, 0 +loadall, twobyte_insn, 1, SUF_Z, 0x0F, 0x07, 0, 0, CPU_386, CPU_Undoc, 0 +loadall286, twobyte_insn, 1, SUF_Z, 0x0F, 0x05, 0, 0, CPU_286, CPU_Undoc, 0 +lock, NULL, X86_LOCKREP>>8, 0xF0, 0, 0, 0, 0, 0, 0, 0 +lodsb, onebyte_insn, 1, SUF_Z, 0xAC, 0x00, 0, 0, 0, 0, 0 +lodsd, onebyte_insn, 1, SUF_Z, 0xAD, 0x20, 0, 0, CPU_386, 0, 0 +lodsq, onebyte_insn, 1, SUF_Z, 0xAD, 0x40, 0, ONLY_64, 0, 0, 0 +lodsw, onebyte_insn, 1, SUF_Z, 0xAD, 0x10, 0, 0, 0, 0, 0 +loop, loop_insn, 8, SUF_Z, 0x02, 0, 0, 0, 0, 0, 0 +loope, loop_insn, 8, SUF_Z, 0x01, 0, 0, 0, 0, 0, 0 +loopne, loop_insn, 8, SUF_Z, 0x00, 0, 0, 0, 0, 0, 0 +loopnz, loop_insn, 8, SUF_Z, 0x00, 0, 0, 0, 0, 0, 0 +loopz, loop_insn, 8, SUF_Z, 0x01, 0, 0, 0, 0, 0, 0 +lsl, larlsl_insn, 6, SUF_Z, 0x03, 0, 0, 0, CPU_286, CPU_Prot, 0 +lss, lfgss_insn, 3, SUF_Z, 0xB2, 0, 0, 0, CPU_386, 0, 0 +ltr, prot286_insn, 1, SUF_Z, 0x03, 0x00, 0, 0, CPU_286, CPU_Priv, CPU_Prot +lzcnt, cnt_insn, 3, SUF_Z, 0xBD, 0, 0, 0, CPU_LZCNT, 0, 0 +maskmovdqu, maskmovdqu_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SSE2, 0, 0 +maskmovq, maskmovq_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_MMX, CPU_P3, 0 +maxpd, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x5F, 0, 0, CPU_SSE2, 0, 0 +maxps, xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x5F, 0, 0, CPU_SSE, 0, 0 +maxsd, xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5F, 0, 0, CPU_SSE2, 0, 0 +maxss, xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5F, 0, 0, CPU_SSE, 0, 0 +mfence, threebyte_insn, 1, SUF_Z, 0x0F, 0xAE, 0xF0, 0, CPU_P3, 0, 0 +minpd, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x5D, 0, 0, CPU_SSE2, 0, 0 +minps, xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x5D, 0, 0, CPU_SSE, 0, 0 +minsd, xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5D, 0, 0, CPU_SSE2, 0, 0 +minss, xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5D, 0, 0, CPU_SSE, 0, 0 +monitor, threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xC8, 0, CPU_SSE3, 0, 0 +montmul, padlock_insn, 1, SUF_Z, 0xC0, 0xF3, 0xA6, 0, CPU_PadLock, 0, 0 +mov, mov_insn, 69, SUF_Z, 0, 0, 0, 0, 0, 0, 0 +movapd, movau_insn, 6, SUF_Z, 0x66, 0x28, 0x01, 0, CPU_SSE2, 0, 0 +movaps, movau_insn, 6, SUF_Z, 0x00, 0x28, 0x01, 0, CPU_SSE, 0, 0 +movbe, movbe_insn, 6, SUF_Z, 0, 0, 0, 0, CPU_MOVBE, 0, 0 +movd, movd_insn, 8, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_MMX, 0 +movddup, xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x12, 0, 0, CPU_SSE3, 0, 0 +movdq2q, movdq2q_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SSE2, 0, 0 +movdqa, movau_insn, 6, SUF_Z, 0x66, 0x6F, 0x10, 0, CPU_SSE2, 0, 0 +movdqu, movau_insn, 6, SUF_Z, 0xF3, 0x6F, 0x10, 0, CPU_SSE2, 0, 0 +movhlps, movhllhps_insn, 2, SUF_Z, 0x12, 0, 0, 0, CPU_SSE, 0, 0 +movhpd, movhlp_insn, 3, SUF_Z, 0x66, 0x16, 0, 0, CPU_SSE2, 0, 0 +movhps, movhlp_insn, 3, SUF_Z, 0x00, 0x16, 0, 0, CPU_SSE, 0, 0 +movlhps, movhllhps_insn, 2, SUF_Z, 0x16, 0, 0, 0, CPU_SSE, 0, 0 +movlpd, movhlp_insn, 3, SUF_Z, 0x66, 0x12, 0, 0, CPU_SSE2, 0, 0 +movlps, movhlp_insn, 3, SUF_Z, 0x00, 0x12, 0, 0, CPU_SSE, 0, 0 +movmskpd, movmsk_insn, 4, SUF_Z, 0x66, 0, 0, 0, CPU_SSE2, 0, 0 +movmskps, movmsk_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_SSE, 0 +movntdq, movnt_insn, 2, SUF_Z, 0x66, 0xE7, 0, 0, CPU_SSE2, 0, 0 +movntdqa, movntdqa_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_SSE41, 0, 0 +movnti, movnti_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_P4, 0, 0 +movntpd, movnt_insn, 2, SUF_Z, 0x66, 0x2B, 0, 0, CPU_SSE2, 0, 0 +movntps, movnt_insn, 2, SUF_Z, 0x00, 0x2B, 0, 0, CPU_SSE, 0, 0 +movntq, movntq_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SSE, 0, 0 +movntsd, movntsd_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SSE4a, 0, 0 +movntss, movntss_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SSE4a, 0, 0 +movq, movq_insn, 9, SUF_Z, 0, 0, 0, 0, CPU_MMX, 0, 0 +movq2dq, movq2dq_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SSE2, 0, 0 +movsb, onebyte_insn, 1, SUF_Z, 0xA4, 0x00, 0, 0, 0, 0, 0 +movsd, movsd_insn, 5, SUF_Z, 0, 0, 0, 0, CPU_386, 0, 0 +movshdup, xmm_xmm128_insn, 2, SUF_Z, 0xF3, 0x16, 0, 0, CPU_SSE3, 0, 0 +movsldup, xmm_xmm128_insn, 2, SUF_Z, 0xF3, 0x12, 0, 0, CPU_SSE3, 0, 0 +movsq, onebyte_insn, 1, SUF_Z, 0xA5, 0x40, 0, ONLY_64, 0, 0, 0 +movss, movss_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_SSE, 0, 0 +movsw, onebyte_insn, 1, SUF_Z, 0xA5, 0x10, 0, 0, 0, 0, 0 +movsx, movszx_insn, 5, SUF_Z, 0xBE, 0, 0, 0, CPU_386, 0, 0 +movsxd, movsxd_insn, 1, SUF_Z, 0, 0, 0, ONLY_64, 0, 0, 0 +movupd, movau_insn, 6, SUF_Z, 0x66, 0x10, 0x01, 0, CPU_SSE2, 0, 0 +movups, movau_insn, 6, SUF_Z, 0x00, 0x10, 0x01, 0, CPU_SSE, 0, 0 +movzx, movszx_insn, 5, SUF_Z, 0xB6, 0, 0, 0, CPU_386, 0, 0 +mpsadbw, sse4imm_insn, 2, SUF_Z, 0x42, 0, 0, 0, CPU_SSE41, 0, 0 +mul, f6_insn, 4, SUF_Z, 0x04, 0, 0, 0, 0, 0, 0 +mulpd, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x59, 0, 0, CPU_SSE2, 0, 0 +mulps, xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x59, 0, 0, CPU_SSE, 0, 0 +mulsd, xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x59, 0, 0, CPU_SSE2, 0, 0 +mulss, xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x59, 0, 0, CPU_SSE, 0, 0 +mulx, vex_gpr_reg_nds_rm_0F_insn, 2, SUF_Z, 0xF2, 0x38, 0xF6, ONLY_AVX, CPU_BMI2, 0, 0 +mwait, threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xC9, 0, CPU_SSE3, 0, 0 +neg, f6_insn, 4, SUF_Z, 0x03, 0, 0, 0, 0, 0, 0 +nop, onebyte_insn, 1, SUF_Z, 0x90, 0, 0, 0, 0, 0, 0 +not, f6_insn, 4, SUF_Z, 0x02, 0, 0, 0, 0, 0, 0 +o16, NULL, X86_OPERSIZE>>8, 0x10, 0, 0, 0, 0, 0, 0, 0 +o32, NULL, X86_OPERSIZE>>8, 0x20, 0, 0, 0, 0, 0, 0, 0 +o64, NULL, X86_OPERSIZE>>8, 0x40, 0, 0, 0, ONLY_64, 0, 0, 0 +or, arith_insn, 22, SUF_Z, 0x08, 0x01, 0, 0, 0, 0, 0 +orpd, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x56, 0, 0, CPU_SSE2, 0, 0 +orps, xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x56, 0, 0, CPU_SSE, 0, 0 +out, out_insn, 12, SUF_Z, 0, 0, 0, 0, 0, 0, 0 +outsb, onebyte_insn, 1, SUF_Z, 0x6E, 0x00, 0, 0, 0, 0, 0 +outsd, onebyte_insn, 1, SUF_Z, 0x6F, 0x20, 0, 0, CPU_386, 0, 0 +outsw, onebyte_insn, 1, SUF_Z, 0x6F, 0x10, 0, 0, 0, 0, 0 +pabsb, ssse3_insn, 5, SUF_Z, 0x1C, 0, 0, 0, CPU_SSSE3, 0, 0 +pabsd, ssse3_insn, 5, SUF_Z, 0x1E, 0, 0, 0, CPU_SSSE3, 0, 0 +pabsw, ssse3_insn, 5, SUF_Z, 0x1D, 0, 0, 0, CPU_SSSE3, 0, 0 +packssdw, mmxsse2_insn, 2, SUF_Z, 0x6B, 0, 0, 0, CPU_MMX, 0, 0 +packsswb, mmxsse2_insn, 2, SUF_Z, 0x63, 0, 0, 0, CPU_MMX, 0, 0 +packusdw, sse4_insn, 2, SUF_Z, 0x2B, 0, 0, 0, CPU_SSE41, 0, 0 +packuswb, mmxsse2_insn, 2, SUF_Z, 0x67, 0, 0, 0, CPU_MMX, 0, 0 +paddb, mmxsse2_insn, 2, SUF_Z, 0xFC, 0, 0, 0, CPU_MMX, 0, 0 +paddd, mmxsse2_insn, 2, SUF_Z, 0xFE, 0, 0, 0, CPU_MMX, 0, 0 +paddq, mmxsse2_insn, 2, SUF_Z, 0xD4, 0, 0, 0, CPU_MMX, 0, 0 +paddsb, mmxsse2_insn, 2, SUF_Z, 0xEC, 0, 0, 0, CPU_MMX, 0, 0 +paddsiw, cyrixmmx_insn, 1, SUF_Z, 0x51, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0 +paddsw, mmxsse2_insn, 2, SUF_Z, 0xED, 0, 0, 0, CPU_MMX, 0, 0 +paddusb, mmxsse2_insn, 2, SUF_Z, 0xDC, 0, 0, 0, CPU_MMX, 0, 0 +paddusw, mmxsse2_insn, 2, SUF_Z, 0xDD, 0, 0, 0, CPU_MMX, 0, 0 +paddw, mmxsse2_insn, 2, SUF_Z, 0xFD, 0, 0, 0, CPU_MMX, 0, 0 +palignr, ssse3imm_insn, 2, SUF_Z, 0x0F, 0, 0, 0, CPU_SSSE3, 0, 0 +pand, mmxsse2_insn, 2, SUF_Z, 0xDB, 0, 0, 0, CPU_MMX, 0, 0 +pandn, mmxsse2_insn, 2, SUF_Z, 0xDF, 0, 0, 0, CPU_MMX, 0, 0 +pause, onebyte_prefix_insn, 1, SUF_Z, 0xF3, 0x90, 0, 0, CPU_P4, 0, 0 +paveb, cyrixmmx_insn, 1, SUF_Z, 0x50, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0 +pavgb, mmxsse2_insn, 2, SUF_Z, 0xE0, 0, 0, 0, CPU_MMX, CPU_P3, 0 +pavgusb, now3d_insn, 1, SUF_Z, 0xBF, 0, 0, 0, CPU_3DNow, 0, 0 +pavgw, mmxsse2_insn, 2, SUF_Z, 0xE3, 0, 0, 0, CPU_MMX, CPU_P3, 0 +pblendvb, sse4xmm0_insn, 2, SUF_Z, 0x10, 0, 0, 0, CPU_SSE41, 0, 0 +pblendw, sse4imm_insn, 2, SUF_Z, 0x0E, 0, 0, 0, CPU_SSE41, 0, 0 +pclmulhqhqdq, pclmulqdq_fixed_insn, 2, SUF_Z, 0x11, 0, 0, 0, CPU_AVX, 0, 0 +pclmulhqlqdq, pclmulqdq_fixed_insn, 2, SUF_Z, 0x01, 0, 0, 0, CPU_AVX, 0, 0 +pclmullqhqdq, pclmulqdq_fixed_insn, 2, SUF_Z, 0x10, 0, 0, 0, CPU_AVX, 0, 0 +pclmullqlqdq, pclmulqdq_fixed_insn, 2, SUF_Z, 0x00, 0, 0, 0, CPU_AVX, 0, 0 +pclmulqdq, pclmulqdq_insn, 2, SUF_Z, 0x3A, 0x44, 0, 0, CPU_AVX, 0, 0 +pcmpeqb, mmxsse2_insn, 2, SUF_Z, 0x74, 0, 0, 0, CPU_MMX, 0, 0 +pcmpeqd, mmxsse2_insn, 2, SUF_Z, 0x76, 0, 0, 0, CPU_MMX, 0, 0 +pcmpeqq, sse4_insn, 2, SUF_Z, 0x29, 0, 0, 0, CPU_SSE41, 0, 0 +pcmpeqw, mmxsse2_insn, 2, SUF_Z, 0x75, 0, 0, 0, CPU_MMX, 0, 0 +pcmpestri, sse4pcmpstr_insn, 1, SUF_Z, 0x61, 0, 0, 0, CPU_SSE42, 0, 0 +pcmpestrm, sse4pcmpstr_insn, 1, SUF_Z, 0x60, 0, 0, 0, CPU_SSE42, 0, 0 +pcmpgtb, mmxsse2_insn, 2, SUF_Z, 0x64, 0, 0, 0, CPU_MMX, 0, 0 +pcmpgtd, mmxsse2_insn, 2, SUF_Z, 0x66, 0, 0, 0, CPU_MMX, 0, 0 +pcmpgtq, sse4_insn, 2, SUF_Z, 0x37, 0, 0, 0, CPU_SSE41, 0, 0 +pcmpgtw, mmxsse2_insn, 2, SUF_Z, 0x65, 0, 0, 0, CPU_MMX, 0, 0 +pcmpistri, sse4pcmpstr_insn, 1, SUF_Z, 0x63, 0, 0, 0, CPU_SSE42, 0, 0 +pcmpistrm, sse4pcmpstr_insn, 1, SUF_Z, 0x62, 0, 0, 0, CPU_SSE42, 0, 0 +pdep, vex_gpr_reg_nds_rm_0F_insn, 2, SUF_Z, 0xF2, 0x38, 0xF5, ONLY_AVX, CPU_BMI2, 0, 0 +pdistib, cyrixmmx_insn, 1, SUF_Z, 0x54, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0 +pext, vex_gpr_reg_nds_rm_0F_insn, 2, SUF_Z, 0xF3, 0x38, 0xF5, ONLY_AVX, CPU_BMI2, 0, 0 +pextrb, pextrb_insn, 3, SUF_Z, 0, 0, 0, 0, CPU_SSE41, 0, 0 +pextrd, pextrd_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_SSE41, 0 +pextrq, pextrq_insn, 1, SUF_Z, 0, 0, 0, ONLY_64, CPU_SSE41, 0, 0 +pextrw, pextrw_insn, 7, SUF_Z, 0, 0, 0, 0, CPU_MMX, CPU_P3, 0 +pf2id, now3d_insn, 1, SUF_Z, 0x1D, 0, 0, 0, CPU_3DNow, 0, 0 +pf2iw, now3d_insn, 1, SUF_Z, 0x1C, 0, 0, 0, CPU_3DNow, CPU_Athlon, 0 +pfacc, now3d_insn, 1, SUF_Z, 0xAE, 0, 0, 0, CPU_3DNow, 0, 0 +pfadd, now3d_insn, 1, SUF_Z, 0x9E, 0, 0, 0, CPU_3DNow, 0, 0 +pfcmpeq, now3d_insn, 1, SUF_Z, 0xB0, 0, 0, 0, CPU_3DNow, 0, 0 +pfcmpge, now3d_insn, 1, SUF_Z, 0x90, 0, 0, 0, CPU_3DNow, 0, 0 +pfcmpgt, now3d_insn, 1, SUF_Z, 0xA0, 0, 0, 0, CPU_3DNow, 0, 0 +pfmax, now3d_insn, 1, SUF_Z, 0xA4, 0, 0, 0, CPU_3DNow, 0, 0 +pfmin, now3d_insn, 1, SUF_Z, 0x94, 0, 0, 0, CPU_3DNow, 0, 0 +pfmul, now3d_insn, 1, SUF_Z, 0xB4, 0, 0, 0, CPU_3DNow, 0, 0 +pfnacc, now3d_insn, 1, SUF_Z, 0x8A, 0, 0, 0, CPU_3DNow, CPU_Athlon, 0 +pfpnacc, now3d_insn, 1, SUF_Z, 0x8E, 0, 0, 0, CPU_3DNow, CPU_Athlon, 0 +pfrcp, now3d_insn, 1, SUF_Z, 0x96, 0, 0, 0, CPU_3DNow, 0, 0 +pfrcpit1, now3d_insn, 1, SUF_Z, 0xA6, 0, 0, 0, CPU_3DNow, 0, 0 +pfrcpit2, now3d_insn, 1, SUF_Z, 0xB6, 0, 0, 0, CPU_3DNow, 0, 0 +pfrsqit1, now3d_insn, 1, SUF_Z, 0xA7, 0, 0, 0, CPU_3DNow, 0, 0 +pfrsqrt, now3d_insn, 1, SUF_Z, 0x97, 0, 0, 0, CPU_3DNow, 0, 0 +pfsub, now3d_insn, 1, SUF_Z, 0x9A, 0, 0, 0, CPU_3DNow, 0, 0 +pfsubr, now3d_insn, 1, SUF_Z, 0xAA, 0, 0, 0, CPU_3DNow, 0, 0 +phaddd, ssse3_insn, 5, SUF_Z, 0x02, 0, 0, 0, CPU_SSSE3, 0, 0 +phaddsw, ssse3_insn, 5, SUF_Z, 0x03, 0, 0, 0, CPU_SSSE3, 0, 0 +phaddw, ssse3_insn, 5, SUF_Z, 0x01, 0, 0, 0, CPU_SSSE3, 0, 0 +phminposuw, sse4_insn, 2, SUF_Z, 0x41, 0, 0, 0, CPU_SSE41, 0, 0 +phsubd, ssse3_insn, 5, SUF_Z, 0x06, 0, 0, 0, CPU_SSSE3, 0, 0 +phsubsw, ssse3_insn, 5, SUF_Z, 0x07, 0, 0, 0, CPU_SSSE3, 0, 0 +phsubw, ssse3_insn, 5, SUF_Z, 0x05, 0, 0, 0, CPU_SSSE3, 0, 0 +pi2fd, now3d_insn, 1, SUF_Z, 0x0D, 0, 0, 0, CPU_3DNow, 0, 0 +pi2fw, now3d_insn, 1, SUF_Z, 0x0C, 0, 0, 0, CPU_3DNow, CPU_Athlon, 0 +pinsrb, pinsrb_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_SSE41, 0, 0 +pinsrd, pinsrd_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_SSE41, 0 +pinsrq, pinsrq_insn, 2, SUF_Z, 0, 0, 0, ONLY_64, CPU_SSE41, 0, 0 +pinsrw, pinsrw_insn, 9, SUF_Z, 0, 0, 0, 0, CPU_MMX, CPU_P3, 0 +pmachriw, pmachriw_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0 +pmaddubsw, ssse3_insn, 5, SUF_Z, 0x04, 0, 0, 0, CPU_SSSE3, 0, 0 +pmaddwd, mmxsse2_insn, 2, SUF_Z, 0xF5, 0, 0, 0, CPU_MMX, 0, 0 +pmagw, cyrixmmx_insn, 1, SUF_Z, 0x52, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0 +pmaxsb, sse4_insn, 2, SUF_Z, 0x3C, 0, 0, 0, CPU_SSE41, 0, 0 +pmaxsd, sse4_insn, 2, SUF_Z, 0x3D, 0, 0, 0, CPU_SSE41, 0, 0 +pmaxsw, mmxsse2_insn, 2, SUF_Z, 0xEE, 0, 0, 0, CPU_MMX, CPU_P3, 0 +pmaxub, mmxsse2_insn, 2, SUF_Z, 0xDE, 0, 0, 0, CPU_MMX, CPU_P3, 0 +pmaxud, sse4_insn, 2, SUF_Z, 0x3F, 0, 0, 0, CPU_SSE41, 0, 0 +pmaxuw, sse4_insn, 2, SUF_Z, 0x3E, 0, 0, 0, CPU_SSE41, 0, 0 +pminsb, sse4_insn, 2, SUF_Z, 0x38, 0, 0, 0, CPU_SSE41, 0, 0 +pminsd, sse4_insn, 2, SUF_Z, 0x39, 0, 0, 0, CPU_SSE41, 0, 0 +pminsw, mmxsse2_insn, 2, SUF_Z, 0xEA, 0, 0, 0, CPU_MMX, CPU_P3, 0 +pminub, mmxsse2_insn, 2, SUF_Z, 0xDA, 0, 0, 0, CPU_MMX, CPU_P3, 0 +pminud, sse4_insn, 2, SUF_Z, 0x3B, 0, 0, 0, CPU_SSE41, 0, 0 +pminuw, sse4_insn, 2, SUF_Z, 0x3A, 0, 0, 0, CPU_SSE41, 0, 0 +pmovmskb, pmovmskb_insn, 6, SUF_Z, 0, 0, 0, 0, CPU_MMX, CPU_P3, 0 +pmovsxbd, sse4m32_insn, 4, SUF_Z, 0x21, 0, 0, 0, CPU_SSE41, 0, 0 +pmovsxbq, sse4m16_insn, 4, SUF_Z, 0x22, 0, 0, 0, CPU_SSE41, 0, 0 +pmovsxbw, sse4m64_insn, 4, SUF_Z, 0x20, 0, 0, 0, CPU_SSE41, 0, 0 +pmovsxdq, sse4m64_insn, 4, SUF_Z, 0x25, 0, 0, 0, CPU_SSE41, 0, 0 +pmovsxwd, sse4m64_insn, 4, SUF_Z, 0x23, 0, 0, 0, CPU_SSE41, 0, 0 +pmovsxwq, sse4m32_insn, 4, SUF_Z, 0x24, 0, 0, 0, CPU_SSE41, 0, 0 +pmovzxbd, sse4m32_insn, 4, SUF_Z, 0x31, 0, 0, 0, CPU_SSE41, 0, 0 +pmovzxbq, sse4m16_insn, 4, SUF_Z, 0x32, 0, 0, 0, CPU_SSE41, 0, 0 +pmovzxbw, sse4m64_insn, 4, SUF_Z, 0x30, 0, 0, 0, CPU_SSE41, 0, 0 +pmovzxdq, sse4m64_insn, 4, SUF_Z, 0x35, 0, 0, 0, CPU_SSE41, 0, 0 +pmovzxwd, sse4m64_insn, 4, SUF_Z, 0x33, 0, 0, 0, CPU_SSE41, 0, 0 +pmovzxwq, sse4m32_insn, 4, SUF_Z, 0x34, 0, 0, 0, CPU_SSE41, 0, 0 +pmuldq, sse4_insn, 2, SUF_Z, 0x28, 0, 0, 0, CPU_SSE41, 0, 0 +pmulhriw, cyrixmmx_insn, 1, SUF_Z, 0x5D, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0 +pmulhrsw, ssse3_insn, 5, SUF_Z, 0x0B, 0, 0, 0, CPU_SSSE3, 0, 0 +pmulhrw, now3d_insn, 1, SUF_Z, 0xB7, 0, 0, 0, CPU_3DNow, 0, 0 +pmulhrwc, cyrixmmx_insn, 1, SUF_Z, 0x59, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0 +pmulhuw, mmxsse2_insn, 2, SUF_Z, 0xE4, 0, 0, 0, CPU_MMX, CPU_P3, 0 +pmulhw, mmxsse2_insn, 2, SUF_Z, 0xE5, 0, 0, 0, CPU_MMX, 0, 0 +pmulld, sse4_insn, 2, SUF_Z, 0x40, 0, 0, 0, CPU_SSE41, 0, 0 +pmullw, mmxsse2_insn, 2, SUF_Z, 0xD5, 0, 0, 0, CPU_MMX, 0, 0 +pmuludq, mmxsse2_insn, 2, SUF_Z, 0xF4, 0, 0, 0, CPU_SSE2, 0, 0 +pmvgezb, cyrixmmx_insn, 1, SUF_Z, 0x5C, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0 +pmvlzb, cyrixmmx_insn, 1, SUF_Z, 0x5B, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0 +pmvnzb, cyrixmmx_insn, 1, SUF_Z, 0x5A, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0 +pmvzb, cyrixmmx_insn, 1, SUF_Z, 0x58, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0 +pop, pop_insn, 23, SUF_Z, 0, 0, 0, 0, 0, 0, 0 +popa, onebyte_insn, 1, SUF_Z, 0x61, 0x00, 0, NOT_64, CPU_186, 0, 0 +popad, onebyte_insn, 1, SUF_Z, 0x61, 0x20, 0, NOT_64, CPU_386, 0, 0 +popaw, onebyte_insn, 1, SUF_Z, 0x61, 0x10, 0, NOT_64, CPU_186, 0, 0 +popcnt, cnt_insn, 3, SUF_Z, 0xB8, 0, 0, 0, CPU_SSE42, 0, 0 +popf, onebyte_insn, 1, SUF_Z, 0x9D, 0x00, 0x40, 0, 0, 0, 0 +popfd, onebyte_insn, 1, SUF_Z, 0x9D, 0x20, 0, NOT_64, CPU_386, 0, 0 +popfq, onebyte_insn, 1, SUF_Z, 0x9D, 0x40, 0x40, ONLY_64, 0, 0, 0 +popfw, onebyte_insn, 1, SUF_Z, 0x9D, 0x10, 0x40, 0, 0, 0, 0 +por, mmxsse2_insn, 2, SUF_Z, 0xEB, 0, 0, 0, CPU_MMX, 0, 0 +prefetch, twobytemem_insn, 1, SUF_Z, 0x00, 0x0F, 0x0D, 0, CPU_3DNow, 0, 0 +prefetchnta, twobytemem_insn, 1, SUF_Z, 0x00, 0x0F, 0x18, 0, CPU_P3, 0, 0 +prefetcht0, twobytemem_insn, 1, SUF_Z, 0x01, 0x0F, 0x18, 0, CPU_P3, 0, 0 +prefetcht1, twobytemem_insn, 1, SUF_Z, 0x02, 0x0F, 0x18, 0, CPU_P3, 0, 0 +prefetcht2, twobytemem_insn, 1, SUF_Z, 0x03, 0x0F, 0x18, 0, CPU_P3, 0, 0 +prefetchw, twobytemem_insn, 1, SUF_Z, 0x01, 0x0F, 0x0D, 0, CPU_PRFCHW, 0, 0 +psadbw, mmxsse2_insn, 2, SUF_Z, 0xF6, 0, 0, 0, CPU_MMX, CPU_P3, 0 +pshufb, ssse3_insn, 5, SUF_Z, 0x00, 0, 0, 0, CPU_SSSE3, 0, 0 +pshufd, xmm_xmm128_imm_insn, 1, SUF_Z, 0x66, 0x70, 0, 0, CPU_SSE2, 0, 0 +pshufhw, xmm_xmm128_imm_insn, 1, SUF_Z, 0xF3, 0x70, 0, 0, CPU_SSE2, 0, 0 +pshuflw, xmm_xmm128_imm_insn, 1, SUF_Z, 0xF2, 0x70, 0, 0, CPU_SSE2, 0, 0 +pshufw, pshufw_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_MMX, CPU_P3, 0 +psignb, ssse3_insn, 5, SUF_Z, 0x08, 0, 0, 0, CPU_SSSE3, 0, 0 +psignd, ssse3_insn, 5, SUF_Z, 0x0A, 0, 0, 0, CPU_SSSE3, 0, 0 +psignw, ssse3_insn, 5, SUF_Z, 0x09, 0, 0, 0, CPU_SSSE3, 0, 0 +pslld, pshift_insn, 4, SUF_Z, 0xF2, 0x72, 0x06, 0, CPU_MMX, 0, 0 +pslldq, pslrldq_insn, 4, SUF_Z, 0x07, 0, 0, 0, CPU_SSE2, 0, 0 +psllq, pshift_insn, 4, SUF_Z, 0xF3, 0x73, 0x06, 0, CPU_MMX, 0, 0 +psllw, pshift_insn, 4, SUF_Z, 0xF1, 0x71, 0x06, 0, CPU_MMX, 0, 0 +psrad, pshift_insn, 4, SUF_Z, 0xE2, 0x72, 0x04, 0, CPU_MMX, 0, 0 +psraw, pshift_insn, 4, SUF_Z, 0xE1, 0x71, 0x04, 0, CPU_MMX, 0, 0 +psrld, pshift_insn, 4, SUF_Z, 0xD2, 0x72, 0x02, 0, CPU_MMX, 0, 0 +psrldq, pslrldq_insn, 4, SUF_Z, 0x03, 0, 0, 0, CPU_SSE2, 0, 0 +psrlq, pshift_insn, 4, SUF_Z, 0xD3, 0x73, 0x02, 0, CPU_MMX, 0, 0 +psrlw, pshift_insn, 4, SUF_Z, 0xD1, 0x71, 0x02, 0, CPU_MMX, 0, 0 +psubb, mmxsse2_insn, 2, SUF_Z, 0xF8, 0, 0, 0, CPU_MMX, 0, 0 +psubd, mmxsse2_insn, 2, SUF_Z, 0xFA, 0, 0, 0, CPU_MMX, 0, 0 +psubq, mmxsse2_insn, 2, SUF_Z, 0xFB, 0, 0, 0, CPU_MMX, 0, 0 +psubsb, mmxsse2_insn, 2, SUF_Z, 0xE8, 0, 0, 0, CPU_MMX, 0, 0 +psubsiw, cyrixmmx_insn, 1, SUF_Z, 0x55, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0 +psubsw, mmxsse2_insn, 2, SUF_Z, 0xE9, 0, 0, 0, CPU_MMX, 0, 0 +psubusb, mmxsse2_insn, 2, SUF_Z, 0xD8, 0, 0, 0, CPU_MMX, 0, 0 +psubusw, mmxsse2_insn, 2, SUF_Z, 0xD9, 0, 0, 0, CPU_MMX, 0, 0 +psubw, mmxsse2_insn, 2, SUF_Z, 0xF9, 0, 0, 0, CPU_MMX, 0, 0 +pswapd, now3d_insn, 1, SUF_Z, 0xBB, 0, 0, 0, CPU_3DNow, CPU_Athlon, 0 +ptest, sse4_insn, 2, SUF_Z, 0x17, 0, 0, 0, CPU_SSE41, 0, 0 +punpckhbw, mmxsse2_insn, 2, SUF_Z, 0x68, 0, 0, 0, CPU_MMX, 0, 0 +punpckhdq, mmxsse2_insn, 2, SUF_Z, 0x6A, 0, 0, 0, CPU_MMX, 0, 0 +punpckhqdq, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x6D, 0, 0, CPU_SSE2, 0, 0 +punpckhwd, mmxsse2_insn, 2, SUF_Z, 0x69, 0, 0, 0, CPU_MMX, 0, 0 +punpcklbw, mmxsse2_insn, 2, SUF_Z, 0x60, 0, 0, 0, CPU_MMX, 0, 0 +punpckldq, mmxsse2_insn, 2, SUF_Z, 0x62, 0, 0, 0, CPU_MMX, 0, 0 +punpcklqdq, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x6C, 0, 0, CPU_SSE2, 0, 0 +punpcklwd, mmxsse2_insn, 2, SUF_Z, 0x61, 0, 0, 0, CPU_MMX, 0, 0 +push, push_insn, 35, SUF_Z, 0, 0, 0, 0, 0, 0, 0 +pusha, onebyte_insn, 1, SUF_Z, 0x60, 0x00, 0, NOT_64, CPU_186, 0, 0 +pushad, onebyte_insn, 1, SUF_Z, 0x60, 0x20, 0, NOT_64, CPU_386, 0, 0 +pushaw, onebyte_insn, 1, SUF_Z, 0x60, 0x10, 0, NOT_64, CPU_186, 0, 0 +pushf, onebyte_insn, 1, SUF_Z, 0x9C, 0x00, 0x40, 0, 0, 0, 0 +pushfd, onebyte_insn, 1, SUF_Z, 0x9C, 0x20, 0, NOT_64, CPU_386, 0, 0 +pushfq, onebyte_insn, 1, SUF_Z, 0x9C, 0x40, 0x40, ONLY_64, 0, 0, 0 +pushfw, onebyte_insn, 1, SUF_Z, 0x9C, 0x10, 0x40, 0, 0, 0, 0 +pxor, mmxsse2_insn, 2, SUF_Z, 0xEF, 0, 0, 0, CPU_MMX, 0, 0 +rcl, shift_insn, 16, SUF_Z, 0x02, 0, 0, 0, 0, 0, 0 +rcpps, xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x53, 0, 0, CPU_SSE, 0, 0 +rcpss, xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x53, 0, 0, CPU_SSE, 0, 0 +rcr, shift_insn, 16, SUF_Z, 0x03, 0, 0, 0, 0, 0, 0 +rdfsbase, fs_gs_base_insn, 2, SUF_Z, 0x00, 0, 0, ONLY_64, CPU_FSGSBASE, 0, 0 +rdgsbase, fs_gs_base_insn, 2, SUF_Z, 0x01, 0, 0, ONLY_64, CPU_FSGSBASE, 0, 0 +rdmsr, twobyte_insn, 1, SUF_Z, 0x0F, 0x32, 0, 0, CPU_586, CPU_Priv, 0 +rdpmc, twobyte_insn, 1, SUF_Z, 0x0F, 0x33, 0, 0, CPU_686, 0, 0 +rdrand, rdrand_insn, 3, SUF_Z, 0x06, 0, 0, 0, CPU_RDRAND, 0, 0 +rdseed, rdrand_insn, 3, SUF_Z, 0x07, 0, 0, 0, CPU_RDSEED, 0, 0 +rdshr, rdwrshr_insn, 1, SUF_Z, 0x00, 0, 0, 0, CPU_686, CPU_Cyrix, CPU_SMM +rdtsc, twobyte_insn, 1, SUF_Z, 0x0F, 0x31, 0, 0, CPU_586, 0, 0 +rdtscp, threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xF9, 0, CPU_686, CPU_AMD, CPU_Priv +rep, NULL, X86_LOCKREP>>8, 0xF3, 0, 0, 0, 0, 0, 0, 0 +repe, NULL, X86_LOCKREP>>8, 0xF3, 0, 0, 0, 0, 0, 0, 0 +repne, NULL, X86_LOCKREP>>8, 0xF2, 0, 0, 0, 0, 0, 0, 0 +repnz, NULL, X86_LOCKREP>>8, 0xF2, 0, 0, 0, 0, 0, 0, 0 +repz, NULL, X86_LOCKREP>>8, 0xF3, 0, 0, 0, 0, 0, 0, 0 +ret, retnf_insn, 6, SUF_Z, 0xC2, 0, 0, 0, 0, 0, 0 +retf, retnf_insn, 6, SUF_Z, 0xCA, 0x40, 0, 0, 0, 0, 0 +retn, retnf_insn, 6, SUF_Z, 0xC2, 0, 0, 0, 0, 0, 0 +rol, shift_insn, 16, SUF_Z, 0x00, 0, 0, 0, 0, 0, 0 +ror, shift_insn, 16, SUF_Z, 0x01, 0, 0, 0, 0, 0, 0 +rorx, vex_gpr_reg_rm_0F_imm8_insn, 2, SUF_Z, 0xF2, 0x3A, 0xF0, ONLY_AVX, CPU_BMI2, 0, 0 +roundpd, sse4imm_insn, 2, SUF_Z, 0x09, 0, 0, 0, CPU_SSE41, 0, 0 +roundps, sse4imm_insn, 2, SUF_Z, 0x08, 0, 0, 0, CPU_SSE41, 0, 0 +roundsd, sse4m64imm_insn, 4, SUF_Z, 0x0B, 0, 0, 0, CPU_SSE41, 0, 0 +roundss, sse4m32imm_insn, 4, SUF_Z, 0x0A, 0, 0, 0, CPU_SSE41, 0, 0 +rsdc, rsdc_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_486, CPU_Cyrix, CPU_SMM +rsldt, cyrixsmm_insn, 1, SUF_Z, 0x7B, 0, 0, 0, CPU_486, CPU_Cyrix, CPU_SMM +rsm, twobyte_insn, 1, SUF_Z, 0x0F, 0xAA, 0, 0, CPU_586, CPU_SMM, 0 +rsqrtps, xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x52, 0, 0, CPU_SSE, 0, 0 +rsqrtss, xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x52, 0, 0, CPU_SSE, 0, 0 +rsts, cyrixsmm_insn, 1, SUF_Z, 0x7D, 0, 0, 0, CPU_486, CPU_Cyrix, CPU_SMM +sahf, onebyte_insn, 1, SUF_Z, 0x9E, 0, 0, 0, 0, 0, 0 +sal, shift_insn, 16, SUF_Z, 0x04, 0, 0, 0, 0, 0, 0 +salc, onebyte_insn, 1, SUF_Z, 0xD6, 0, 0, NOT_64, CPU_Undoc, 0, 0 +sar, shift_insn, 16, SUF_Z, 0x07, 0, 0, 0, 0, 0, 0 +sarx, vex_gpr_reg_rm_nds_0F_insn, 2, SUF_Z, 0xF3, 0x38, 0xF7, ONLY_AVX, CPU_BMI2, 0, 0 +sbb, arith_insn, 22, SUF_Z, 0x18, 0x03, 0, 0, 0, 0, 0 +scasb, onebyte_insn, 1, SUF_Z, 0xAE, 0x00, 0, 0, 0, 0, 0 +scasd, onebyte_insn, 1, SUF_Z, 0xAF, 0x20, 0, 0, CPU_386, 0, 0 +scasq, onebyte_insn, 1, SUF_Z, 0xAF, 0x40, 0, ONLY_64, 0, 0, 0 +scasw, onebyte_insn, 1, SUF_Z, 0xAF, 0x10, 0, 0, 0, 0, 0 +seta, setcc_insn, 1, SUF_Z, 0x07, 0, 0, 0, CPU_386, 0, 0 +setae, setcc_insn, 1, SUF_Z, 0x03, 0, 0, 0, CPU_386, 0, 0 +setb, setcc_insn, 1, SUF_Z, 0x02, 0, 0, 0, CPU_386, 0, 0 +setbe, setcc_insn, 1, SUF_Z, 0x06, 0, 0, 0, CPU_386, 0, 0 +setc, setcc_insn, 1, SUF_Z, 0x02, 0, 0, 0, CPU_386, 0, 0 +sete, setcc_insn, 1, SUF_Z, 0x04, 0, 0, 0, CPU_386, 0, 0 +setg, setcc_insn, 1, SUF_Z, 0x0F, 0, 0, 0, CPU_386, 0, 0 +setge, setcc_insn, 1, SUF_Z, 0x0D, 0, 0, 0, CPU_386, 0, 0 +setl, setcc_insn, 1, SUF_Z, 0x0C, 0, 0, 0, CPU_386, 0, 0 +setle, setcc_insn, 1, SUF_Z, 0x0E, 0, 0, 0, CPU_386, 0, 0 +setna, setcc_insn, 1, SUF_Z, 0x06, 0, 0, 0, CPU_386, 0, 0 +setnae, setcc_insn, 1, SUF_Z, 0x02, 0, 0, 0, CPU_386, 0, 0 +setnb, setcc_insn, 1, SUF_Z, 0x03, 0, 0, 0, CPU_386, 0, 0 +setnbe, setcc_insn, 1, SUF_Z, 0x07, 0, 0, 0, CPU_386, 0, 0 +setnc, setcc_insn, 1, SUF_Z, 0x03, 0, 0, 0, CPU_386, 0, 0 +setne, setcc_insn, 1, SUF_Z, 0x05, 0, 0, 0, CPU_386, 0, 0 +setng, setcc_insn, 1, SUF_Z, 0x0E, 0, 0, 0, CPU_386, 0, 0 +setnge, setcc_insn, 1, SUF_Z, 0x0C, 0, 0, 0, CPU_386, 0, 0 +setnl, setcc_insn, 1, SUF_Z, 0x0D, 0, 0, 0, CPU_386, 0, 0 +setnle, setcc_insn, 1, SUF_Z, 0x0F, 0, 0, 0, CPU_386, 0, 0 +setno, setcc_insn, 1, SUF_Z, 0x01, 0, 0, 0, CPU_386, 0, 0 +setnp, setcc_insn, 1, SUF_Z, 0x0B, 0, 0, 0, CPU_386, 0, 0 +setns, setcc_insn, 1, SUF_Z, 0x09, 0, 0, 0, CPU_386, 0, 0 +setnz, setcc_insn, 1, SUF_Z, 0x05, 0, 0, 0, CPU_386, 0, 0 +seto, setcc_insn, 1, SUF_Z, 0x00, 0, 0, 0, CPU_386, 0, 0 +setp, setcc_insn, 1, SUF_Z, 0x0A, 0, 0, 0, CPU_386, 0, 0 +setpe, setcc_insn, 1, SUF_Z, 0x0A, 0, 0, 0, CPU_386, 0, 0 +setpo, setcc_insn, 1, SUF_Z, 0x0B, 0, 0, 0, CPU_386, 0, 0 +sets, setcc_insn, 1, SUF_Z, 0x08, 0, 0, 0, CPU_386, 0, 0 +setz, setcc_insn, 1, SUF_Z, 0x04, 0, 0, 0, CPU_386, 0, 0 +sfence, threebyte_insn, 1, SUF_Z, 0x0F, 0xAE, 0xF8, 0, CPU_P3, 0, 0 +sgdt, twobytemem_insn, 1, SUF_Z, 0x00, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0 +shl, shift_insn, 16, SUF_Z, 0x04, 0, 0, 0, 0, 0, 0 +shld, shlrd_insn, 9, SUF_Z, 0xA4, 0, 0, 0, CPU_386, 0, 0 +shlx, vex_gpr_reg_rm_nds_0F_insn, 2, SUF_Z, 0x66, 0x38, 0xF7, ONLY_AVX, CPU_BMI2, 0, 0 +shr, shift_insn, 16, SUF_Z, 0x05, 0, 0, 0, 0, 0, 0 +shrd, shlrd_insn, 9, SUF_Z, 0xAC, 0, 0, 0, CPU_386, 0, 0 +shrx, vex_gpr_reg_rm_nds_0F_insn, 2, SUF_Z, 0xF2, 0x38, 0xF7, ONLY_AVX, CPU_BMI2, 0, 0 +shufpd, xmm_xmm128_imm_insn, 1, SUF_Z, 0x66, 0xC6, 0, 0, CPU_SSE2, 0, 0 +shufps, xmm_xmm128_imm_insn, 1, SUF_Z, 0x00, 0xC6, 0, 0, CPU_SSE, 0, 0 +sidt, twobytemem_insn, 1, SUF_Z, 0x01, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0 +skinit, skinit_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_SVM, 0, 0 +sldt, sldtmsw_insn, 6, SUF_Z, 0x00, 0x00, 0, 0, CPU_286, 0, 0 +smi, onebyte_insn, 1, SUF_Z, 0xF1, 0, 0, 0, CPU_386, CPU_Undoc, 0 +smint, twobyte_insn, 1, SUF_Z, 0x0F, 0x38, 0, 0, CPU_686, CPU_Cyrix, 0 +smintold, twobyte_insn, 1, SUF_Z, 0x0F, 0x7E, 0, 0, CPU_486, CPU_Cyrix, CPU_Obs +smsw, sldtmsw_insn, 6, SUF_Z, 0x04, 0x01, 0, 0, CPU_286, 0, 0 +sqrtpd, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x51, 0, 0, CPU_SSE2, 0, 0 +sqrtps, xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x51, 0, 0, CPU_SSE, 0, 0 +sqrtsd, xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x51, 0, 0, CPU_SSE2, 0, 0 +sqrtss, xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x51, 0, 0, CPU_SSE, 0, 0 +stac, threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xCB, 0, CPU_SMAP, 0, 0 +stc, onebyte_insn, 1, SUF_Z, 0xF9, 0, 0, 0, 0, 0, 0 +std, onebyte_insn, 1, SUF_Z, 0xFD, 0, 0, 0, 0, 0, 0 +stgi, threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xDC, 0, CPU_SVM, 0, 0 +sti, onebyte_insn, 1, SUF_Z, 0xFB, 0, 0, 0, 0, 0, 0 +stmxcsr, ldstmxcsr_insn, 1, SUF_Z, 0x03, 0, 0, 0, CPU_SSE, 0, 0 +stosb, onebyte_insn, 1, SUF_Z, 0xAA, 0x00, 0, 0, 0, 0, 0 +stosd, onebyte_insn, 1, SUF_Z, 0xAB, 0x20, 0, 0, CPU_386, 0, 0 +stosq, onebyte_insn, 1, SUF_Z, 0xAB, 0x40, 0, ONLY_64, 0, 0, 0 +stosw, onebyte_insn, 1, SUF_Z, 0xAB, 0x10, 0, 0, 0, 0, 0 +str, str_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_286, CPU_Prot, 0 +sub, arith_insn, 22, SUF_Z, 0x28, 0x05, 0, 0, 0, 0, 0 +subpd, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x5C, 0, 0, CPU_SSE2, 0, 0 +subps, xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x5C, 0, 0, CPU_SSE, 0, 0 +subsd, xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5C, 0, 0, CPU_SSE2, 0, 0 +subss, xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5C, 0, 0, CPU_SSE, 0, 0 +svdc, svdc_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_486, CPU_Cyrix, CPU_SMM +svldt, cyrixsmm_insn, 1, SUF_Z, 0x7A, 0, 0, 0, CPU_486, CPU_Cyrix, CPU_SMM +svts, cyrixsmm_insn, 1, SUF_Z, 0x7C, 0, 0, 0, CPU_486, CPU_Cyrix, CPU_SMM +swapgs, threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xF8, ONLY_64, 0, 0, 0 +syscall, twobyte_insn, 1, SUF_Z, 0x0F, 0x05, 0, 0, CPU_686, CPU_AMD, 0 +sysenter, twobyte_insn, 1, SUF_Z, 0x0F, 0x34, 0, NOT_64, CPU_686, 0, 0 +sysexit, twobyte_insn, 1, SUF_Z, 0x0F, 0x35, 0, NOT_64, CPU_686, CPU_Priv, 0 +sysret, twobyte_insn, 1, SUF_Z, 0x0F, 0x07, 0, 0, CPU_686, CPU_AMD, CPU_Priv +t1mskc, xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x01, 0x07, 0, 0, CPU_386, CPU_TBM, 0 +test, test_insn, 20, SUF_Z, 0, 0, 0, 0, 0, 0, 0 +tzcnt, cnt_insn, 3, SUF_Z, 0xBC, 0, 0, 0, CPU_BMI1, 0, 0 +tzmsk, xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x01, 0x04, 0, 0, CPU_386, CPU_TBM, 0 +ucomisd, xmm_xmm64_insn, 4, SUF_Z, 0x66, 0x2E, 0, 0, CPU_SSE2, 0, 0 +ucomiss, xmm_xmm32_insn, 4, SUF_Z, 0x00, 0x2E, 0, 0, CPU_SSE, 0, 0 +ud1, twobyte_insn, 1, SUF_Z, 0x0F, 0xB9, 0, 0, CPU_286, CPU_Undoc, 0 +ud2, twobyte_insn, 1, SUF_Z, 0x0F, 0x0B, 0, 0, CPU_286, 0, 0 +umov, umov_insn, 6, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_Undoc, 0 +unpckhpd, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x15, 0, 0, CPU_SSE2, 0, 0 +unpckhps, xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x15, 0, 0, CPU_SSE, 0, 0 +unpcklpd, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x14, 0, 0, CPU_SSE2, 0, 0 +unpcklps, xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x14, 0, 0, CPU_SSE, 0, 0 +vaddpd, xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x58, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vaddps, xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x58, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vaddsd, xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x58, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vaddss, xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x58, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vaddsubpd, xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0xD0, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vaddsubps, xmm_xmm128_256_insn, 4, SUF_Z, 0xF2, 0xD0, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vaesdec, aes_insn, 2, SUF_Z, 0x38, 0xDE, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vaesdeclast, aes_insn, 2, SUF_Z, 0x38, 0xDF, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vaesenc, aes_insn, 2, SUF_Z, 0x38, 0xDC, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vaesenclast, aes_insn, 2, SUF_Z, 0x38, 0xDD, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vaesimc, aesimc_insn, 1, SUF_Z, 0x38, 0xDB, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vaeskeygenassist, aes_imm_insn, 1, SUF_Z, 0x3A, 0xDF, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vandnpd, xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x55, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vandnps, xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x55, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vandpd, xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x54, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vandps, xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x54, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vblendpd, sse4imm_256_insn, 4, SUF_Z, 0x0D, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vblendps, sse4imm_256_insn, 4, SUF_Z, 0x0C, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vblendvpd, avx_sse4xmm0_insn, 2, SUF_Z, 0x4B, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vblendvps, avx_sse4xmm0_insn, 2, SUF_Z, 0x4A, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vbroadcastf128, vbroadcastif128_insn, 1, SUF_Z, 0x1A, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vbroadcasti128, vbroadcastif128_insn, 1, SUF_Z, 0x5A, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vbroadcastsd, vbroadcastsd_insn, 2, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vbroadcastss, vbroadcastss_insn, 4, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpeq_ospd, ssecmp_128_insn, 3, SUF_Z, 0x10, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpeq_osps, ssecmp_128_insn, 3, SUF_Z, 0x10, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpeq_ossd, ssecmp_64_insn, 4, SUF_Z, 0x10, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpeq_osss, ssecmp_32_insn, 4, SUF_Z, 0x10, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpeq_uqpd, ssecmp_128_insn, 3, SUF_Z, 0x08, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpeq_uqps, ssecmp_128_insn, 3, SUF_Z, 0x08, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpeq_uqsd, ssecmp_64_insn, 4, SUF_Z, 0x08, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpeq_uqss, ssecmp_32_insn, 4, SUF_Z, 0x08, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpeq_uspd, ssecmp_128_insn, 3, SUF_Z, 0x18, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpeq_usps, ssecmp_128_insn, 3, SUF_Z, 0x18, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpeq_ussd, ssecmp_64_insn, 4, SUF_Z, 0x18, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpeq_usss, ssecmp_32_insn, 4, SUF_Z, 0x18, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpeqpd, ssecmp_128_insn, 3, SUF_Z, 0x00, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpeqps, ssecmp_128_insn, 3, SUF_Z, 0x00, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpeqsd, ssecmp_64_insn, 4, SUF_Z, 0x00, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpeqss, ssecmp_32_insn, 4, SUF_Z, 0x00, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpfalse_ospd, ssecmp_128_insn, 3, SUF_Z, 0x1B, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpfalse_osps, ssecmp_128_insn, 3, SUF_Z, 0x1B, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpfalse_ossd, ssecmp_64_insn, 4, SUF_Z, 0x1B, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpfalse_osss, ssecmp_32_insn, 4, SUF_Z, 0x1B, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpfalsepd, ssecmp_128_insn, 3, SUF_Z, 0x0B, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpfalseps, ssecmp_128_insn, 3, SUF_Z, 0x0B, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpfalsesd, ssecmp_64_insn, 4, SUF_Z, 0x0B, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpfalsess, ssecmp_32_insn, 4, SUF_Z, 0x0B, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpge_oqpd, ssecmp_128_insn, 3, SUF_Z, 0x1D, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpge_oqps, ssecmp_128_insn, 3, SUF_Z, 0x1D, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpge_oqsd, ssecmp_64_insn, 4, SUF_Z, 0x1D, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpge_oqss, ssecmp_32_insn, 4, SUF_Z, 0x1D, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpgepd, ssecmp_128_insn, 3, SUF_Z, 0x0D, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpgeps, ssecmp_128_insn, 3, SUF_Z, 0x0D, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpgesd, ssecmp_64_insn, 4, SUF_Z, 0x0D, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpgess, ssecmp_32_insn, 4, SUF_Z, 0x0D, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpgt_oqpd, ssecmp_128_insn, 3, SUF_Z, 0x1E, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpgt_oqps, ssecmp_128_insn, 3, SUF_Z, 0x1E, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpgt_oqsd, ssecmp_64_insn, 4, SUF_Z, 0x1E, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpgt_oqss, ssecmp_32_insn, 4, SUF_Z, 0x1E, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpgtpd, ssecmp_128_insn, 3, SUF_Z, 0x0E, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpgtps, ssecmp_128_insn, 3, SUF_Z, 0x0E, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpgtsd, ssecmp_64_insn, 4, SUF_Z, 0x0E, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpgtss, ssecmp_32_insn, 4, SUF_Z, 0x0E, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmple_oqpd, ssecmp_128_insn, 3, SUF_Z, 0x12, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmple_oqps, ssecmp_128_insn, 3, SUF_Z, 0x12, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmple_oqsd, ssecmp_64_insn, 4, SUF_Z, 0x12, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmple_oqss, ssecmp_32_insn, 4, SUF_Z, 0x12, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmplepd, ssecmp_128_insn, 3, SUF_Z, 0x02, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpleps, ssecmp_128_insn, 3, SUF_Z, 0x02, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmplesd, ssecmp_64_insn, 4, SUF_Z, 0x02, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpless, ssecmp_32_insn, 4, SUF_Z, 0x02, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmplt_oqpd, ssecmp_128_insn, 3, SUF_Z, 0x11, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmplt_oqps, ssecmp_128_insn, 3, SUF_Z, 0x11, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmplt_oqsd, ssecmp_64_insn, 4, SUF_Z, 0x11, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmplt_oqss, ssecmp_32_insn, 4, SUF_Z, 0x11, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpltpd, ssecmp_128_insn, 3, SUF_Z, 0x01, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpltps, ssecmp_128_insn, 3, SUF_Z, 0x01, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpltsd, ssecmp_64_insn, 4, SUF_Z, 0x01, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpltss, ssecmp_32_insn, 4, SUF_Z, 0x01, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpneq_oqpd, ssecmp_128_insn, 3, SUF_Z, 0x0C, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpneq_oqps, ssecmp_128_insn, 3, SUF_Z, 0x0C, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpneq_oqsd, ssecmp_64_insn, 4, SUF_Z, 0x0C, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpneq_oqss, ssecmp_32_insn, 4, SUF_Z, 0x0C, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpneq_ospd, ssecmp_128_insn, 3, SUF_Z, 0x1C, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpneq_osps, ssecmp_128_insn, 3, SUF_Z, 0x1C, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpneq_ossd, ssecmp_64_insn, 4, SUF_Z, 0x1C, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpneq_osss, ssecmp_32_insn, 4, SUF_Z, 0x1C, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpneq_uspd, ssecmp_128_insn, 3, SUF_Z, 0x14, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpneq_usps, ssecmp_128_insn, 3, SUF_Z, 0x14, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpneq_ussd, ssecmp_64_insn, 4, SUF_Z, 0x14, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpneq_usss, ssecmp_32_insn, 4, SUF_Z, 0x14, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpneqpd, ssecmp_128_insn, 3, SUF_Z, 0x04, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpneqps, ssecmp_128_insn, 3, SUF_Z, 0x04, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpneqsd, ssecmp_64_insn, 4, SUF_Z, 0x04, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpneqss, ssecmp_32_insn, 4, SUF_Z, 0x04, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpnge_uqpd, ssecmp_128_insn, 3, SUF_Z, 0x19, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpnge_uqps, ssecmp_128_insn, 3, SUF_Z, 0x19, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpnge_uqsd, ssecmp_64_insn, 4, SUF_Z, 0x19, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpnge_uqss, ssecmp_32_insn, 4, SUF_Z, 0x19, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpngepd, ssecmp_128_insn, 3, SUF_Z, 0x09, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpngeps, ssecmp_128_insn, 3, SUF_Z, 0x09, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpngesd, ssecmp_64_insn, 4, SUF_Z, 0x09, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpngess, ssecmp_32_insn, 4, SUF_Z, 0x09, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpngt_uqpd, ssecmp_128_insn, 3, SUF_Z, 0x1A, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpngt_uqps, ssecmp_128_insn, 3, SUF_Z, 0x1A, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpngt_uqsd, ssecmp_64_insn, 4, SUF_Z, 0x1A, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpngt_uqss, ssecmp_32_insn, 4, SUF_Z, 0x1A, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpngtpd, ssecmp_128_insn, 3, SUF_Z, 0x0A, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpngtps, ssecmp_128_insn, 3, SUF_Z, 0x0A, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpngtsd, ssecmp_64_insn, 4, SUF_Z, 0x0A, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpngtss, ssecmp_32_insn, 4, SUF_Z, 0x0A, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpnle_uqpd, ssecmp_128_insn, 3, SUF_Z, 0x16, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpnle_uqps, ssecmp_128_insn, 3, SUF_Z, 0x16, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpnle_uqsd, ssecmp_64_insn, 4, SUF_Z, 0x16, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpnle_uqss, ssecmp_32_insn, 4, SUF_Z, 0x16, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpnlepd, ssecmp_128_insn, 3, SUF_Z, 0x06, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpnleps, ssecmp_128_insn, 3, SUF_Z, 0x06, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpnlesd, ssecmp_64_insn, 4, SUF_Z, 0x06, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpnless, ssecmp_32_insn, 4, SUF_Z, 0x06, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpnlt_uqpd, ssecmp_128_insn, 3, SUF_Z, 0x15, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpnlt_uqps, ssecmp_128_insn, 3, SUF_Z, 0x15, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpnlt_uqsd, ssecmp_64_insn, 4, SUF_Z, 0x15, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpnlt_uqss, ssecmp_32_insn, 4, SUF_Z, 0x15, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpnltpd, ssecmp_128_insn, 3, SUF_Z, 0x05, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpnltps, ssecmp_128_insn, 3, SUF_Z, 0x05, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpnltsd, ssecmp_64_insn, 4, SUF_Z, 0x05, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpnltss, ssecmp_32_insn, 4, SUF_Z, 0x05, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpord_spd, ssecmp_128_insn, 3, SUF_Z, 0x17, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpord_sps, ssecmp_128_insn, 3, SUF_Z, 0x17, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpord_ssd, ssecmp_64_insn, 4, SUF_Z, 0x17, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpord_sss, ssecmp_32_insn, 4, SUF_Z, 0x17, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpordpd, ssecmp_128_insn, 3, SUF_Z, 0x07, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpordps, ssecmp_128_insn, 3, SUF_Z, 0x07, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpordsd, ssecmp_64_insn, 4, SUF_Z, 0x07, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpordss, ssecmp_32_insn, 4, SUF_Z, 0x07, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmppd, xmm_xmm128_imm_256_insn, 3, SUF_Z, 0x66, 0xC2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpps, xmm_xmm128_imm_256_insn, 3, SUF_Z, 0x00, 0xC2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpsd, cmpsd_insn, 5, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpss, xmm_xmm32_imm_insn, 4, SUF_Z, 0xF3, 0xC2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmptrue_uspd, ssecmp_128_insn, 3, SUF_Z, 0x1F, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmptrue_usps, ssecmp_128_insn, 3, SUF_Z, 0x1F, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmptrue_ussd, ssecmp_64_insn, 4, SUF_Z, 0x1F, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmptrue_usss, ssecmp_32_insn, 4, SUF_Z, 0x1F, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmptruepd, ssecmp_128_insn, 3, SUF_Z, 0x0F, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmptrueps, ssecmp_128_insn, 3, SUF_Z, 0x0F, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmptruesd, ssecmp_64_insn, 4, SUF_Z, 0x0F, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmptruess, ssecmp_32_insn, 4, SUF_Z, 0x0F, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpunord_spd, ssecmp_128_insn, 3, SUF_Z, 0x13, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpunord_sps, ssecmp_128_insn, 3, SUF_Z, 0x13, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpunord_ssd, ssecmp_64_insn, 4, SUF_Z, 0x13, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpunord_sss, ssecmp_32_insn, 4, SUF_Z, 0x13, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpunordpd, ssecmp_128_insn, 3, SUF_Z, 0x03, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpunordps, ssecmp_128_insn, 3, SUF_Z, 0x03, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpunordsd, ssecmp_64_insn, 4, SUF_Z, 0x03, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcmpunordss, ssecmp_32_insn, 4, SUF_Z, 0x03, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcomisd, avx_xmm_xmm64_insn, 2, SUF_Z, 0x66, 0x2F, 0, ONLY_AVX, CPU_AVX, 0, 0 +vcomiss, avx_xmm_xmm32_insn, 2, SUF_Z, 0x00, 0x2F, 0, ONLY_AVX, CPU_AVX, 0, 0 +vcvtdq2pd, avx_cvt_xmm64_insn, 3, SUF_Z, 0xF3, 0xE6, 0, ONLY_AVX, CPU_AVX, 0, 0 +vcvtdq2ps, avx_xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x5B, 0, ONLY_AVX, CPU_AVX, 0, 0 +vcvtpd2dq, avx_cvt_xmm128_insn, 2, SUF_Z, 0xF2, 0xE6, 0, ONLY_AVX, CPU_AVX, 0, 0 +vcvtpd2ps, avx_cvt_xmm128_insn, 2, SUF_Z, 0x66, 0x5A, 0, ONLY_AVX, CPU_AVX, 0, 0 +vcvtph2ps, avx_cvtph2ps_insn, 4, SUF_Z, 0x66, 0x13, 0, ONLY_AVX, CPU_AVX, 0, 0 +vcvtps2dq, avx_xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x5B, 0, ONLY_AVX, CPU_AVX, 0, 0 +vcvtps2pd, avx_cvt_xmm64_insn, 3, SUF_Z, 0x00, 0x5A, 0, ONLY_AVX, CPU_AVX, 0, 0 +vcvtps2ph, avx_cvtps2ph_insn, 4, SUF_Z, 0x66, 0x1D, 0, ONLY_AVX, CPU_AVX, 0, 0 +vcvtsd2si, cvt_rx_xmm64_insn, 4, SUF_Z, 0xF2, 0x2D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcvtsd2ss, xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcvtsi2sd, cvt_xmm_rmx_insn, 6, SUF_Z, 0xF2, 0x2A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcvtsi2ss, cvt_xmm_rmx_insn, 6, SUF_Z, 0xF3, 0x2A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcvtss2sd, xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcvtss2si, cvt_rx_xmm32_insn, 4, SUF_Z, 0xF3, 0x2D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcvttpd2dq, avx_cvt_xmm128_insn, 2, SUF_Z, 0x66, 0xE6, 0, ONLY_AVX, CPU_AVX, 0, 0 +vcvttps2dq, avx_xmm_xmm128_insn, 2, SUF_Z, 0xF3, 0x5B, 0, ONLY_AVX, CPU_AVX, 0, 0 +vcvttsd2si, cvt_rx_xmm64_insn, 4, SUF_Z, 0xF2, 0x2C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vcvttss2si, cvt_rx_xmm32_insn, 4, SUF_Z, 0xF3, 0x2C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vdivpd, xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x5E, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vdivps, xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x5E, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vdivsd, xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5E, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vdivss, xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5E, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vdppd, sse4imm_insn, 2, SUF_Z, 0x41, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vdpps, sse4imm_256_insn, 4, SUF_Z, 0x40, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +verr, prot286_insn, 1, SUF_Z, 0x04, 0x00, 0, 0, CPU_286, CPU_Prot, 0 +verw, prot286_insn, 1, SUF_Z, 0x05, 0x00, 0, 0, CPU_286, CPU_Prot, 0 +vextractf128, vextractif128_insn, 1, SUF_Z, 0x19, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vextracti128, vextractif128_insn, 1, SUF_Z, 0x39, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vextractps, extractps_insn, 2, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vfmadd132pd, vfma_pd_insn, 2, SUF_Z, 0x98, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmadd132ps, vfma_ps_insn, 2, SUF_Z, 0x98, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmadd132sd, vfma_sd_insn, 2, SUF_Z, 0x99, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmadd132ss, vfma_ss_insn, 2, SUF_Z, 0x99, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmadd213pd, vfma_pd_insn, 2, SUF_Z, 0xA8, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmadd213ps, vfma_ps_insn, 2, SUF_Z, 0xA8, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmadd213sd, vfma_sd_insn, 2, SUF_Z, 0xA9, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmadd213ss, vfma_ss_insn, 2, SUF_Z, 0xA9, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmadd231pd, vfma_pd_insn, 2, SUF_Z, 0xB8, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmadd231ps, vfma_ps_insn, 2, SUF_Z, 0xB8, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmadd231sd, vfma_sd_insn, 2, SUF_Z, 0xB9, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmadd231ss, vfma_ss_insn, 2, SUF_Z, 0xB9, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmaddpd, fma_128_256_insn, 4, SUF_Z, 0x69, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0 +vfmaddps, fma_128_256_insn, 4, SUF_Z, 0x68, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0 +vfmaddsd, fma_128_m64_insn, 3, SUF_Z, 0x6B, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0 +vfmaddss, fma_128_m32_insn, 3, SUF_Z, 0x6A, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0 +vfmaddsub132pd, vfma_pd_insn, 2, SUF_Z, 0x96, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmaddsub132ps, vfma_ps_insn, 2, SUF_Z, 0x96, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmaddsub213pd, vfma_pd_insn, 2, SUF_Z, 0xA6, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmaddsub213ps, vfma_ps_insn, 2, SUF_Z, 0xA6, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmaddsub231pd, vfma_pd_insn, 2, SUF_Z, 0xB6, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmaddsub231ps, vfma_ps_insn, 2, SUF_Z, 0xB6, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmaddsubpd, fma_128_256_insn, 4, SUF_Z, 0x5D, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0 +vfmaddsubps, fma_128_256_insn, 4, SUF_Z, 0x5C, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0 +vfmsub132pd, vfma_pd_insn, 2, SUF_Z, 0x9A, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmsub132ps, vfma_ps_insn, 2, SUF_Z, 0x9A, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmsub132sd, vfma_sd_insn, 2, SUF_Z, 0x9B, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmsub132ss, vfma_ss_insn, 2, SUF_Z, 0x9B, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmsub213pd, vfma_pd_insn, 2, SUF_Z, 0xAA, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmsub213ps, vfma_ps_insn, 2, SUF_Z, 0xAA, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmsub213sd, vfma_sd_insn, 2, SUF_Z, 0xAB, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmsub213ss, vfma_ss_insn, 2, SUF_Z, 0xAB, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmsub231pd, vfma_pd_insn, 2, SUF_Z, 0xBA, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmsub231ps, vfma_ps_insn, 2, SUF_Z, 0xBA, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmsub231sd, vfma_sd_insn, 2, SUF_Z, 0xBB, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmsub231ss, vfma_ss_insn, 2, SUF_Z, 0xBB, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmsubadd132pd, vfma_pd_insn, 2, SUF_Z, 0x97, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmsubadd132ps, vfma_ps_insn, 2, SUF_Z, 0x97, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmsubadd213pd, vfma_pd_insn, 2, SUF_Z, 0xA7, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmsubadd213ps, vfma_ps_insn, 2, SUF_Z, 0xA7, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmsubadd231pd, vfma_pd_insn, 2, SUF_Z, 0xB7, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmsubadd231ps, vfma_ps_insn, 2, SUF_Z, 0xB7, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfmsubaddpd, fma_128_256_insn, 4, SUF_Z, 0x5F, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0 +vfmsubaddps, fma_128_256_insn, 4, SUF_Z, 0x5E, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0 +vfmsubpd, fma_128_256_insn, 4, SUF_Z, 0x6D, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0 +vfmsubps, fma_128_256_insn, 4, SUF_Z, 0x6C, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0 +vfmsubsd, fma_128_m64_insn, 3, SUF_Z, 0x6F, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0 +vfmsubss, fma_128_m32_insn, 3, SUF_Z, 0x6E, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0 +vfnmadd132pd, vfma_pd_insn, 2, SUF_Z, 0x9C, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmadd132ps, vfma_ps_insn, 2, SUF_Z, 0x9C, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmadd132sd, vfma_sd_insn, 2, SUF_Z, 0x9D, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmadd132ss, vfma_ss_insn, 2, SUF_Z, 0x9D, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmadd213pd, vfma_pd_insn, 2, SUF_Z, 0xAC, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmadd213ps, vfma_ps_insn, 2, SUF_Z, 0xAC, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmadd213sd, vfma_sd_insn, 2, SUF_Z, 0xAD, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmadd213ss, vfma_ss_insn, 2, SUF_Z, 0xAD, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmadd231pd, vfma_pd_insn, 2, SUF_Z, 0xBC, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmadd231ps, vfma_ps_insn, 2, SUF_Z, 0xBC, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmadd231sd, vfma_sd_insn, 2, SUF_Z, 0xBD, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmadd231ss, vfma_ss_insn, 2, SUF_Z, 0xBD, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmaddpd, fma_128_256_insn, 4, SUF_Z, 0x79, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0 +vfnmaddps, fma_128_256_insn, 4, SUF_Z, 0x78, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0 +vfnmaddsd, fma_128_m64_insn, 3, SUF_Z, 0x7B, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0 +vfnmaddss, fma_128_m32_insn, 3, SUF_Z, 0x7A, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0 +vfnmsub132pd, vfma_pd_insn, 2, SUF_Z, 0x9E, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmsub132ps, vfma_ps_insn, 2, SUF_Z, 0x9E, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmsub132sd, vfma_sd_insn, 2, SUF_Z, 0x9F, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmsub132ss, vfma_ss_insn, 2, SUF_Z, 0x9F, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmsub213pd, vfma_pd_insn, 2, SUF_Z, 0xAE, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmsub213ps, vfma_ps_insn, 2, SUF_Z, 0xAE, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmsub213sd, vfma_sd_insn, 2, SUF_Z, 0xAF, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmsub213ss, vfma_ss_insn, 2, SUF_Z, 0xAF, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmsub231pd, vfma_pd_insn, 2, SUF_Z, 0xBE, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmsub231ps, vfma_ps_insn, 2, SUF_Z, 0xBE, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmsub231sd, vfma_sd_insn, 2, SUF_Z, 0xBF, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmsub231ss, vfma_ss_insn, 2, SUF_Z, 0xBF, 0, 0, ONLY_AVX, CPU_FMA, 0, 0 +vfnmsubpd, fma_128_256_insn, 4, SUF_Z, 0x7D, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0 +vfnmsubps, fma_128_256_insn, 4, SUF_Z, 0x7C, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0 +vfnmsubsd, fma_128_m64_insn, 3, SUF_Z, 0x7F, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0 +vfnmsubss, fma_128_m32_insn, 3, SUF_Z, 0x7E, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0 +vfrczpd, vfrc_pdps_insn, 2, SUF_Z, 0x01, 0, 0, 0, CPU_XOP, 0, 0 +vfrczps, vfrc_pdps_insn, 2, SUF_Z, 0x00, 0, 0, 0, CPU_XOP, 0, 0 +vfrczsd, vfrczsd_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_XOP, 0, 0 +vfrczss, vfrczss_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_XOP, 0, 0 +vgatherdpd, gather_64x_64x_insn, 2, SUF_Z, 0x92, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vgatherdps, gather_32x_32y_insn, 2, SUF_Z, 0x92, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vgatherqpd, gather_64x_64y_insn, 2, SUF_Z, 0x93, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vgatherqps, gather_32x_32y_128_insn, 2, SUF_Z, 0x93, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vhaddpd, xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x7C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vhaddps, xmm_xmm128_256_insn, 4, SUF_Z, 0xF2, 0x7C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vhsubpd, xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x7D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vhsubps, xmm_xmm128_256_insn, 4, SUF_Z, 0xF2, 0x7D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vinsertf128, vinsertif128_insn, 1, SUF_Z, 0x18, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vinserti128, vinsertif128_insn, 1, SUF_Z, 0x38, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vinsertps, insertps_insn, 4, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vlddqu, lddqu_insn, 2, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vldmxcsr, ldstmxcsr_insn, 1, SUF_Z, 0x02, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vmaskmovdqu, maskmovdqu_insn, 1, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vmaskmovpd, vmaskmov_insn, 4, SUF_Z, 0x2D, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vmaskmovps, vmaskmov_insn, 4, SUF_Z, 0x2C, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vmaxpd, xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x5F, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vmaxps, xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x5F, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vmaxsd, xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5F, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vmaxss, xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5F, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vmcall, threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xC1, 0, CPU_P4, 0, 0 +vmclear, vmxthreebytemem_insn, 1, SUF_Z, 0x66, 0, 0, 0, CPU_P4, 0, 0 +vminpd, xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x5D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vminps, xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x5D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vminsd, xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vminss, xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vmlaunch, threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xC2, 0, CPU_P4, 0, 0 +vmload, svm_rax_insn, 2, SUF_Z, 0xDA, 0, 0, 0, CPU_SVM, 0, 0 +vmmcall, threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xD9, 0, CPU_SVM, 0, 0 +vmovapd, movau_insn, 6, SUF_Z, 0x66, 0x28, 0x01, ONLY_AVX, CPU_AVX, 0, 0 +vmovaps, movau_insn, 6, SUF_Z, 0x00, 0x28, 0x01, ONLY_AVX, CPU_AVX, 0, 0 +vmovd, vmovd_insn, 2, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_386, CPU_AVX, 0 +vmovddup, vmovddup_insn, 3, SUF_Z, 0xF2, 0x12, 0, ONLY_AVX, CPU_AVX, 0, 0 +vmovdqa, movau_insn, 6, SUF_Z, 0x66, 0x6F, 0x10, ONLY_AVX, CPU_AVX, 0, 0 +vmovdqu, movau_insn, 6, SUF_Z, 0xF3, 0x6F, 0x10, ONLY_AVX, CPU_AVX, 0, 0 +vmovhlps, movhllhps_insn, 2, SUF_Z, 0x12, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vmovhpd, movhlp_insn, 3, SUF_Z, 0x66, 0x16, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vmovhps, movhlp_insn, 3, SUF_Z, 0x00, 0x16, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vmovlhps, movhllhps_insn, 2, SUF_Z, 0x16, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vmovlpd, movhlp_insn, 3, SUF_Z, 0x66, 0x12, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vmovlps, movhlp_insn, 3, SUF_Z, 0x00, 0x12, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vmovmskpd, movmsk_insn, 4, SUF_Z, 0x66, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vmovmskps, movmsk_insn, 4, SUF_Z, 0x00, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vmovntdq, movnt_insn, 2, SUF_Z, 0x66, 0xE7, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vmovntdqa, movntdqa_insn, 2, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vmovntpd, movnt_insn, 2, SUF_Z, 0x66, 0x2B, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vmovntps, movnt_insn, 2, SUF_Z, 0x00, 0x2B, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vmovq, vmovq_insn, 5, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vmovsd, movsd_insn, 5, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vmovshdup, avx_xmm_xmm128_insn, 2, SUF_Z, 0xF3, 0x16, 0, ONLY_AVX, CPU_AVX, 0, 0 +vmovsldup, avx_xmm_xmm128_insn, 2, SUF_Z, 0xF3, 0x12, 0, ONLY_AVX, CPU_AVX, 0, 0 +vmovss, movss_insn, 4, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vmovupd, movau_insn, 6, SUF_Z, 0x66, 0x10, 0x01, ONLY_AVX, CPU_AVX, 0, 0 +vmovups, movau_insn, 6, SUF_Z, 0x00, 0x10, 0x01, ONLY_AVX, CPU_AVX, 0, 0 +vmpsadbw, sse4imm_256avx2_insn, 4, SUF_Z, 0x42, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vmptrld, vmxtwobytemem_insn, 1, SUF_Z, 0x06, 0, 0, 0, CPU_P4, 0, 0 +vmptrst, vmxtwobytemem_insn, 1, SUF_Z, 0x07, 0, 0, 0, CPU_P4, 0, 0 +vmread, vmxmemrd_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_P4, 0, 0 +vmresume, threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xC3, 0, CPU_P4, 0, 0 +vmrun, svm_rax_insn, 2, SUF_Z, 0xD8, 0, 0, 0, CPU_SVM, 0, 0 +vmsave, svm_rax_insn, 2, SUF_Z, 0xDB, 0, 0, 0, CPU_SVM, 0, 0 +vmulpd, xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x59, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vmulps, xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x59, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vmulsd, xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x59, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vmulss, xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x59, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vmwrite, vmxmemwr_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_P4, 0, 0 +vmxoff, threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xC4, 0, CPU_P4, 0, 0 +vmxon, vmxthreebytemem_insn, 1, SUF_Z, 0xF3, 0, 0, 0, CPU_P4, 0, 0 +vorpd, xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x56, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vorps, xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x56, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpabsb, avx2_ssse3_2op_insn, 2, SUF_Z, 0x1C, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpabsd, avx2_ssse3_2op_insn, 2, SUF_Z, 0x1E, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpabsw, avx2_ssse3_2op_insn, 2, SUF_Z, 0x1D, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpackssdw, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x6B, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpacksswb, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x63, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpackusdw, ssse3_insn, 5, SUF_Z, 0x2B, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpackuswb, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x67, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpaddb, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xFC, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpaddd, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xFE, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpaddq, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xD4, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpaddsb, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xEC, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpaddsw, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xED, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpaddusb, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xDC, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpaddusw, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xDD, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpaddw, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xFD, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpalignr, sse4imm_256avx2_insn, 4, SUF_Z, 0x0F, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpand, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xDB, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpandn, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xDF, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpavgb, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xE0, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpavgw, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xE3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpblendd, vex_66_0F3A_imm8_avx2_insn, 2, SUF_Z, 0x02, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpblendvb, avx2_sse4xmm0_insn, 2, SUF_Z, 0x4C, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpblendw, sse4imm_256avx2_insn, 4, SUF_Z, 0x0E, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpbroadcastb, vpbroadcastb_avx2_insn, 4, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpbroadcastd, vpbroadcastd_avx2_insn, 4, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpbroadcastq, vpbroadcastq_avx2_insn, 4, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpbroadcastw, vpbroadcastw_avx2_insn, 4, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpclmulhqhqdq, pclmulqdq_fixed_insn, 2, SUF_Z, 0x11, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpclmulhqlqdq, pclmulqdq_fixed_insn, 2, SUF_Z, 0x01, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpclmullqhqdq, pclmulqdq_fixed_insn, 2, SUF_Z, 0x10, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpclmullqlqdq, pclmulqdq_fixed_insn, 2, SUF_Z, 0x00, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpclmulqdq, pclmulqdq_insn, 2, SUF_Z, 0x3A, 0x44, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpcmov, vpcmov_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_XOP, 0, 0 +vpcmpeqb, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x74, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpcmpeqd, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x76, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpcmpeqq, ssse3_insn, 5, SUF_Z, 0x29, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpcmpeqw, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x75, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpcmpestri, sse4pcmpstr_insn, 1, SUF_Z, 0x61, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpcmpestrm, sse4pcmpstr_insn, 1, SUF_Z, 0x60, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpcmpgtb, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x64, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpcmpgtd, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpcmpgtq, ssse3_insn, 5, SUF_Z, 0x37, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpcmpgtw, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x65, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpcmpistri, sse4pcmpstr_insn, 1, SUF_Z, 0x63, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpcmpistrm, sse4pcmpstr_insn, 1, SUF_Z, 0x62, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpcomb, vpcom_imm_insn, 1, SUF_Z, 0xCC, 0, 0, 0, CPU_XOP, 0, 0 +vpcomd, vpcom_imm_insn, 1, SUF_Z, 0xCE, 0, 0, 0, CPU_XOP, 0, 0 +vpcomeqb, vpcom_insn, 1, SUF_Z, 0xCC, 0x04, 0, 0, CPU_XOP, 0, 0 +vpcomeqd, vpcom_insn, 1, SUF_Z, 0xCE, 0x04, 0, 0, CPU_XOP, 0, 0 +vpcomeqq, vpcom_insn, 1, SUF_Z, 0xCF, 0x04, 0, 0, CPU_XOP, 0, 0 +vpcomequb, vpcom_insn, 1, SUF_Z, 0xEC, 0x04, 0, 0, CPU_XOP, 0, 0 +vpcomequd, vpcom_insn, 1, SUF_Z, 0xEE, 0x04, 0, 0, CPU_XOP, 0, 0 +vpcomequq, vpcom_insn, 1, SUF_Z, 0xEF, 0x04, 0, 0, CPU_XOP, 0, 0 +vpcomequw, vpcom_insn, 1, SUF_Z, 0xED, 0x04, 0, 0, CPU_XOP, 0, 0 +vpcomeqw, vpcom_insn, 1, SUF_Z, 0xCD, 0x04, 0, 0, CPU_XOP, 0, 0 +vpcomfalseb, vpcom_insn, 1, SUF_Z, 0xCC, 0x06, 0, 0, CPU_XOP, 0, 0 +vpcomfalsed, vpcom_insn, 1, SUF_Z, 0xCE, 0x06, 0, 0, CPU_XOP, 0, 0 +vpcomfalseq, vpcom_insn, 1, SUF_Z, 0xCF, 0x06, 0, 0, CPU_XOP, 0, 0 +vpcomfalseub, vpcom_insn, 1, SUF_Z, 0xEC, 0x06, 0, 0, CPU_XOP, 0, 0 +vpcomfalseud, vpcom_insn, 1, SUF_Z, 0xEE, 0x06, 0, 0, CPU_XOP, 0, 0 +vpcomfalseuq, vpcom_insn, 1, SUF_Z, 0xEF, 0x06, 0, 0, CPU_XOP, 0, 0 +vpcomfalseuw, vpcom_insn, 1, SUF_Z, 0xED, 0x06, 0, 0, CPU_XOP, 0, 0 +vpcomfalsew, vpcom_insn, 1, SUF_Z, 0xCD, 0x06, 0, 0, CPU_XOP, 0, 0 +vpcomgeb, vpcom_insn, 1, SUF_Z, 0xCC, 0x03, 0, 0, CPU_XOP, 0, 0 +vpcomged, vpcom_insn, 1, SUF_Z, 0xCE, 0x03, 0, 0, CPU_XOP, 0, 0 +vpcomgeq, vpcom_insn, 1, SUF_Z, 0xCF, 0x03, 0, 0, CPU_XOP, 0, 0 +vpcomgeub, vpcom_insn, 1, SUF_Z, 0xEC, 0x03, 0, 0, CPU_XOP, 0, 0 +vpcomgeud, vpcom_insn, 1, SUF_Z, 0xEE, 0x03, 0, 0, CPU_XOP, 0, 0 +vpcomgeuq, vpcom_insn, 1, SUF_Z, 0xEF, 0x03, 0, 0, CPU_XOP, 0, 0 +vpcomgeuw, vpcom_insn, 1, SUF_Z, 0xED, 0x03, 0, 0, CPU_XOP, 0, 0 +vpcomgew, vpcom_insn, 1, SUF_Z, 0xCD, 0x03, 0, 0, CPU_XOP, 0, 0 +vpcomgtb, vpcom_insn, 1, SUF_Z, 0xCC, 0x02, 0, 0, CPU_XOP, 0, 0 +vpcomgtd, vpcom_insn, 1, SUF_Z, 0xCE, 0x02, 0, 0, CPU_XOP, 0, 0 +vpcomgtq, vpcom_insn, 1, SUF_Z, 0xCF, 0x02, 0, 0, CPU_XOP, 0, 0 +vpcomgtub, vpcom_insn, 1, SUF_Z, 0xEC, 0x02, 0, 0, CPU_XOP, 0, 0 +vpcomgtud, vpcom_insn, 1, SUF_Z, 0xEE, 0x02, 0, 0, CPU_XOP, 0, 0 +vpcomgtuq, vpcom_insn, 1, SUF_Z, 0xEF, 0x02, 0, 0, CPU_XOP, 0, 0 +vpcomgtuw, vpcom_insn, 1, SUF_Z, 0xED, 0x02, 0, 0, CPU_XOP, 0, 0 +vpcomgtw, vpcom_insn, 1, SUF_Z, 0xCD, 0x02, 0, 0, CPU_XOP, 0, 0 +vpcomleb, vpcom_insn, 1, SUF_Z, 0xCC, 0x01, 0, 0, CPU_XOP, 0, 0 +vpcomled, vpcom_insn, 1, SUF_Z, 0xCE, 0x01, 0, 0, CPU_XOP, 0, 0 +vpcomleq, vpcom_insn, 1, SUF_Z, 0xCF, 0x01, 0, 0, CPU_XOP, 0, 0 +vpcomleub, vpcom_insn, 1, SUF_Z, 0xEC, 0x01, 0, 0, CPU_XOP, 0, 0 +vpcomleud, vpcom_insn, 1, SUF_Z, 0xEE, 0x01, 0, 0, CPU_XOP, 0, 0 +vpcomleuq, vpcom_insn, 1, SUF_Z, 0xEF, 0x01, 0, 0, CPU_XOP, 0, 0 +vpcomleuw, vpcom_insn, 1, SUF_Z, 0xED, 0x01, 0, 0, CPU_XOP, 0, 0 +vpcomlew, vpcom_insn, 1, SUF_Z, 0xCD, 0x01, 0, 0, CPU_XOP, 0, 0 +vpcomltb, vpcom_insn, 1, SUF_Z, 0xCC, 0x00, 0, 0, CPU_XOP, 0, 0 +vpcomltd, vpcom_insn, 1, SUF_Z, 0xCE, 0x00, 0, 0, CPU_XOP, 0, 0 +vpcomltq, vpcom_insn, 1, SUF_Z, 0xCF, 0x00, 0, 0, CPU_XOP, 0, 0 +vpcomltub, vpcom_insn, 1, SUF_Z, 0xEC, 0x00, 0, 0, CPU_XOP, 0, 0 +vpcomltud, vpcom_insn, 1, SUF_Z, 0xEE, 0x00, 0, 0, CPU_XOP, 0, 0 +vpcomltuq, vpcom_insn, 1, SUF_Z, 0xEF, 0x00, 0, 0, CPU_XOP, 0, 0 +vpcomltuw, vpcom_insn, 1, SUF_Z, 0xED, 0x00, 0, 0, CPU_XOP, 0, 0 +vpcomltw, vpcom_insn, 1, SUF_Z, 0xCD, 0x00, 0, 0, CPU_XOP, 0, 0 +vpcomneb, vpcom_insn, 1, SUF_Z, 0xCC, 0x05, 0, 0, CPU_XOP, 0, 0 +vpcomned, vpcom_insn, 1, SUF_Z, 0xCE, 0x05, 0, 0, CPU_XOP, 0, 0 +vpcomneq, vpcom_insn, 1, SUF_Z, 0xCF, 0x05, 0, 0, CPU_XOP, 0, 0 +vpcomneqb, vpcom_insn, 1, SUF_Z, 0xCC, 0x05, 0, 0, CPU_XOP, 0, 0 +vpcomneqd, vpcom_insn, 1, SUF_Z, 0xCE, 0x05, 0, 0, CPU_XOP, 0, 0 +vpcomneqq, vpcom_insn, 1, SUF_Z, 0xCF, 0x05, 0, 0, CPU_XOP, 0, 0 +vpcomnequb, vpcom_insn, 1, SUF_Z, 0xEC, 0x05, 0, 0, CPU_XOP, 0, 0 +vpcomnequd, vpcom_insn, 1, SUF_Z, 0xEE, 0x05, 0, 0, CPU_XOP, 0, 0 +vpcomnequq, vpcom_insn, 1, SUF_Z, 0xEF, 0x05, 0, 0, CPU_XOP, 0, 0 +vpcomnequw, vpcom_insn, 1, SUF_Z, 0xED, 0x05, 0, 0, CPU_XOP, 0, 0 +vpcomneqw, vpcom_insn, 1, SUF_Z, 0xCD, 0x05, 0, 0, CPU_XOP, 0, 0 +vpcomneub, vpcom_insn, 1, SUF_Z, 0xEC, 0x05, 0, 0, CPU_XOP, 0, 0 +vpcomneud, vpcom_insn, 1, SUF_Z, 0xEE, 0x05, 0, 0, CPU_XOP, 0, 0 +vpcomneuq, vpcom_insn, 1, SUF_Z, 0xEF, 0x05, 0, 0, CPU_XOP, 0, 0 +vpcomneuw, vpcom_insn, 1, SUF_Z, 0xED, 0x05, 0, 0, CPU_XOP, 0, 0 +vpcomnew, vpcom_insn, 1, SUF_Z, 0xCD, 0x05, 0, 0, CPU_XOP, 0, 0 +vpcomq, vpcom_imm_insn, 1, SUF_Z, 0xCF, 0, 0, 0, CPU_XOP, 0, 0 +vpcomtrueb, vpcom_insn, 1, SUF_Z, 0xCC, 0x07, 0, 0, CPU_XOP, 0, 0 +vpcomtrued, vpcom_insn, 1, SUF_Z, 0xCE, 0x07, 0, 0, CPU_XOP, 0, 0 +vpcomtrueq, vpcom_insn, 1, SUF_Z, 0xCF, 0x07, 0, 0, CPU_XOP, 0, 0 +vpcomtrueub, vpcom_insn, 1, SUF_Z, 0xEC, 0x07, 0, 0, CPU_XOP, 0, 0 +vpcomtrueud, vpcom_insn, 1, SUF_Z, 0xEE, 0x07, 0, 0, CPU_XOP, 0, 0 +vpcomtrueuq, vpcom_insn, 1, SUF_Z, 0xEF, 0x07, 0, 0, CPU_XOP, 0, 0 +vpcomtrueuw, vpcom_insn, 1, SUF_Z, 0xED, 0x07, 0, 0, CPU_XOP, 0, 0 +vpcomtruew, vpcom_insn, 1, SUF_Z, 0xCD, 0x07, 0, 0, CPU_XOP, 0, 0 +vpcomub, vpcom_imm_insn, 1, SUF_Z, 0xEC, 0, 0, 0, CPU_XOP, 0, 0 +vpcomud, vpcom_imm_insn, 1, SUF_Z, 0xEE, 0, 0, 0, CPU_XOP, 0, 0 +vpcomuq, vpcom_imm_insn, 1, SUF_Z, 0xEF, 0, 0, 0, CPU_XOP, 0, 0 +vpcomuw, vpcom_imm_insn, 1, SUF_Z, 0xED, 0, 0, 0, CPU_XOP, 0, 0 +vpcomw, vpcom_imm_insn, 1, SUF_Z, 0xCD, 0, 0, 0, CPU_XOP, 0, 0 +vperm2f128, vperm2f128_insn, 1, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vperm2i128, vperm2i128_avx2_insn, 1, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpermd, vperm_var_avx2_insn, 1, SUF_Z, 0x36, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpermilpd, vpermil_insn, 4, SUF_Z, 0x05, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpermilps, vpermil_insn, 4, SUF_Z, 0x04, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpermpd, vperm_imm_avx2_insn, 1, SUF_Z, 0x01, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpermps, vperm_var_avx2_insn, 1, SUF_Z, 0x16, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpermq, vperm_imm_avx2_insn, 1, SUF_Z, 0x00, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpextrb, pextrb_insn, 3, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpextrd, pextrd_insn, 1, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpextrq, pextrq_insn, 1, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpextrw, pextrw_insn, 7, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpgatherdd, gather_32x_32y_insn, 2, SUF_Z, 0x90, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpgatherdq, gather_64x_64x_insn, 2, SUF_Z, 0x90, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpgatherqd, gather_32x_32y_128_insn, 2, SUF_Z, 0x91, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpgatherqq, gather_64x_64y_insn, 2, SUF_Z, 0x91, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vphaddbd, vphaddsub_insn, 1, SUF_Z, 0xC2, 0, 0, 0, CPU_XOP, 0, 0 +vphaddbq, vphaddsub_insn, 1, SUF_Z, 0xC3, 0, 0, 0, CPU_XOP, 0, 0 +vphaddbw, vphaddsub_insn, 1, SUF_Z, 0xC1, 0, 0, 0, CPU_XOP, 0, 0 +vphaddd, ssse3_insn, 5, SUF_Z, 0x02, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vphadddq, vphaddsub_insn, 1, SUF_Z, 0xCB, 0, 0, 0, CPU_XOP, 0, 0 +vphaddsw, ssse3_insn, 5, SUF_Z, 0x03, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vphaddubd, vphaddsub_insn, 1, SUF_Z, 0xD2, 0, 0, 0, CPU_XOP, 0, 0 +vphaddubq, vphaddsub_insn, 1, SUF_Z, 0xD3, 0, 0, 0, CPU_XOP, 0, 0 +vphaddubw, vphaddsub_insn, 1, SUF_Z, 0xD1, 0, 0, 0, CPU_XOP, 0, 0 +vphaddudq, vphaddsub_insn, 1, SUF_Z, 0xDB, 0, 0, 0, CPU_XOP, 0, 0 +vphadduwd, vphaddsub_insn, 1, SUF_Z, 0xD6, 0, 0, 0, CPU_XOP, 0, 0 +vphadduwq, vphaddsub_insn, 1, SUF_Z, 0xD7, 0, 0, 0, CPU_XOP, 0, 0 +vphaddw, ssse3_insn, 5, SUF_Z, 0x01, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vphaddwd, vphaddsub_insn, 1, SUF_Z, 0xC6, 0, 0, 0, CPU_XOP, 0, 0 +vphaddwq, vphaddsub_insn, 1, SUF_Z, 0xC7, 0, 0, 0, CPU_XOP, 0, 0 +vphminposuw, avx_ssse3_2op_insn, 1, SUF_Z, 0x41, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vphsubbw, vphaddsub_insn, 1, SUF_Z, 0xE1, 0, 0, 0, CPU_XOP, 0, 0 +vphsubd, ssse3_insn, 5, SUF_Z, 0x06, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vphsubdq, vphaddsub_insn, 1, SUF_Z, 0xE3, 0, 0, 0, CPU_XOP, 0, 0 +vphsubsw, ssse3_insn, 5, SUF_Z, 0x07, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vphsubw, ssse3_insn, 5, SUF_Z, 0x05, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vphsubwd, vphaddsub_insn, 1, SUF_Z, 0xE2, 0, 0, 0, CPU_XOP, 0, 0 +vpinsrb, pinsrb_insn, 4, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpinsrd, pinsrd_insn, 2, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpinsrq, pinsrq_insn, 2, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpinsrw, pinsrw_insn, 9, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmacsdd, vpma_insn, 1, SUF_Z, 0x9E, 0, 0, 0, CPU_XOP, 0, 0 +vpmacsdqh, vpma_insn, 1, SUF_Z, 0x9F, 0, 0, 0, CPU_XOP, 0, 0 +vpmacsdql, vpma_insn, 1, SUF_Z, 0x97, 0, 0, 0, CPU_XOP, 0, 0 +vpmacssdd, vpma_insn, 1, SUF_Z, 0x8E, 0, 0, 0, CPU_XOP, 0, 0 +vpmacssdqh, vpma_insn, 1, SUF_Z, 0x8F, 0, 0, 0, CPU_XOP, 0, 0 +vpmacssdql, vpma_insn, 1, SUF_Z, 0x87, 0, 0, 0, CPU_XOP, 0, 0 +vpmacsswd, vpma_insn, 1, SUF_Z, 0x86, 0, 0, 0, CPU_XOP, 0, 0 +vpmacssww, vpma_insn, 1, SUF_Z, 0x85, 0, 0, 0, CPU_XOP, 0, 0 +vpmacswd, vpma_insn, 1, SUF_Z, 0x96, 0, 0, 0, CPU_XOP, 0, 0 +vpmacsww, vpma_insn, 1, SUF_Z, 0x95, 0, 0, 0, CPU_XOP, 0, 0 +vpmadcsswd, vpma_insn, 1, SUF_Z, 0xA6, 0, 0, 0, CPU_XOP, 0, 0 +vpmadcswd, vpma_insn, 1, SUF_Z, 0xB6, 0, 0, 0, CPU_XOP, 0, 0 +vpmaddubsw, ssse3_insn, 5, SUF_Z, 0x04, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmaddwd, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xF5, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpmaskmovd, vmaskmov_insn, 4, SUF_Z, 0x8C, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpmaskmovq, vmaskmov_vexw1_avx2_insn, 4, SUF_Z, 0x8C, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpmaxsb, ssse3_insn, 5, SUF_Z, 0x3C, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmaxsd, ssse3_insn, 5, SUF_Z, 0x3D, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmaxsw, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xEE, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpmaxub, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xDE, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpmaxud, ssse3_insn, 5, SUF_Z, 0x3F, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmaxuw, ssse3_insn, 5, SUF_Z, 0x3E, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpminsb, ssse3_insn, 5, SUF_Z, 0x38, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpminsd, ssse3_insn, 5, SUF_Z, 0x39, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpminsw, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xEA, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpminub, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xDA, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpminud, ssse3_insn, 5, SUF_Z, 0x3B, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpminuw, ssse3_insn, 5, SUF_Z, 0x3A, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmovmskb, pmovmskb_insn, 6, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmovsxbd, sse4m32_insn, 4, SUF_Z, 0x21, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmovsxbq, sse4m16_insn, 4, SUF_Z, 0x22, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmovsxbw, sse4m64_insn, 4, SUF_Z, 0x20, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmovsxdq, sse4m64_insn, 4, SUF_Z, 0x25, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmovsxwd, sse4m64_insn, 4, SUF_Z, 0x23, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmovsxwq, sse4m32_insn, 4, SUF_Z, 0x24, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmovzxbd, sse4m32_insn, 4, SUF_Z, 0x31, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmovzxbq, sse4m16_insn, 4, SUF_Z, 0x32, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmovzxbw, sse4m64_insn, 4, SUF_Z, 0x30, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmovzxdq, sse4m64_insn, 4, SUF_Z, 0x35, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmovzxwd, sse4m64_insn, 4, SUF_Z, 0x33, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmovzxwq, sse4m32_insn, 4, SUF_Z, 0x34, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmuldq, ssse3_insn, 5, SUF_Z, 0x28, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmulhrsw, ssse3_insn, 5, SUF_Z, 0x0B, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmulhuw, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xE4, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpmulhw, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xE5, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpmulld, ssse3_insn, 5, SUF_Z, 0x40, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpmullw, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xD5, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpmuludq, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xF4, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpor, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xEB, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpperm, vpperm_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_XOP, 0, 0 +vprotb, vprot_insn, 3, SUF_Z, 0x00, 0, 0, 0, CPU_XOP, 0, 0 +vprotd, vprot_insn, 3, SUF_Z, 0x02, 0, 0, 0, CPU_XOP, 0, 0 +vprotq, vprot_insn, 3, SUF_Z, 0x03, 0, 0, 0, CPU_XOP, 0, 0 +vprotw, vprot_insn, 3, SUF_Z, 0x01, 0, 0, 0, CPU_XOP, 0, 0 +vpsadbw, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xF6, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpshab, amd_vpshift_insn, 2, SUF_Z, 0x98, 0, 0, 0, CPU_XOP, 0, 0 +vpshad, amd_vpshift_insn, 2, SUF_Z, 0x9A, 0, 0, 0, CPU_XOP, 0, 0 +vpshaq, amd_vpshift_insn, 2, SUF_Z, 0x9B, 0, 0, 0, CPU_XOP, 0, 0 +vpshaw, amd_vpshift_insn, 2, SUF_Z, 0x99, 0, 0, 0, CPU_XOP, 0, 0 +vpshlb, amd_vpshift_insn, 2, SUF_Z, 0x94, 0, 0, 0, CPU_XOP, 0, 0 +vpshld, amd_vpshift_insn, 2, SUF_Z, 0x96, 0, 0, 0, CPU_XOP, 0, 0 +vpshlq, amd_vpshift_insn, 2, SUF_Z, 0x97, 0, 0, 0, CPU_XOP, 0, 0 +vpshlw, amd_vpshift_insn, 2, SUF_Z, 0x95, 0, 0, 0, CPU_XOP, 0, 0 +vpshufb, ssse3_insn, 5, SUF_Z, 0x00, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpshufd, xmm_xmm128_imm_256avx2_insn, 2, SUF_Z, 0x66, 0x70, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpshufhw, xmm_xmm128_imm_256avx2_insn, 2, SUF_Z, 0xF3, 0x70, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpshuflw, xmm_xmm128_imm_256avx2_insn, 2, SUF_Z, 0xF2, 0x70, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpsignb, ssse3_insn, 5, SUF_Z, 0x08, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpsignd, ssse3_insn, 5, SUF_Z, 0x0A, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpsignw, ssse3_insn, 5, SUF_Z, 0x09, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpslld, vpshift_insn, 8, SUF_Z, 0xF2, 0x72, 0x06, ONLY_AVX, CPU_AVX, 0, 0 +vpslldq, pslrldq_insn, 4, SUF_Z, 0x07, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpsllq, vpshift_insn, 8, SUF_Z, 0xF3, 0x73, 0x06, ONLY_AVX, CPU_AVX, 0, 0 +vpsllvd, vpshiftv_vexw0_avx2_insn, 2, SUF_Z, 0x47, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpsllvq, vpshiftv_vexw1_avx2_insn, 2, SUF_Z, 0x47, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpsllw, vpshift_insn, 8, SUF_Z, 0xF1, 0x71, 0x06, ONLY_AVX, CPU_AVX, 0, 0 +vpsrad, vpshift_insn, 8, SUF_Z, 0xE2, 0x72, 0x04, ONLY_AVX, CPU_AVX, 0, 0 +vpsravd, vpshiftv_vexw0_avx2_insn, 2, SUF_Z, 0x46, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpsraw, vpshift_insn, 8, SUF_Z, 0xE1, 0x71, 0x04, ONLY_AVX, CPU_AVX, 0, 0 +vpsrld, vpshift_insn, 8, SUF_Z, 0xD2, 0x72, 0x02, ONLY_AVX, CPU_AVX, 0, 0 +vpsrldq, pslrldq_insn, 4, SUF_Z, 0x03, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpsrlq, vpshift_insn, 8, SUF_Z, 0xD3, 0x73, 0x02, ONLY_AVX, CPU_AVX, 0, 0 +vpsrlvd, vpshiftv_vexw0_avx2_insn, 2, SUF_Z, 0x45, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpsrlvq, vpshiftv_vexw1_avx2_insn, 2, SUF_Z, 0x45, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0 +vpsrlw, vpshift_insn, 8, SUF_Z, 0xD1, 0x71, 0x02, ONLY_AVX, CPU_AVX, 0, 0 +vpsubb, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xF8, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpsubd, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xFA, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpsubq, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xFB, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpsubsb, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xE8, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpsubsw, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xE9, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpsubusb, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xD8, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpsubusw, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xD9, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpsubw, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xF9, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vptest, sse4_insn, 2, SUF_Z, 0x17, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vpunpckhbw, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x68, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpunpckhdq, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x6A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpunpckhqdq, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x6D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpunpckhwd, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x69, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpunpcklbw, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x60, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpunpckldq, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x62, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpunpcklqdq, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x6C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpunpcklwd, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x61, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vpxor, xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xEF, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vrcpps, avx_xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x53, 0, ONLY_AVX, CPU_AVX, 0, 0 +vrcpss, xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x53, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vroundpd, avx_sse4imm_insn, 3, SUF_Z, 0x09, 0, 0, ONLY_AVX, CPU_SSE41, 0, 0 +vroundps, avx_sse4imm_insn, 3, SUF_Z, 0x08, 0, 0, ONLY_AVX, CPU_SSE41, 0, 0 +vroundsd, sse4m64imm_insn, 4, SUF_Z, 0x0B, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vroundss, sse4m32imm_insn, 4, SUF_Z, 0x0A, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vrsqrtps, avx_xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x52, 0, ONLY_AVX, CPU_AVX, 0, 0 +vrsqrtss, xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x52, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vshufpd, xmm_xmm128_imm_256_insn, 3, SUF_Z, 0x66, 0xC6, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vshufps, xmm_xmm128_imm_256_insn, 3, SUF_Z, 0x00, 0xC6, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vsqrtpd, avx_xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x51, 0, ONLY_AVX, CPU_AVX, 0, 0 +vsqrtps, avx_xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x51, 0, ONLY_AVX, CPU_AVX, 0, 0 +vsqrtsd, xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x51, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vsqrtss, xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x51, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vstmxcsr, ldstmxcsr_insn, 1, SUF_Z, 0x03, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vsubpd, xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x5C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vsubps, xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x5C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vsubsd, xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vsubss, xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vtestpd, sse4_insn, 2, SUF_Z, 0x0F, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vtestps, sse4_insn, 2, SUF_Z, 0x0E, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0 +vucomisd, avx_xmm_xmm64_insn, 2, SUF_Z, 0x66, 0x2E, 0, ONLY_AVX, CPU_AVX, 0, 0 +vucomiss, avx_xmm_xmm32_insn, 2, SUF_Z, 0x00, 0x2E, 0, ONLY_AVX, CPU_AVX, 0, 0 +vunpckhpd, xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x15, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vunpckhps, xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x15, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vunpcklpd, xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x14, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vunpcklps, xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x14, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vxorpd, xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x57, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vxorps, xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x57, 0xC0, ONLY_AVX, CPU_AVX, 0, 0 +vzeroall, vzero_insn, 1, SUF_Z, 0xC4, 0, 0, 0, CPU_AVX, 0, 0 +vzeroupper, vzero_insn, 1, SUF_Z, 0xC0, 0, 0, 0, CPU_AVX, 0, 0 +wait, onebyte_insn, 1, SUF_Z, 0x9B, 0, 0, 0, 0, 0, 0 +wbinvd, twobyte_insn, 1, SUF_Z, 0x0F, 0x09, 0, 0, CPU_486, CPU_Priv, 0 +wrfsbase, fs_gs_base_insn, 2, SUF_Z, 0x02, 0, 0, ONLY_64, CPU_FSGSBASE, 0, 0 +wrgsbase, fs_gs_base_insn, 2, SUF_Z, 0x03, 0, 0, ONLY_64, CPU_FSGSBASE, 0, 0 +wrmsr, twobyte_insn, 1, SUF_Z, 0x0F, 0x30, 0, 0, CPU_586, CPU_Priv, 0 +wrshr, rdwrshr_insn, 1, SUF_Z, 0x01, 0, 0, 0, CPU_686, CPU_Cyrix, CPU_SMM +xabort, tsx_xabort_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_TSX, 0, 0 +xacquire, NULL, X86_ACQREL>>8, 0xF2, 0, 0, 0, 0, 0, 0, 0 +xadd, cmpxchgxadd_insn, 4, SUF_Z, 0xC0, 0, 0, 0, CPU_486, 0, 0 +xbegin, tsx_xbegin_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_TSX, 0 +xbts, xbts_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_Obs, CPU_Undoc +xchg, xchg_insn, 16, SUF_Z, 0, 0, 0, 0, 0, 0, 0 +xcryptcbc, padlock_insn, 1, SUF_Z, 0xD0, 0xF3, 0xA7, 0, CPU_PadLock, 0, 0 +xcryptcfb, padlock_insn, 1, SUF_Z, 0xE0, 0xF3, 0xA7, 0, CPU_PadLock, 0, 0 +xcryptctr, padlock_insn, 1, SUF_Z, 0xD8, 0xF3, 0xA7, 0, CPU_PadLock, 0, 0 +xcryptecb, padlock_insn, 1, SUF_Z, 0xC8, 0xF3, 0xA7, 0, CPU_PadLock, 0, 0 +xcryptofb, padlock_insn, 1, SUF_Z, 0xE8, 0xF3, 0xA7, 0, CPU_PadLock, 0, 0 +xend, tsx_0x0F_0x01_insn, 1, SUF_Z, 0xD5, 0, 0, 0, CPU_TSX, 0, 0 +xgetbv, threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xD0, 0, CPU_386, CPU_XSAVE, 0 +xlatb, onebyte_insn, 1, SUF_Z, 0xD7, 0x00, 0, 0, 0, 0, 0 +xor, arith_insn, 22, SUF_Z, 0x30, 0x06, 0, 0, 0, 0, 0 +xorpd, xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x57, 0, 0, CPU_SSE2, 0, 0 +xorps, xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x57, 0, 0, CPU_SSE, 0, 0 +xrelease, NULL, X86_ACQREL>>8, 0xF3, 0, 0, 0, 0, 0, 0, 0 +xrstor, twobytemem_insn, 1, SUF_Z, 0x05, 0x0F, 0xAE, 0, CPU_386, CPU_XSAVE, 0 +xsave, twobytemem_insn, 1, SUF_Z, 0x04, 0x0F, 0xAE, 0, CPU_386, CPU_XSAVE, 0 +xsaveopt, twobytemem_insn, 1, SUF_Z, 0x06, 0x0F, 0xAE, 0, CPU_XSAVEOPT, 0, 0 +xsaveopt64, xsaveopt64_insn, 1, SUF_Z, 0x06, 0x0F, 0xAE, ONLY_64, CPU_XSAVEOPT, 0, 0 +xsetbv, threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xD1, 0, CPU_386, CPU_Priv, CPU_XSAVE +xsha1, padlock_insn, 1, SUF_Z, 0xC8, 0xF3, 0xA6, 0, CPU_PadLock, 0, 0 +xsha256, padlock_insn, 1, SUF_Z, 0xD0, 0xF3, 0xA6, 0, CPU_PadLock, 0, 0 +xstore, padlock_insn, 1, SUF_Z, 0xC0, 0x00, 0xA7, 0, CPU_PadLock, 0, 0 +xstorerng, padlock_insn, 1, SUF_Z, 0xC0, 0x00, 0xA7, 0, CPU_PadLock, 0, 0 +xtest, tsx_0x0F_0x01_insn, 1, SUF_Z, 0xD6, 0, 0, 0, CPU_TSX, 0, 0 diff --git a/x86insns.c b/x86insns.c new file mode 100644 index 00000000..aee63db0 --- /dev/null +++ b/x86insns.c @@ -0,0 +1,2423 @@ +/* Generated by gen_x86_insn.py rHEAD, do not edit */ +static const x86_info_operand insn_operands[] = { + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_VEX, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_VEX, OPAP_None}, + {OPT_Mem, OPS_64, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_VEX, OPAP_None}, + {OPT_SIMDRM, OPS_128, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_VEX, OPAP_None}, + {OPT_SIMDRM, OPS_128, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_VEXImmSrc, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_VEX, OPAP_None}, + {OPT_SIMDRM, OPS_256, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_VEXImmSrc, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_VEX, OPAP_None}, + {OPT_SIMDRM, OPS_256, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_VEX, OPAP_None}, + {OPT_Reg, OPS_32, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_VEX, OPAP_None}, + {OPT_Reg, OPS_64, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_VEX, OPAP_None}, + {OPT_Mem, OPS_16, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_VEX, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_VEXImmSrc, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_VEX, OPAP_None}, + {OPT_Mem, OPS_64, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_VEXImmSrc, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_VEX, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_VEXImmSrc, OPAP_None}, + {OPT_Mem, OPS_64, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_VEX, OPAP_None}, + {OPT_Mem, OPS_8, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_SpareVEX, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_VEX, OPAP_None}, + {OPT_Reg, OPS_32, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_VEX, OPAP_None}, + {OPT_Mem, OPS_32, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_VEX, OPAP_None}, + {OPT_SIMDRM, OPS_128, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_VEX, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_VEXImmSrc, OPAP_None}, + {OPT_SIMDRM, OPS_128, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_VEX, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_VEXImmSrc, OPAP_None}, + {OPT_SIMDRM, OPS_256, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_VEX, OPAP_None}, + {OPT_Mem, OPS_32, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_VEXImmSrc, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_VEX, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_VEXImmSrc, OPAP_None}, + {OPT_Mem, OPS_32, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_SpareVEX, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_VEX, OPAP_None}, + {OPT_RM, OPS_64, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_VEX, OPAP_None}, + {OPT_RM, OPS_32, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_SpareVEX, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_SpareVEX, OPAP_None}, + {OPT_Mem, OPS_64, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_Reg, OPS_16, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_RM, OPS_16, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 0, 0, OPTM_None, OPA_SImm, OPAP_None}, + {OPT_Reg, OPS_32, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_RM, OPS_32, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 0, 0, OPTM_None, OPA_SImm, OPAP_None}, + {OPT_Reg, OPS_64, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_RM, OPS_64, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 0, 0, OPTM_None, OPA_SImm, OPAP_None}, + {OPT_Reg, OPS_16, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_RM, OPS_16, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_16, 1, 0, OPTM_None, OPA_SImm, OPAP_SImm8}, + {OPT_Reg, OPS_32, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_RM, OPS_32, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_32, 1, 0, OPTM_None, OPA_SImm, OPAP_SImm8}, + {OPT_Reg, OPS_64, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_RM, OPS_64, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_32, 1, 0, OPTM_None, OPA_SImm, OPAP_SImm8}, + {OPT_SIMDReg, OPS_64, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Reg, OPS_32, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_SIMDReg, OPS_64, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Reg, OPS_64, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_SIMDReg, OPS_64, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Mem, OPS_16, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_SpareVEX, OPAP_None}, + {OPT_Reg, OPS_32, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_SpareVEX, OPAP_None}, + {OPT_Reg, OPS_64, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_SpareVEX, OPAP_None}, + {OPT_Mem, OPS_16, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_Reg, OPS_32, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_RM, OPS_32, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_Reg, OPS_64, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_RM, OPS_64, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_SIMDReg, OPS_64, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDRM, OPS_64, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_SpareVEX, OPAP_None}, + {OPT_Mem, OPS_8, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_SpareVEX, OPAP_None}, + {OPT_Mem, OPS_32, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_Reg, OPS_32, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_RM, OPS_32, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Reg, OPS_32, 0, 0, OPTM_None, OPA_VEX, OPAP_None}, + {OPT_Reg, OPS_64, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_RM, OPS_64, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Reg, OPS_64, 0, 0, OPTM_None, OPA_VEX, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDRM, OPS_128, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_VEX, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_SpareVEX, OPAP_None}, + {OPT_SIMDRM, OPS_128, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_Reg, OPS_32, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDReg, OPS_64, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_Reg, OPS_32, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_Reg, OPS_64, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDReg, OPS_64, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_Reg, OPS_64, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_Mem, OPS_16, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_Reg, OPS_32, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_Reg, OPS_64, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_RM, OPS_64, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDRM, OPS_128, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_RM, OPS_32, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDRM, OPS_256, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_Mem, OPS_8, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_SpareVEX, OPAP_None}, + {OPT_SIMDRM, OPS_256, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_VEX, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_SIMDRM, OPS_128, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_VEX, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDRM, OPS_256, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_VEX, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_Mem, OPS_64, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_Mem, OPS_128, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_MemXMMIndex, OPS_64, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_VEX, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_MemXMMIndex, OPS_64, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_VEX, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_SpareVEX, OPAP_None}, + {OPT_RM, OPS_64, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_Reg, OPS_32, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_RM, OPS_32, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_32, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_Reg, OPS_64, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_RM, OPS_64, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_32, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_SIMDRM, OPS_128, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_SpareVEX, OPAP_None}, + {OPT_RM, OPS_32, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDRM, OPS_128, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_XMM0, OPS_128, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_MemXMMIndex, OPS_32, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_VEX, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_MemYMMIndex, OPS_32, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_VEX, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_MemYMMIndex, OPS_32, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_VEX, OPAP_None}, + {OPT_Reg, OPS_32, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Reg, OPS_32, 0, 0, OPTM_None, OPA_VEX, OPAP_None}, + {OPT_RM, OPS_32, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Reg, OPS_64, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Reg, OPS_64, 0, 0, OPTM_None, OPA_VEX, OPAP_None}, + {OPT_RM, OPS_64, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_RM, OPS_16, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Reg, OPS_16, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_RM, OPS_16, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Reg, OPS_16, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Creg, OPS_8, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_RM, OPS_32, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Reg, OPS_32, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_RM, OPS_32, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Reg, OPS_32, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Creg, OPS_8, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_RM, OPS_64, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Reg, OPS_64, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_RM, OPS_64, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Reg, OPS_64, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Creg, OPS_8, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_MemYMMIndex, OPS_64, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_VEX, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_VEX, OPAP_None}, + {OPT_RM, OPS_32, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_VEX, OPAP_None}, + {OPT_RM, OPS_64, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_RM, OPS_16, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_RM, OPS_32, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_RM, OPS_64, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_SIMDReg, OPS_64, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_RM, OPS_32, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_64, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_RM, OPS_64, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_RM, OPS_64, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_64, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_RM, OPS_32, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_RM, OPS_64, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Reg, OPS_16, 0, 0, OPTM_None, OPA_SpareEA, OPAP_None}, + {OPT_Imm, OPS_8, 0, 0, OPTM_None, OPA_SImm, OPAP_None}, + {OPT_Reg, OPS_32, 0, 0, OPTM_None, OPA_SpareEA, OPAP_None}, + {OPT_Imm, OPS_8, 0, 0, OPTM_None, OPA_SImm, OPAP_None}, + {OPT_Reg, OPS_64, 0, 0, OPTM_None, OPA_SpareEA, OPAP_None}, + {OPT_Imm, OPS_8, 0, 0, OPTM_None, OPA_SImm, OPAP_None}, + {OPT_Reg, OPS_16, 0, 0, OPTM_None, OPA_SpareEA, OPAP_None}, + {OPT_Imm, OPS_16, 1, 0, OPTM_None, OPA_SImm, OPAP_SImm8}, + {OPT_Reg, OPS_32, 0, 0, OPTM_None, OPA_SpareEA, OPAP_None}, + {OPT_Imm, OPS_32, 1, 0, OPTM_None, OPA_SImm, OPAP_SImm8}, + {OPT_Reg, OPS_64, 0, 0, OPTM_None, OPA_SpareEA, OPAP_None}, + {OPT_Imm, OPS_32, 1, 0, OPTM_None, OPA_SImm, OPAP_SImm8}, + {OPT_SIMDReg, OPS_64, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_64, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Mem, OPS_64, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Reg, OPS_32, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Reg, OPS_64, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_RM, OPS_8, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Reg, OPS_8, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Reg, OPS_8, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_RM, OPS_8, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_ST0, OPS_80, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_Reg, OPS_80, 0, 0, OPTM_None, OPA_Op1Add, OPAP_None}, + {OPT_Reg, OPS_80, 0, 0, OPTM_None, OPA_Op1Add, OPAP_None}, + {OPT_ST0, OPS_80, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_SIMDRM, OPS_64, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_64, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDRM, OPS_64, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDRM, OPS_64, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Mem, OPS_32, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Reg, OPS_32, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Mem, OPS_64, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Reg, OPS_64, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Areg, OPS_8, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_MemOffs, OPS_8, 1, 1, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Areg, OPS_16, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_MemOffs, OPS_16, 1, 1, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Areg, OPS_32, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_MemOffs, OPS_32, 1, 1, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Areg, OPS_64, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_MemOffs, OPS_64, 1, 1, OPTM_None, OPA_EA, OPAP_None}, + {OPT_MemOffs, OPS_8, 1, 1, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Areg, OPS_8, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_MemOffs, OPS_16, 1, 1, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Areg, OPS_16, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_MemOffs, OPS_32, 1, 1, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Areg, OPS_32, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_MemOffs, OPS_64, 1, 1, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Areg, OPS_64, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_Reg, OPS_64, 0, 0, OPTM_None, OPA_Op0Add, OPAP_None}, + {OPT_Imm, OPS_64, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_Reg, OPS_32, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Mem, OPS_32, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Reg, OPS_64, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Mem, OPS_32, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Mem, OPS_64, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_64, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Areg, OPS_8, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_MemOffs, OPS_8, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Areg, OPS_16, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_MemOffs, OPS_16, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Areg, OPS_32, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_MemOffs, OPS_32, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_MemOffs, OPS_8, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Areg, OPS_8, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_MemOffs, OPS_16, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Areg, OPS_16, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_MemOffs, OPS_32, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Areg, OPS_32, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_RM, OPS_8, 1, 0, OPTM_None, OPA_EA, OPAP_ShortMov}, + {OPT_Areg, OPS_8, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_RM, OPS_16, 1, 0, OPTM_None, OPA_EA, OPAP_ShortMov}, + {OPT_Areg, OPS_16, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_RM, OPS_32, 1, 0, OPTM_None, OPA_EA, OPAP_ShortMov}, + {OPT_Areg, OPS_32, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_RM, OPS_64, 1, 0, OPTM_None, OPA_EA, OPAP_ShortMov}, + {OPT_Areg, OPS_64, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Areg, OPS_8, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_RM, OPS_8, 1, 0, OPTM_None, OPA_EA, OPAP_ShortMov}, + {OPT_Areg, OPS_16, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_RM, OPS_16, 1, 0, OPTM_None, OPA_EA, OPAP_ShortMov}, + {OPT_Areg, OPS_32, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_RM, OPS_32, 1, 0, OPTM_None, OPA_EA, OPAP_ShortMov}, + {OPT_Areg, OPS_64, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_RM, OPS_64, 1, 0, OPTM_None, OPA_EA, OPAP_ShortMov}, + {OPT_Mem, OPS_16, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SegReg, OPS_16, 1, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Reg, OPS_16, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SegReg, OPS_16, 1, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Reg, OPS_32, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SegReg, OPS_16, 1, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Reg, OPS_64, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SegReg, OPS_16, 1, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SegReg, OPS_16, 1, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_RM, OPS_16, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Reg, OPS_8, 0, 0, OPTM_None, OPA_Op0Add, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_Reg, OPS_16, 0, 0, OPTM_None, OPA_Op0Add, OPAP_None}, + {OPT_Imm, OPS_16, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_Reg, OPS_32, 0, 0, OPTM_None, OPA_Op0Add, OPAP_None}, + {OPT_Imm, OPS_32, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_Reg, OPS_64, 0, 0, OPTM_None, OPA_Op0Add, OPAP_None}, + {OPT_Imm, OPS_64, 0, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_Reg, OPS_64, 0, 0, OPTM_None, OPA_Op0Add, OPAP_None}, + {OPT_Imm, OPS_64, 1, 0, OPTM_None, OPA_Imm, OPAP_SImm32Avail}, + {OPT_RM, OPS_8, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 0, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_RM, OPS_16, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_16, 0, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_RM, OPS_32, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_32, 0, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_RM, OPS_64, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_32, 0, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_RM, OPS_8, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_RM, OPS_16, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_16, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_RM, OPS_32, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_32, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_RM, OPS_64, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_32, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_CR4, OPS_32, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Reg, OPS_32, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_CRReg, OPS_32, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Reg, OPS_32, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_CRReg, OPS_32, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Reg, OPS_64, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Reg, OPS_32, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_CR4, OPS_32, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Reg, OPS_64, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_CRReg, OPS_32, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_DRReg, OPS_32, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Reg, OPS_32, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_DRReg, OPS_32, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Reg, OPS_64, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Reg, OPS_64, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_DRReg, OPS_32, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDReg, OPS_64, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Mem, OPS_16, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Mem, OPS_32, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Mem, OPS_64, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDRM, OPS_128, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Reg, OPS_16, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Reg, OPS_16, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Reg, OPS_32, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Reg, OPS_32, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Reg, OPS_32, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_RM, OPS_16, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Reg, OPS_64, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Reg, OPS_32, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Reg, OPS_64, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_RM, OPS_16, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Reg, OPS_16, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Mem, OPS_16, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Mem, OPS_16, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Reg, OPS_16, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Reg, OPS_64, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Mem, OPS_64, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Areg, OPS_8, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_RM, OPS_8, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Areg, OPS_16, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_RM, OPS_16, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Areg, OPS_32, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_RM, OPS_32, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Areg, OPS_64, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_RM, OPS_64, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Mem, OPS_64, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_Any, 0, 0, OPTM_None, OPA_JmpRel, OPAP_None}, + {OPT_Creg, OPS_32, 0, 0, OPTM_None, OPA_AdSizeR, OPAP_None}, + {OPT_Imm, OPS_Any, 0, 0, OPTM_Short, OPA_JmpRel, OPAP_None}, + {OPT_Creg, OPS_32, 0, 0, OPTM_None, OPA_AdSizeR, OPAP_None}, + {OPT_SIMDRM, OPS_128, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDRM, OPS_256, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Imm, OPS_Any, 0, 0, OPTM_None, OPA_JmpRel, OPAP_None}, + {OPT_Creg, OPS_64, 0, 0, OPTM_None, OPA_AdSizeR, OPAP_None}, + {OPT_Imm, OPS_Any, 0, 0, OPTM_Short, OPA_JmpRel, OPAP_None}, + {OPT_Creg, OPS_64, 0, 0, OPTM_None, OPA_AdSizeR, OPAP_None}, + {OPT_Imm, OPS_Any, 0, 0, OPTM_None, OPA_JmpRel, OPAP_None}, + {OPT_Creg, OPS_16, 0, 0, OPTM_None, OPA_AdSizeR, OPAP_None}, + {OPT_Imm, OPS_Any, 0, 0, OPTM_Short, OPA_JmpRel, OPAP_None}, + {OPT_Creg, OPS_16, 0, 0, OPTM_None, OPA_AdSizeR, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_Areg, OPS_8, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_Areg, OPS_16, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_Areg, OPS_32, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_Dreg, OPS_16, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_Areg, OPS_8, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_Dreg, OPS_16, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_Areg, OPS_16, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_Dreg, OPS_16, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_Areg, OPS_32, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Mem, OPS_128, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_EAVEX, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_EAVEX, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_MemrAX, OPS_Any, 0, 0, OPTM_None, OPA_AdSizeEA, OPAP_None}, + {OPT_Creg, OPS_32, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_Areg, OPS_16, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_Reg, OPS_16, 0, 0, OPTM_None, OPA_Op0Add, OPAP_None}, + {OPT_Reg, OPS_16, 0, 0, OPTM_None, OPA_Op0Add, OPAP_None}, + {OPT_Areg, OPS_16, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_Areg, OPS_32, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Areg, OPS_32, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Areg, OPS_32, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_Reg, OPS_32, 0, 0, OPTM_None, OPA_Op0Add, OPAP_None}, + {OPT_Reg, OPS_32, 0, 0, OPTM_None, OPA_Op0Add, OPAP_None}, + {OPT_Areg, OPS_32, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_Areg, OPS_64, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_Areg, OPS_64, 0, 0, OPTM_None, OPA_Op0Add, OPAP_None}, + {OPT_Reg, OPS_64, 0, 0, OPTM_None, OPA_Op0Add, OPAP_None}, + {OPT_Areg, OPS_64, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_Reg, OPS_16, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Mem, OPS_Any, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Reg, OPS_32, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Mem, OPS_Any, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Reg, OPS_64, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Mem, OPS_Any, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Reg, OPS_32, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_RM, OPS_8, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Reg, OPS_32, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_RM, OPS_16, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Reg, OPS_64, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_RM, OPS_8, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDReg, OPS_128, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDReg, OPS_128, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_RM, OPS_16, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_RM, OPS_16, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_RM, OPS_8, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Creg, OPS_8, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_RM, OPS_8, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm1, OPS_8, 1, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_RM, OPS_16, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Creg, OPS_8, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_RM, OPS_16, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm1, OPS_8, 1, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_RM, OPS_32, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Creg, OPS_8, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_RM, OPS_32, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm1, OPS_8, 1, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_RM, OPS_64, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Creg, OPS_8, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_RM, OPS_64, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm1, OPS_8, 1, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_Imm, OPS_16, 1, 0, OPTM_None, OPA_JmpFar, OPAP_None}, + {OPT_Imm, OPS_16, 1, 0, OPTM_None, OPA_JmpFar, OPAP_None}, + {OPT_Imm, OPS_16, 1, 0, OPTM_None, OPA_JmpFar, OPAP_None}, + {OPT_Imm, OPS_32, 1, 0, OPTM_None, OPA_JmpFar, OPAP_None}, + {OPT_Imm, OPS_16, 1, 0, OPTM_None, OPA_JmpFar, OPAP_None}, + {OPT_Imm, OPS_BITS, 1, 0, OPTM_None, OPA_JmpFar, OPAP_None}, + {OPT_Areg, OPS_16, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_Imm, OPS_16, 1, 0, OPTM_None, OPA_Imm, OPAP_SImm8}, + {OPT_Areg, OPS_32, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_Imm, OPS_32, 1, 0, OPTM_None, OPA_Imm, OPAP_SImm8}, + {OPT_Areg, OPS_64, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_Imm, OPS_32, 1, 0, OPTM_None, OPA_Imm, OPAP_SImm8}, + {OPT_RM, OPS_16, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 0, 0, OPTM_None, OPA_SImm, OPAP_None}, + {OPT_RM, OPS_16, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_16, 0, 0, OPTM_None, OPA_Imm, OPAP_SImm8}, + {OPT_RM, OPS_16, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_16, 1, 0, OPTM_None, OPA_Imm, OPAP_SImm8}, + {OPT_RM, OPS_32, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 0, 0, OPTM_None, OPA_SImm, OPAP_None}, + {OPT_RM, OPS_32, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_32, 0, 0, OPTM_None, OPA_Imm, OPAP_SImm8}, + {OPT_RM, OPS_32, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_32, 1, 0, OPTM_None, OPA_Imm, OPAP_SImm8}, + {OPT_RM, OPS_64, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_8, 0, 0, OPTM_None, OPA_SImm, OPAP_None}, + {OPT_RM, OPS_64, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_32, 1, 0, OPTM_None, OPA_Imm, OPAP_SImm8}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Mem, OPS_128, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Mem, OPS_256, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Mem, OPS_128, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Mem, OPS_256, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Reg, OPS_16, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_RM, OPS_8, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Reg, OPS_64, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_RM, OPS_16, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDRM, OPS_128, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDRM, OPS_256, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Reg, OPS_32, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Mem, OPS_128, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Reg, OPS_64, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Mem, OPS_128, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_64, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDRM, OPS_128, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Areg, OPS_32, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_Mem, OPS_80, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SegReg, OPS_16, 1, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDRM, OPS_64, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Areg, OPS_16, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_Imm, OPS_16, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_Areg, OPS_32, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_Imm, OPS_32, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_Areg, OPS_64, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_Imm, OPS_32, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_SegReg, OPS_16, 1, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Mem, OPS_80, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Mem, OPS_64, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_Mem, OPS_128, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_RM, OPS_8, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_RM, OPS_8, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_SpareVEX, OPAP_None}, + {OPT_SIMDRM, OPS_128, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_64, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_SIMDReg, OPS_64, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_256, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_RM, OPS_32, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_16, 1, 0, OPTM_None, OPA_EA, OPAP_A16}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_Imm, OPAP_None}, + {OPT_Reg, OPS_64, 0, 0, OPTM_None, OPA_Spare, OPAP_None}, + {OPT_RM, OPS_32, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_SpareVEX, OPAP_None}, + {OPT_RM, OPS_32, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SIMDReg, OPS_128, 0, 0, OPTM_None, OPA_SpareVEX, OPAP_None}, + {OPT_RM, OPS_64, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Mem, OPS_16, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Mem, OPS_32, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_MemEAX, OPS_Any, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_Mem, OPS_80, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Reg, OPS_BITS, 0, 0, OPTM_None, OPA_Op0Add, OPAP_None}, + {OPT_RM, OPS_BITS, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_SS, OPS_Any, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_SS, OPS_16, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_SS, OPS_32, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_DS, OPS_Any, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_DS, OPS_16, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_DS, OPS_32, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_ES, OPS_Any, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_ES, OPS_16, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_ES, OPS_32, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_FS, OPS_Any, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_FS, OPS_16, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_FS, OPS_32, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_GS, OPS_Any, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_GS, OPS_16, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_GS, OPS_32, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_Mem, OPS_Any, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_ImmNotSegOff, OPS_Any, 0, 0, OPTM_None, OPA_JmpRel, OPAP_None}, + {OPT_ImmNotSegOff, OPS_16, 0, 0, OPTM_None, OPA_JmpRel, OPAP_None}, + {OPT_ImmNotSegOff, OPS_32, 0, 0, OPTM_None, OPA_JmpRel, OPAP_None}, + {OPT_Imm, OPS_16, 0, 0, OPTM_Near, OPA_JmpRel, OPAP_None}, + {OPT_Imm, OPS_32, 0, 0, OPTM_Near, OPA_JmpRel, OPAP_None}, + {OPT_Imm, OPS_Any, 0, 0, OPTM_Near, OPA_JmpRel, OPAP_None}, + {OPT_Reg, OPS_BITS, 0, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_RM, OPS_16, 0, 0, OPTM_Near, OPA_EA, OPAP_None}, + {OPT_RM, OPS_32, 0, 0, OPTM_Near, OPA_EA, OPAP_None}, + {OPT_RM, OPS_64, 0, 0, OPTM_Near, OPA_EA, OPAP_None}, + {OPT_Mem, OPS_Any, 0, 0, OPTM_Near, OPA_EA, OPAP_None}, + {OPT_Mem, OPS_16, 0, 0, OPTM_Far, OPA_EA, OPAP_None}, + {OPT_Mem, OPS_32, 0, 0, OPTM_Far, OPA_EA, OPAP_None}, + {OPT_Mem, OPS_64, 0, 0, OPTM_Far, OPA_EA, OPAP_None}, + {OPT_Mem, OPS_Any, 0, 0, OPTM_Far, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_16, 0, 0, OPTM_Far, OPA_JmpFar, OPAP_None}, + {OPT_Imm, OPS_32, 0, 0, OPTM_Far, OPA_JmpFar, OPAP_None}, + {OPT_Imm, OPS_Any, 0, 0, OPTM_Far, OPA_JmpFar, OPAP_None}, + {OPT_Imm, OPS_16, 0, 0, OPTM_None, OPA_JmpFar, OPAP_None}, + {OPT_Imm, OPS_32, 0, 0, OPTM_None, OPA_JmpFar, OPAP_None}, + {OPT_Imm, OPS_Any, 0, 0, OPTM_None, OPA_JmpFar, OPAP_None}, + {OPT_Reg, OPS_80, 0, 0, OPTM_To, OPA_Op1Add, OPAP_None}, + {OPT_Reg, OPS_32, 0, 0, OPTM_None, OPA_Op1Add, OPAP_None}, + {OPT_Reg, OPS_64, 0, 0, OPTM_None, OPA_Op1Add, OPAP_None}, + {OPT_Mem, OPS_BITS, 1, 0, OPTM_None, OPA_EA, OPAP_None}, + {OPT_Imm, OPS_16, 0, 0, OPTM_None, OPA_JmpRel, OPAP_None}, + {OPT_Imm, OPS_32, 0, 0, OPTM_None, OPA_JmpRel, OPAP_None}, + {OPT_Imm, OPS_8, 1, 0, OPTM_None, OPA_SImm, OPAP_None}, + {OPT_Imm, OPS_BITS, 1, 0, OPTM_None, OPA_Imm, OPAP_SImm8}, + {OPT_Imm, OPS_32, 0, 0, OPTM_None, OPA_SImm, OPAP_None}, + {OPT_CS, OPS_Any, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_CS, OPS_16, 0, 0, OPTM_None, OPA_None, OPAP_None}, + {OPT_CS, OPS_32, 0, 0, OPTM_None, OPA_None, OPAP_None} +}; + +static const x86_insn_info empty_insn[] = { + { SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 0, {0, 0, 0}, 0, 0, 0 } +}; + +static const x86_insn_info not64_insn[] = { + { SUF_Z, NOT_64, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 0, {0, 0, 0}, 0, 0, 0 } +}; + +static const x86_insn_info onebyte_insn[] = { + { SUF_Z, 0, 0, 0, 0, {MOD_Op0Add, MOD_OpSizeR, MOD_DOpS64R}, 0, 0, 0, 1, {0x00, 0, 0}, 0, 0, 0 } +}; + +static const x86_insn_info onebyte_prefix_insn[] = { + { SUF_Z, 0, 0, 0, 0, {MOD_PreAdd, MOD_Op0Add, 0}, 0, 0, 0x00, 1, {0x00, 0, 0}, 0, 0, 0 } +}; + +static const x86_insn_info twobyte_insn[] = { + { SUF_L|SUF_Q|SUF_Z, 0, 0, 0, 0, {MOD_Op0Add, MOD_Op1Add, 0}, 0, 0, 0, 2, {0x00, 0x00, 0}, 0, 0, 0 } +}; + +static const x86_insn_info threebyte_insn[] = { + { SUF_Z, 0, 0, 0, 0, {MOD_Op0Add, MOD_Op1Add, MOD_Op2Add}, 0, 0, 0, 3, {0x00, 0x00, 0x00}, 0, 0, 0 } +}; + +static const x86_insn_info onebytemem_insn[] = { + { SUF_L|SUF_Q|SUF_S|SUF_Z, 0, 0, 0, 0, {MOD_SpAdd, MOD_Op0Add, 0}, 0, 0, 0, 1, {0x00, 0, 0}, 0, 1, 674 } +}; + +static const x86_insn_info twobytemem_insn[] = { + { SUF_L|SUF_Q|SUF_S|SUF_W|SUF_Z, 0, 0, 0, 0, {MOD_SpAdd, MOD_Op0Add, MOD_Op1Add}, 0, 0, 0, 2, {0x00, 0x00, 0}, 0, 1, 532 } +}; + +static const x86_insn_info mov_insn[] = { + { SUF_B|SUF_Z, NOT_64, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0xA0, 0, 0}, 0, 2, 365 }, + { SUF_W|SUF_Z, NOT_64, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0xA1, 0, 0}, 0, 2, 367 }, + { SUF_L|SUF_Z, NOT_64, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0xA1, 0, 0}, 0, 2, 369 }, + { SUF_B|SUF_Z, NOT_64, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0xA2, 0, 0}, 0, 2, 371 }, + { SUF_W|SUF_Z, NOT_64, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0xA3, 0, 0}, 0, 2, 373 }, + { SUF_L|SUF_Z, NOT_64, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0xA3, 0, 0}, 0, 2, 375 }, + { SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0xA0, 0, 0}, 0, 2, 341 }, + { SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0xA1, 0, 0}, 0, 2, 343 }, + { SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0xA1, 0, 0}, 0, 2, 345 }, + { SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 0, 0, 1, {0xA1, 0, 0}, 0, 2, 347 }, + { SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0xA2, 0, 0}, 0, 2, 349 }, + { SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0xA3, 0, 0}, 0, 2, 351 }, + { SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0xA3, 0, 0}, 0, 2, 353 }, + { SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 0, 0, 1, {0xA3, 0, 0}, 0, 2, 355 }, + { SUF_B|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0x88, 0xA2, 0}, 0, 2, 377 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0x89, 0xA3, 0}, 0, 2, 379 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0x89, 0xA3, 0}, 0, 2, 381 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 0, 0, 1, {0x89, 0xA3, 0}, 0, 2, 383 }, + { SUF_B|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0x88, 0, 0}, 0, 2, 323 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0x89, 0, 0}, 0, 2, 260 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0x89, 0, 0}, 0, 2, 266 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 0, 0, 1, {0x89, 0, 0}, 0, 2, 272 }, + { SUF_B|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0x8A, 0xA0, 0}, 0, 2, 385 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0x8B, 0xA1, 0}, 0, 2, 387 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0x8B, 0xA1, 0}, 0, 2, 389 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 0, 0, 1, {0x8B, 0xA1, 0}, 0, 2, 391 }, + { SUF_B|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0x8A, 0, 0}, 0, 2, 325 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0x8B, 0, 0}, 0, 2, 98 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0x8B, 0, 0}, 0, 2, 101 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 0, 0, 1, {0x8B, 0, 0}, 0, 2, 104 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0x8C, 0, 0}, 0, 2, 393 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0x8C, 0, 0}, 0, 2, 395 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0x8C, 0, 0}, 0, 2, 397 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 0, 0, 1, {0x8C, 0, 0}, 0, 2, 399 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0x8E, 0, 0}, 0, 2, 401 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0x8E, 0, 0}, 0, 2, 396 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0x8E, 0, 0}, 0, 2, 398 }, + { SUF_B|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0xB0, 0, 0}, 0, 2, 403 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0xB8, 0, 0}, 0, 2, 405 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0xB8, 0, 0}, 0, 2, 407 }, + { GAS_ILLEGAL|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 0, 0, 1, {0xB8, 0, 0}, 0, 2, 409 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 0, 0, 1, {0xB8, 0xC7, 0}, 0, 2, 411 }, + { SUF_B|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0xC6, 0, 0}, 0, 2, 413 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0xC7, 0, 0}, 0, 2, 415 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0xC7, 0, 0}, 0, 2, 417 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 0, 0, 1, {0xC7, 0, 0}, 0, 2, 419 }, + { SUF_B|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0xC6, 0, 0}, 0, 2, 421 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0xC7, 0, 0}, 0, 2, 423 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0xC7, 0, 0}, 0, 2, 425 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 0, 0, 1, {0xC7, 0, 0}, 0, 2, 427 }, + { SUF_L|SUF_Z, NOT_64, CPU_586, CPU_Priv, 0, {0, 0, 0}, 0, 0, 0, 2, {0x0F, 0x22, 0}, 0, 2, 429 }, + { SUF_L|SUF_Z, NOT_64, CPU_386, CPU_Priv, 0, {0, 0, 0}, 0, 0, 0, 2, {0x0F, 0x22, 0}, 0, 2, 431 }, + { SUF_Q|SUF_Z, ONLY_64, CPU_Priv, 0, 0, {0, 0, 0}, 0, 0, 0, 2, {0x0F, 0x22, 0}, 0, 2, 433 }, + { SUF_L|SUF_Z, NOT_64, CPU_586, CPU_Priv, 0, {0, 0, 0}, 0, 0, 0, 2, {0x0F, 0x20, 0}, 0, 2, 435 }, + { SUF_L|SUF_Z, NOT_64, CPU_386, CPU_Priv, 0, {0, 0, 0}, 0, 0, 0, 2, {0x0F, 0x20, 0}, 0, 2, 430 }, + { SUF_Q|SUF_Z, ONLY_64, CPU_Priv, 0, 0, {0, 0, 0}, 0, 0, 0, 2, {0x0F, 0x20, 0}, 0, 2, 437 }, + { SUF_L|SUF_Z, NOT_64, CPU_386, CPU_Priv, 0, {0, 0, 0}, 0, 0, 0, 2, {0x0F, 0x23, 0}, 0, 2, 439 }, + { SUF_Q|SUF_Z, ONLY_64, CPU_Priv, 0, 0, {0, 0, 0}, 0, 0, 0, 2, {0x0F, 0x23, 0}, 0, 2, 441 }, + { SUF_L|SUF_Z, NOT_64, CPU_386, CPU_Priv, 0, {0, 0, 0}, 0, 0, 0, 2, {0x0F, 0x21, 0}, 0, 2, 440 }, + { SUF_Q|SUF_Z, ONLY_64, CPU_Priv, 0, 0, {0, 0, 0}, 0, 0, 0, 2, {0x0F, 0x21, 0}, 0, 2, 443 }, + { GAS_ONLY|SUF_Q|SUF_Z, 0, CPU_MMX, 0, 0, {0, 0, 0}, 0, 0, 0, 2, {0x0F, 0x6F, 0}, 0, 2, 140 }, + { GAS_ONLY|SUF_Q|SUF_Z, ONLY_64, CPU_MMX, 0, 0, {0, 0, 0}, 64, 0, 0, 2, {0x0F, 0x6E, 0}, 0, 2, 295 }, + { GAS_ONLY|SUF_Q|SUF_Z, 0, CPU_MMX, 0, 0, {0, 0, 0}, 0, 0, 0, 2, {0x0F, 0x7F, 0}, 0, 2, 331 }, + { GAS_ONLY|SUF_Q|SUF_Z, ONLY_64, CPU_MMX, 0, 0, {0, 0, 0}, 64, 0, 0, 2, {0x0F, 0x7E, 0}, 0, 2, 297 }, + { GAS_ONLY|SUF_Q|SUF_Z, 0, CPU_SSE2, 0, 0, {0, 0, 0}, 0, 0, 0xF3, 2, {0x0F, 0x7E, 0}, 0, 2, 64 }, + { GAS_ONLY|SUF_Q|SUF_Z, 0, CPU_SSE2, 0, 0, {0, 0, 0}, 0, 0, 0xF3, 2, {0x0F, 0x7E, 0}, 0, 2, 333 }, + { GAS_ONLY|SUF_Q|SUF_Z, ONLY_64, CPU_SSE2, 0, 0, {0, 0, 0}, 64, 0, 0x66, 2, {0x0F, 0x6E, 0}, 0, 2, 301 }, + { GAS_ONLY|SUF_Q|SUF_Z, 0, CPU_SSE2, 0, 0, {0, 0, 0}, 0, 0, 0x66, 2, {0x0F, 0xD6, 0}, 0, 2, 335 }, + { GAS_ONLY|SUF_Q|SUF_Z, ONLY_64, CPU_SSE2, 0, 0, {0, 0, 0}, 64, 0, 0x66, 2, {0x0F, 0x7E, 0}, 0, 2, 182 } +}; + +static const x86_insn_info movabs_insn[] = { + { SUF_B|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0xA0, 0, 0}, 0, 2, 341 }, + { SUF_W|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0xA1, 0, 0}, 0, 2, 343 }, + { SUF_L|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0xA1, 0, 0}, 0, 2, 345 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 0, 0, 1, {0xA1, 0, 0}, 0, 2, 347 }, + { SUF_B|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0xA2, 0, 0}, 0, 2, 349 }, + { SUF_W|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0xA3, 0, 0}, 0, 2, 351 }, + { SUF_L|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0xA3, 0, 0}, 0, 2, 353 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 0, 0, 1, {0xA3, 0, 0}, 0, 2, 355 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 0, 0, 1, {0xB8, 0, 0}, 0, 2, 357 } +}; + +static const x86_insn_info movszx_insn[] = { + { SUF_B|SUF_Z, 0, CPU_386, 0, 0, {MOD_Op1Add, 0, 0}, 16, 0, 0, 2, {0x0F, 0x00, 0}, 0, 2, 603 }, + { SUF_B|SUF_Z, 0, CPU_386, 0, 0, {MOD_Op1Add, 0, 0}, 32, 0, 0, 2, {0x0F, 0x00, 0}, 0, 2, 537 }, + { SUF_B|SUF_Z, ONLY_64, 0, 0, 0, {MOD_Op1Add, 0, 0}, 64, 0, 0, 2, {0x0F, 0x00, 0}, 0, 2, 541 }, + { SUF_W|SUF_Z, 0, CPU_386, 0, 0, {MOD_Op1Add, 0, 0}, 32, 0, 0, 2, {0x0F, 0x01, 0}, 0, 2, 539 }, + { SUF_W|SUF_Z, ONLY_64, 0, 0, 0, {MOD_Op1Add, 0, 0}, 64, 0, 0, 2, {0x0F, 0x01, 0}, 0, 2, 605 } +}; + +static const x86_insn_info movsxd_insn[] = { + { SUF_L|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 0, 0, 1, {0x63, 0, 0}, 0, 2, 647 } +}; + +static const x86_insn_info push_insn[] = { + { SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 64, 0, 1, {0x50, 0, 0}, 0, 1, 657 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 16, 64, 0, 1, {0x50, 0, 0}, 0, 1, 405 }, + { SUF_L|SUF_Z, NOT_64, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0x50, 0, 0}, 0, 1, 407 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 0, 64, 0, 1, {0x50, 0, 0}, 0, 1, 357 }, + { SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 64, 0, 1, {0xFF, 0, 0}, 6, 1, 658 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 16, 64, 0, 1, {0xFF, 0, 0}, 6, 1, 287 }, + { SUF_L|SUF_Z, NOT_64, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0xFF, 0, 0}, 6, 1, 283 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 0, 64, 0, 1, {0xFF, 0, 0}, 6, 1, 286 }, + { GAS_ILLEGAL|SUF_Z, 0, CPU_186, 0, 0, {0, 0, 0}, 0, 64, 0, 1, {0x6A, 0, 0}, 0, 1, 100 }, + { GAS_ONLY|SUF_Z, 0, CPU_186, 0, 0, {0, 0, 0}, 0, 64, 0, 1, {0x6A, 0, 0}, 0, 1, 702 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 64, 0, 1, {0x6A, 0x68, 0}, 0, 1, 112 }, + { GAS_ILLEGAL|SUF_Z, NOT_64, CPU_186, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0x6A, 0x68, 0}, 0, 1, 703 }, + { SUF_W|SUF_Z, 0, CPU_186, 0, 0, {0, 0, 0}, 16, 64, 0, 1, {0x6A, 0x68, 0}, 0, 1, 574 }, + { SUF_L|SUF_Z, NOT_64, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0x6A, 0x68, 0}, 0, 1, 576 }, + { GAS_ILLEGAL|SUF_Z, 0, CPU_186, 0, 0, {0, 0, 0}, 16, 64, 0, 1, {0x68, 0, 0}, 0, 1, 416 }, + { GAS_ILLEGAL|SUF_Z, NOT_64, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0x68, 0, 0}, 0, 1, 418 }, + { GAS_ILLEGAL|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 64, 0, 1, {0x68, 0, 0}, 0, 1, 704 }, + { SUF_Z, NOT_64, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0x0E, 0, 0}, 0, 1, 705 }, + { SUF_W|SUF_Z, NOT_64, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0x0E, 0, 0}, 0, 1, 706 }, + { SUF_L|SUF_Z, NOT_64, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0x0E, 0, 0}, 0, 1, 707 }, + { SUF_Z, NOT_64, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0x16, 0, 0}, 0, 1, 659 }, + { SUF_W|SUF_Z, NOT_64, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0x16, 0, 0}, 0, 1, 660 }, + { SUF_L|SUF_Z, NOT_64, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0x16, 0, 0}, 0, 1, 661 }, + { SUF_Z, NOT_64, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0x1E, 0, 0}, 0, 1, 662 }, + { SUF_W|SUF_Z, NOT_64, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0x1E, 0, 0}, 0, 1, 663 }, + { SUF_L|SUF_Z, NOT_64, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0x1E, 0, 0}, 0, 1, 664 }, + { SUF_Z, NOT_64, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0x06, 0, 0}, 0, 1, 665 }, + { SUF_W|SUF_Z, NOT_64, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0x06, 0, 0}, 0, 1, 666 }, + { SUF_L|SUF_Z, NOT_64, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0x06, 0, 0}, 0, 1, 667 }, + { SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 0, 0, 0, 2, {0x0F, 0xA0, 0}, 0, 1, 668 }, + { SUF_W|SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 16, 0, 0, 2, {0x0F, 0xA0, 0}, 0, 1, 669 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 2, {0x0F, 0xA0, 0}, 0, 1, 670 }, + { SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 0, 0, 0, 2, {0x0F, 0xA8, 0}, 0, 1, 671 }, + { SUF_W|SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 16, 0, 0, 2, {0x0F, 0xA8, 0}, 0, 1, 672 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 2, {0x0F, 0xA8, 0}, 0, 1, 673 } +}; + +static const x86_insn_info pop_insn[] = { + { SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 64, 0, 1, {0x58, 0, 0}, 0, 1, 657 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 16, 64, 0, 1, {0x58, 0, 0}, 0, 1, 405 }, + { SUF_L|SUF_Z, NOT_64, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0x58, 0, 0}, 0, 1, 407 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 0, 64, 0, 1, {0x58, 0, 0}, 0, 1, 357 }, + { SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 64, 0, 1, {0x8F, 0, 0}, 0, 1, 658 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 16, 64, 0, 1, {0x8F, 0, 0}, 0, 1, 287 }, + { SUF_L|SUF_Z, NOT_64, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0x8F, 0, 0}, 0, 1, 283 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 0, 64, 0, 1, {0x8F, 0, 0}, 0, 1, 286 }, + { SUF_Z, NOT_64, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0x17, 0, 0}, 0, 1, 659 }, + { SUF_Z, NOT_64, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0x17, 0, 0}, 0, 1, 660 }, + { SUF_Z, NOT_64, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0x17, 0, 0}, 0, 1, 661 }, + { SUF_Z, NOT_64, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0x1F, 0, 0}, 0, 1, 662 }, + { SUF_Z, NOT_64, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0x1F, 0, 0}, 0, 1, 663 }, + { SUF_Z, NOT_64, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0x1F, 0, 0}, 0, 1, 664 }, + { SUF_Z, NOT_64, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0x07, 0, 0}, 0, 1, 665 }, + { SUF_Z, NOT_64, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0x07, 0, 0}, 0, 1, 666 }, + { SUF_Z, NOT_64, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0x07, 0, 0}, 0, 1, 667 }, + { SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 0, 0, 0, 2, {0x0F, 0xA1, 0}, 0, 1, 668 }, + { SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 16, 0, 0, 2, {0x0F, 0xA1, 0}, 0, 1, 669 }, + { SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 2, {0x0F, 0xA1, 0}, 0, 1, 670 }, + { SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 0, 0, 0, 2, {0x0F, 0xA9, 0}, 0, 1, 671 }, + { SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 16, 0, 0, 2, {0x0F, 0xA9, 0}, 0, 1, 672 }, + { SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 2, {0x0F, 0xA9, 0}, 0, 1, 673 } +}; + +static const x86_insn_info xchg_insn[] = { + { SUF_B|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0x86, 0, 0}, 0, 2, 323 }, + { SUF_B|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0x86, 0, 0}, 0, 2, 325 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0x90, 0, 0}, 0, 2, 517 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0x90, 0, 0}, 0, 2, 519 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0x87, 0, 0}, 0, 2, 260 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0x87, 0, 0}, 0, 2, 98 }, + { SUF_L|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0x87, 0, 0}, 0, 2, 521 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0x90, 0, 0}, 0, 2, 523 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0x90, 0, 0}, 0, 2, 525 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0x87, 0, 0}, 0, 2, 266 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0x87, 0, 0}, 0, 2, 101 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0x90, 0, 0}, 0, 2, 527 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 0, 0, 1, {0x90, 0, 0}, 0, 2, 356 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 0, 0, 1, {0x90, 0, 0}, 0, 2, 529 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 0, 0, 1, {0x87, 0, 0}, 0, 2, 272 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 0, 0, 1, {0x87, 0, 0}, 0, 2, 104 } +}; + +static const x86_insn_info in_insn[] = { + { SUF_B|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0xE4, 0, 0}, 0, 2, 498 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0xE5, 0, 0}, 0, 2, 500 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0xE5, 0, 0}, 0, 2, 617 }, + { SUF_B|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0xEC, 0, 0}, 0, 2, 504 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0xED, 0, 0}, 0, 2, 506 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0xED, 0, 0}, 0, 2, 502 }, + { GAS_ONLY|SUF_B|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0xE4, 0, 0}, 0, 1, 3 }, + { GAS_ONLY|SUF_W|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0xE5, 0, 0}, 0, 1, 3 }, + { GAS_ONLY|SUF_L|SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0xE5, 0, 0}, 0, 1, 3 }, + { GAS_ONLY|SUF_B|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0xEC, 0, 0}, 0, 1, 503 }, + { GAS_ONLY|SUF_W|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0xED, 0, 0}, 0, 1, 503 }, + { GAS_ONLY|SUF_L|SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0xED, 0, 0}, 0, 1, 503 } +}; + +static const x86_insn_info out_insn[] = { + { SUF_B|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0xE6, 0, 0}, 0, 2, 497 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0xE7, 0, 0}, 0, 2, 499 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0xE7, 0, 0}, 0, 2, 501 }, + { SUF_B|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0xEE, 0, 0}, 0, 2, 503 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0xEF, 0, 0}, 0, 2, 505 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0xEF, 0, 0}, 0, 2, 507 }, + { GAS_ONLY|SUF_B|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0xE6, 0, 0}, 0, 1, 3 }, + { GAS_ONLY|SUF_W|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0xE7, 0, 0}, 0, 1, 3 }, + { GAS_ONLY|SUF_L|SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0xE7, 0, 0}, 0, 1, 3 }, + { GAS_ONLY|SUF_B|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0xEE, 0, 0}, 0, 1, 503 }, + { GAS_ONLY|SUF_W|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0xEF, 0, 0}, 0, 1, 503 }, + { GAS_ONLY|SUF_L|SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0xEF, 0, 0}, 0, 1, 503 } +}; + +static const x86_insn_info lea_insn[] = { + { SUF_W|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0x8D, 0, 0}, 0, 2, 531 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0x8D, 0, 0}, 0, 2, 533 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 0, 0, 1, {0x8D, 0, 0}, 0, 2, 535 } +}; + +static const x86_insn_info ldes_insn[] = { + { SUF_W|SUF_Z, NOT_64, 0, 0, 0, {MOD_Op0Add, 0, 0}, 16, 0, 0, 1, {0x00, 0, 0}, 0, 2, 531 }, + { SUF_L|SUF_Z, NOT_64, CPU_386, 0, 0, {MOD_Op0Add, 0, 0}, 32, 0, 0, 1, {0x00, 0, 0}, 0, 2, 533 } +}; + +static const x86_insn_info lfgss_insn[] = { + { SUF_W|SUF_Z, 0, CPU_386, 0, 0, {MOD_Op1Add, 0, 0}, 16, 0, 0, 2, {0x0F, 0x00, 0}, 0, 2, 531 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {MOD_Op1Add, 0, 0}, 32, 0, 0, 2, {0x0F, 0x00, 0}, 0, 2, 533 }, + { SUF_Q|SUF_Z, ONLY_64, CPU_386, 0, 0, {MOD_Op1Add, 0, 0}, 64, 0, 0, 2, {0x0F, 0x00, 0}, 0, 2, 535 } +}; + +static const x86_insn_info arith_insn[] = { + { SUF_B|SUF_Z, 0, 0, 0, 0, {MOD_Op0Add, 0, 0}, 0, 0, 0, 1, {0x04, 0, 0}, 0, 2, 498 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {MOD_Op2Add, MOD_Op1AddSp, 0}, 16, 0, 0, 2, {0x83, 0xC0, 0x05}, 0, 2, 573 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {MOD_Op2Add, MOD_Op1AddSp, 0}, 32, 0, 0, 2, {0x83, 0xC0, 0x05}, 0, 2, 575 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {MOD_Op2Add, MOD_Op1AddSp, 0}, 64, 0, 0, 2, {0x83, 0xC0, 0x05}, 0, 2, 577 }, + { SUF_B|SUF_Z, 0, 0, 0, 0, {MOD_Gap, MOD_SpAdd, 0}, 0, 0, 0, 1, {0x80, 0, 0}, 0, 2, 421 }, + { SUF_B|SUF_Z, 0, 0, 0, 0, {MOD_Gap, MOD_SpAdd, 0}, 0, 0, 0, 1, {0x80, 0, 0}, 0, 2, 413 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {MOD_Gap, MOD_SpAdd, 0}, 16, 0, 0, 1, {0x83, 0, 0}, 0, 2, 579 }, + { GAS_ILLEGAL|SUF_Z, 0, 0, 0, 0, {MOD_Gap, MOD_SpAdd, 0}, 16, 0, 0, 1, {0x83, 0x81, 0}, 0, 2, 581 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {MOD_Gap, MOD_SpAdd, 0}, 16, 0, 0, 1, {0x83, 0x81, 0}, 0, 2, 583 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {MOD_Gap, MOD_SpAdd, 0}, 32, 0, 0, 1, {0x83, 0, 0}, 0, 2, 585 }, + { GAS_ILLEGAL|SUF_Z, NOT_64, CPU_386, 0, 0, {MOD_Gap, MOD_SpAdd, 0}, 32, 0, 0, 1, {0x83, 0x81, 0}, 0, 2, 587 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {MOD_Gap, MOD_SpAdd, 0}, 32, 0, 0, 1, {0x83, 0x81, 0}, 0, 2, 589 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {MOD_Gap, MOD_SpAdd, 0}, 64, 0, 0, 1, {0x83, 0, 0}, 0, 2, 591 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {MOD_Gap, MOD_SpAdd, 0}, 64, 0, 0, 1, {0x83, 0x81, 0}, 0, 2, 593 }, + { SUF_B|SUF_Z, 0, 0, 0, 0, {MOD_Op0Add, 0, 0}, 0, 0, 0, 1, {0x00, 0, 0}, 0, 2, 323 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {MOD_Op0Add, 0, 0}, 16, 0, 0, 1, {0x01, 0, 0}, 0, 2, 260 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {MOD_Op0Add, 0, 0}, 32, 0, 0, 1, {0x01, 0, 0}, 0, 2, 266 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {MOD_Op0Add, 0, 0}, 64, 0, 0, 1, {0x01, 0, 0}, 0, 2, 272 }, + { SUF_B|SUF_Z, 0, 0, 0, 0, {MOD_Op0Add, 0, 0}, 0, 0, 0, 1, {0x02, 0, 0}, 0, 2, 325 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {MOD_Op0Add, 0, 0}, 16, 0, 0, 1, {0x03, 0, 0}, 0, 2, 98 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {MOD_Op0Add, 0, 0}, 32, 0, 0, 1, {0x03, 0, 0}, 0, 2, 101 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {MOD_Op0Add, 0, 0}, 64, 0, 0, 1, {0x03, 0, 0}, 0, 2, 104 } +}; + +static const x86_insn_info incdec_insn[] = { + { SUF_B|SUF_Z, 0, 0, 0, 0, {MOD_Gap, MOD_SpAdd, 0}, 0, 0, 0, 1, {0xFE, 0, 0}, 0, 1, 421 }, + { SUF_W|SUF_Z, NOT_64, 0, 0, 0, {MOD_Op0Add, 0, 0}, 16, 0, 0, 1, {0x00, 0, 0}, 0, 1, 405 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {MOD_Gap, MOD_SpAdd, 0}, 16, 0, 0, 1, {0xFF, 0, 0}, 0, 1, 287 }, + { SUF_L|SUF_Z, NOT_64, CPU_386, 0, 0, {MOD_Op0Add, 0, 0}, 32, 0, 0, 1, {0x00, 0, 0}, 0, 1, 407 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {MOD_Gap, MOD_SpAdd, 0}, 32, 0, 0, 1, {0xFF, 0, 0}, 0, 1, 283 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {MOD_Gap, MOD_SpAdd, 0}, 64, 0, 0, 1, {0xFF, 0, 0}, 0, 1, 286 } +}; + +static const x86_insn_info f6_insn[] = { + { SUF_B|SUF_Z, 0, 0, 0, 0, {MOD_SpAdd, 0, 0}, 0, 0, 0, 1, {0xF6, 0, 0}, 0, 1, 421 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {MOD_SpAdd, 0, 0}, 16, 0, 0, 1, {0xF7, 0, 0}, 0, 1, 287 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {MOD_SpAdd, 0, 0}, 32, 0, 0, 1, {0xF7, 0, 0}, 0, 1, 283 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {MOD_SpAdd, 0, 0}, 64, 0, 0, 1, {0xF7, 0, 0}, 0, 1, 286 } +}; + +static const x86_insn_info div_insn[] = { + { SUF_B|SUF_Z, 0, 0, 0, 0, {MOD_SpAdd, 0, 0}, 0, 0, 0, 1, {0xF6, 0, 0}, 0, 1, 421 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {MOD_SpAdd, 0, 0}, 16, 0, 0, 1, {0xF7, 0, 0}, 0, 1, 287 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {MOD_SpAdd, 0, 0}, 32, 0, 0, 1, {0xF7, 0, 0}, 0, 1, 283 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {MOD_SpAdd, 0, 0}, 64, 0, 0, 1, {0xF7, 0, 0}, 0, 1, 286 }, + { SUF_B|SUF_Z, 0, 0, 0, 0, {MOD_SpAdd, 0, 0}, 0, 0, 0, 1, {0xF6, 0, 0}, 0, 2, 471 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {MOD_SpAdd, 0, 0}, 16, 0, 0, 1, {0xF7, 0, 0}, 0, 2, 473 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {MOD_SpAdd, 0, 0}, 32, 0, 0, 1, {0xF7, 0, 0}, 0, 2, 475 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {MOD_SpAdd, 0, 0}, 64, 0, 0, 1, {0xF7, 0, 0}, 0, 2, 477 } +}; + +static const x86_insn_info test_insn[] = { + { SUF_B|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0xA8, 0, 0}, 0, 2, 498 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0xA9, 0, 0}, 0, 2, 623 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0xA9, 0, 0}, 0, 2, 625 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 0, 0, 1, {0xA9, 0, 0}, 0, 2, 627 }, + { SUF_B|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0xF6, 0, 0}, 0, 2, 421 }, + { SUF_B|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0xF6, 0, 0}, 0, 2, 413 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0xF7, 0, 0}, 0, 2, 423 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0xF7, 0, 0}, 0, 2, 415 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0xF7, 0, 0}, 0, 2, 425 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0xF7, 0, 0}, 0, 2, 417 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 0, 0, 1, {0xF7, 0, 0}, 0, 2, 427 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 0, 0, 1, {0xF7, 0, 0}, 0, 2, 419 }, + { SUF_B|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0x84, 0, 0}, 0, 2, 323 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0x85, 0, 0}, 0, 2, 260 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0x85, 0, 0}, 0, 2, 266 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 0, 0, 1, {0x85, 0, 0}, 0, 2, 272 }, + { SUF_B|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0x84, 0, 0}, 0, 2, 325 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0x85, 0, 0}, 0, 2, 98 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0x85, 0, 0}, 0, 2, 101 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 0, 0, 1, {0x85, 0, 0}, 0, 2, 104 } +}; + +static const x86_insn_info aadm_insn[] = { + { SUF_Z, 0, 0, 0, 0, {MOD_Op0Add, 0, 0}, 0, 0, 0, 2, {0xD4, 0x0A, 0}, 0, 0, 0 }, + { SUF_Z, 0, 0, 0, 0, {MOD_Op0Add, 0, 0}, 0, 0, 0, 1, {0xD4, 0, 0}, 0, 1, 3 } +}; + +static const x86_insn_info imul_insn[] = { + { SUF_B|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0xF6, 0, 0}, 5, 1, 421 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0xF7, 0, 0}, 5, 1, 287 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0xF7, 0, 0}, 5, 1, 283 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 0, 0, 1, {0xF7, 0, 0}, 5, 1, 286 }, + { SUF_W|SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 16, 0, 0, 2, {0x0F, 0xAF, 0}, 0, 2, 98 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 2, {0x0F, 0xAF, 0}, 0, 2, 101 }, + { SUF_Q|SUF_Z, ONLY_64, CPU_386, 0, 0, {0, 0, 0}, 64, 0, 0, 2, {0x0F, 0xAF, 0}, 0, 2, 104 }, + { SUF_W|SUF_Z, 0, CPU_186, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0x6B, 0, 0}, 0, 3, 98 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0x6B, 0, 0}, 0, 3, 101 }, + { SUF_Q|SUF_Z, ONLY_64, CPU_186, 0, 0, {0, 0, 0}, 64, 0, 0, 1, {0x6B, 0, 0}, 0, 3, 104 }, + { SUF_W|SUF_Z, 0, CPU_186, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0x6B, 0, 0}, 0, 2, 303 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0x6B, 0, 0}, 0, 2, 305 }, + { SUF_Q|SUF_Z, ONLY_64, CPU_186, 0, 0, {0, 0, 0}, 64, 0, 0, 1, {0x6B, 0, 0}, 0, 2, 307 }, + { SUF_W|SUF_Z, 0, CPU_186, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0x6B, 0x69, 0}, 0, 3, 107 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0x6B, 0x69, 0}, 0, 3, 110 }, + { SUF_Q|SUF_Z, ONLY_64, CPU_186, 0, 0, {0, 0, 0}, 64, 0, 0, 1, {0x6B, 0x69, 0}, 0, 3, 113 }, + { SUF_W|SUF_Z, 0, CPU_186, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0x6B, 0x69, 0}, 0, 2, 309 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0x6B, 0x69, 0}, 0, 2, 311 }, + { SUF_Q|SUF_Z, ONLY_64, CPU_186, 0, 0, {0, 0, 0}, 64, 0, 0, 1, {0x6B, 0x69, 0}, 0, 2, 313 } +}; + +static const x86_insn_info shift_insn[] = { + { SUF_B|SUF_Z, 0, 0, 0, 0, {MOD_SpAdd, 0, 0}, 0, 0, 0, 1, {0xD2, 0, 0}, 0, 2, 551 }, + { SUF_B|SUF_Z, 0, 0, 0, 0, {MOD_SpAdd, 0, 0}, 0, 0, 0, 1, {0xD0, 0, 0}, 0, 2, 553 }, + { SUF_B|SUF_Z, 0, CPU_186, 0, 0, {MOD_SpAdd, 0, 0}, 0, 0, 0, 1, {0xC0, 0, 0}, 0, 2, 421 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {MOD_SpAdd, 0, 0}, 16, 0, 0, 1, {0xD3, 0, 0}, 0, 2, 555 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {MOD_SpAdd, 0, 0}, 16, 0, 0, 1, {0xD1, 0, 0}, 0, 2, 557 }, + { SUF_W|SUF_Z, 0, CPU_186, 0, 0, {MOD_SpAdd, 0, 0}, 16, 0, 0, 1, {0xC1, 0, 0}, 0, 2, 287 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {MOD_SpAdd, 0, 0}, 32, 0, 0, 1, {0xD3, 0, 0}, 0, 2, 559 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {MOD_SpAdd, 0, 0}, 32, 0, 0, 1, {0xD1, 0, 0}, 0, 2, 561 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {MOD_SpAdd, 0, 0}, 32, 0, 0, 1, {0xC1, 0, 0}, 0, 2, 289 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {MOD_SpAdd, 0, 0}, 64, 0, 0, 1, {0xD3, 0, 0}, 0, 2, 563 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {MOD_SpAdd, 0, 0}, 64, 0, 0, 1, {0xD1, 0, 0}, 0, 2, 565 }, + { SUF_Q|SUF_Z, ONLY_64, CPU_186, 0, 0, {MOD_SpAdd, 0, 0}, 64, 0, 0, 1, {0xC1, 0, 0}, 0, 2, 291 }, + { GAS_ONLY|SUF_B|SUF_Z, 0, 0, 0, 0, {MOD_SpAdd, 0, 0}, 0, 0, 0, 1, {0xD0, 0, 0}, 0, 1, 421 }, + { GAS_ONLY|SUF_W|SUF_Z, 0, 0, 0, 0, {MOD_SpAdd, 0, 0}, 16, 0, 0, 1, {0xD1, 0, 0}, 0, 1, 287 }, + { GAS_ONLY|SUF_L|SUF_Z, 0, CPU_386, 0, 0, {MOD_SpAdd, 0, 0}, 32, 0, 0, 1, {0xD1, 0, 0}, 0, 1, 283 }, + { GAS_ONLY|SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {MOD_SpAdd, 0, 0}, 64, 0, 0, 1, {0xD1, 0, 0}, 0, 1, 286 } +}; + +static const x86_insn_info shlrd_insn[] = { + { SUF_W|SUF_Z, 0, CPU_386, 0, 0, {MOD_Op1Add, 0, 0}, 16, 0, 0, 2, {0x0F, 0x00, 0}, 0, 3, 260 }, + { SUF_W|SUF_Z, 0, CPU_386, 0, 0, {MOD_Op1Add, 0, 0}, 16, 0, 0, 2, {0x0F, 0x01, 0}, 0, 3, 263 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {MOD_Op1Add, 0, 0}, 32, 0, 0, 2, {0x0F, 0x00, 0}, 0, 3, 266 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {MOD_Op1Add, 0, 0}, 32, 0, 0, 2, {0x0F, 0x01, 0}, 0, 3, 269 }, + { SUF_Q|SUF_Z, ONLY_64, CPU_386, 0, 0, {MOD_Op1Add, 0, 0}, 64, 0, 0, 2, {0x0F, 0x00, 0}, 0, 3, 272 }, + { SUF_Q|SUF_Z, ONLY_64, CPU_386, 0, 0, {MOD_Op1Add, 0, 0}, 64, 0, 0, 2, {0x0F, 0x01, 0}, 0, 3, 275 }, + { GAS_ONLY|SUF_W|SUF_Z, 0, CPU_386, 0, 0, {MOD_Op1Add, 0, 0}, 16, 0, 0, 2, {0x0F, 0x01, 0}, 0, 2, 260 }, + { GAS_ONLY|SUF_L|SUF_Z, 0, CPU_386, 0, 0, {MOD_Op1Add, 0, 0}, 32, 0, 0, 2, {0x0F, 0x01, 0}, 0, 2, 266 }, + { GAS_ONLY|SUF_Q|SUF_Z, ONLY_64, CPU_386, 0, 0, {MOD_Op1Add, 0, 0}, 64, 0, 0, 2, {0x0F, 0x01, 0}, 0, 2, 272 } +}; + +static const x86_insn_info call_insn[] = { + { SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 0, {0, 0, 0}, 0, 1, 675 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 0, {0, 0, 0}, 0, 1, 676 }, + { SUF_L|SUF_Z, NOT_64, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 0, {0, 0, 0}, 0, 1, 677 }, + { SUF_L|SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 0, 0, 0, {0, 0, 0}, 0, 1, 677 }, + { SUF_Z, NOT_64, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0xE8, 0, 0}, 0, 1, 678 }, + { SUF_Z, NOT_64, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0xE8, 0, 0}, 0, 1, 679 }, + { SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 64, 0, 1, {0xE8, 0, 0}, 0, 1, 679 }, + { SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 64, 0, 1, {0xE8, 0, 0}, 0, 1, 680 }, + { SUF_W, 0, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0xFF, 0, 0}, 2, 1, 287 }, + { SUF_L, NOT_64, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0xFF, 0, 0}, 2, 1, 283 }, + { SUF_Q, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 64, 0, 1, {0xFF, 0, 0}, 2, 1, 286 }, + { GAS_ONLY|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 64, 0, 1, {0xFF, 0, 0}, 2, 1, 681 }, + { SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 64, 0, 1, {0xFF, 0, 0}, 2, 1, 674 }, + { GAS_ILLEGAL|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 16, 64, 0, 1, {0xFF, 0, 0}, 2, 1, 682 }, + { GAS_ILLEGAL|SUF_Z, NOT_64, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0xFF, 0, 0}, 2, 1, 683 }, + { GAS_ILLEGAL|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 64, 0, 1, {0xFF, 0, 0}, 2, 1, 684 }, + { GAS_ILLEGAL|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 64, 0, 1, {0xFF, 0, 0}, 2, 1, 685 }, + { GAS_ILLEGAL|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0xFF, 0, 0}, 3, 1, 686 }, + { GAS_ILLEGAL|SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0xFF, 0, 0}, 3, 1, 687 }, + { GAS_ILLEGAL|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 0, 0, 1, {0xFF, 0, 0}, 3, 1, 688 }, + { GAS_ILLEGAL|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0xFF, 0, 0}, 3, 1, 689 }, + { GAS_ILLEGAL|SUF_Z, NOT_64, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0x9A, 0, 0}, 0, 1, 690 }, + { GAS_ILLEGAL|SUF_Z, NOT_64, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0x9A, 0, 0}, 0, 1, 691 }, + { GAS_ILLEGAL|SUF_Z, NOT_64, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0x9A, 0, 0}, 0, 1, 692 }, + { GAS_ILLEGAL|SUF_Z, NOT_64, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0x9A, 0, 0}, 0, 1, 693 }, + { GAS_ILLEGAL|SUF_Z, NOT_64, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0x9A, 0, 0}, 0, 1, 694 }, + { GAS_ILLEGAL|SUF_Z, NOT_64, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0x9A, 0, 0}, 0, 1, 695 }, + { GAS_ONLY|GAS_NO_REV|SUF_W, NOT_64, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0x9A, 0, 0}, 0, 2, 567 }, + { GAS_ONLY|GAS_NO_REV|SUF_L, NOT_64, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0x9A, 0, 0}, 0, 2, 569 }, + { GAS_ONLY|GAS_NO_REV|SUF_Z, NOT_64, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0x9A, 0, 0}, 0, 2, 571 } +}; + +static const x86_insn_info jmp_insn[] = { + { SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 0, {0, 0, 0}, 0, 1, 675 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 0, {0, 0, 0}, 0, 1, 676 }, + { SUF_L|SUF_Z, NOT_64, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0x00, 0, 0}, 0, 1, 677 }, + { SUF_L|SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 0, 0, 1, {0x00, 0, 0}, 0, 1, 677 }, + { SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 64, 0, 1, {0xEB, 0, 0}, 0, 1, 483 }, + { SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 16, 64, 0, 1, {0xE9, 0, 0}, 0, 1, 678 }, + { SUF_Z, NOT_64, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0xE9, 0, 0}, 0, 1, 679 }, + { SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 64, 0, 1, {0xE9, 0, 0}, 0, 1, 679 }, + { SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 64, 0, 1, {0xE9, 0, 0}, 0, 1, 680 }, + { SUF_W, 0, 0, 0, 0, {0, 0, 0}, 16, 64, 0, 1, {0xFF, 0, 0}, 4, 1, 287 }, + { SUF_L, NOT_64, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0xFF, 0, 0}, 4, 1, 283 }, + { SUF_Q, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 64, 0, 1, {0xFF, 0, 0}, 4, 1, 286 }, + { GAS_ONLY|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 64, 0, 1, {0xFF, 0, 0}, 4, 1, 681 }, + { SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 64, 0, 1, {0xFF, 0, 0}, 4, 1, 674 }, + { GAS_ILLEGAL|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 16, 64, 0, 1, {0xFF, 0, 0}, 4, 1, 682 }, + { GAS_ILLEGAL|SUF_Z, NOT_64, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0xFF, 0, 0}, 4, 1, 683 }, + { GAS_ILLEGAL|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 64, 0, 1, {0xFF, 0, 0}, 4, 1, 684 }, + { GAS_ILLEGAL|SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 64, 0, 1, {0xFF, 0, 0}, 4, 1, 685 }, + { SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0xFF, 0, 0}, 5, 1, 686 }, + { SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0xFF, 0, 0}, 5, 1, 687 }, + { SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 0, 0, 1, {0xFF, 0, 0}, 5, 1, 688 }, + { SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0xFF, 0, 0}, 5, 1, 689 }, + { SUF_Z, NOT_64, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0xEA, 0, 0}, 0, 1, 690 }, + { SUF_Z, NOT_64, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0xEA, 0, 0}, 0, 1, 691 }, + { SUF_Z, NOT_64, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0xEA, 0, 0}, 0, 1, 692 }, + { GAS_ILLEGAL|SUF_Z, NOT_64, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0xEA, 0, 0}, 0, 1, 693 }, + { GAS_ILLEGAL|SUF_Z, NOT_64, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0xEA, 0, 0}, 0, 1, 694 }, + { GAS_ILLEGAL|SUF_Z, NOT_64, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0xEA, 0, 0}, 0, 1, 695 }, + { GAS_ONLY|GAS_NO_REV|SUF_W, NOT_64, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0xEA, 0, 0}, 0, 2, 567 }, + { GAS_ONLY|GAS_NO_REV|SUF_L, NOT_64, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0xEA, 0, 0}, 0, 2, 569 }, + { GAS_ONLY|GAS_NO_REV|SUF_Z, NOT_64, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0xEA, 0, 0}, 0, 2, 571 } +}; + +static const x86_insn_info ljmpcall_insn[] = { + { SUF_W, 0, 0, 0, 0, {MOD_SpAdd, 0, 0}, 16, 0, 0, 1, {0xFF, 0, 0}, 0, 1, 34 }, + { SUF_L, 0, CPU_386, 0, 0, {MOD_SpAdd, 0, 0}, 32, 0, 0, 1, {0xFF, 0, 0}, 0, 1, 58 }, + { SUF_Q, ONLY_64, 0, 0, 0, {MOD_SpAdd, 0, 0}, 64, 0, 0, 1, {0xFF, 0, 0}, 0, 1, 6 }, + { SUF_Z, 0, 0, 0, 0, {MOD_SpAdd, 0, 0}, 0, 0, 0, 1, {0xFF, 0, 0}, 0, 1, 699 }, + { GAS_NO_REV|SUF_W, NOT_64, 0, 0, 0, {MOD_Gap, MOD_Op0Add, 0}, 16, 0, 0, 1, {0x00, 0, 0}, 0, 2, 567 }, + { GAS_NO_REV|SUF_L, NOT_64, CPU_386, 0, 0, {MOD_Gap, MOD_Op0Add, 0}, 32, 0, 0, 1, {0x00, 0, 0}, 0, 2, 569 }, + { GAS_NO_REV|SUF_Z, NOT_64, 0, 0, 0, {MOD_Gap, MOD_Op0Add, 0}, 0, 0, 0, 1, {0x00, 0, 0}, 0, 2, 571 } +}; + +static const x86_insn_info retnf_insn[] = { + { SUF_Z, NOT_64, 0, 0, 0, {MOD_Op0Add, 0, 0}, 0, 0, 0, 1, {0x01, 0, 0}, 0, 0, 0 }, + { SUF_Z, NOT_64, 0, 0, 0, {MOD_Op0Add, 0, 0}, 0, 0, 0, 1, {0x00, 0, 0}, 0, 1, 406 }, + { SUF_Z, ONLY_64, 0, 0, 0, {MOD_Op0Add, MOD_OpSizeR, 0}, 0, 0, 0, 1, {0x01, 0, 0}, 0, 0, 0 }, + { SUF_Z, ONLY_64, 0, 0, 0, {MOD_Op0Add, MOD_OpSizeR, 0}, 0, 0, 0, 1, {0x00, 0, 0}, 0, 1, 406 }, + { SUF_L|SUF_Q|SUF_W|SUF_Z, 0, 0, 0, 0, {MOD_Op0Add, MOD_OpSizeR, 0}, 0, 0, 0, 1, {0x01, 0, 0}, 0, 0, 0 }, + { SUF_L|SUF_Q|SUF_W|SUF_Z, 0, 0, 0, 0, {MOD_Op0Add, MOD_OpSizeR, 0}, 0, 0, 0, 1, {0x00, 0, 0}, 0, 1, 406 } +}; + +static const x86_insn_info enter_insn[] = { + { GAS_NO_REV|SUF_L|SUF_Z, NOT_64, CPU_186, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0xC8, 0, 0}, 0, 2, 645 }, + { GAS_NO_REV|SUF_Q|SUF_Z, ONLY_64, CPU_186, 0, 0, {0, 0, 0}, 64, 64, 0, 1, {0xC8, 0, 0}, 0, 2, 645 }, + { GAS_ONLY|GAS_NO_REV|SUF_W|SUF_Z, 0, CPU_186, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0xC8, 0, 0}, 0, 2, 645 } +}; + +static const x86_insn_info jcc_insn[] = { + { SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 0, {0, 0, 0}, 0, 1, 481 }, + { SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 16, 0, 0, 0, {0, 0, 0}, 0, 1, 700 }, + { SUF_Z, NOT_64, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 0, {0, 0, 0}, 0, 1, 701 }, + { SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 0, 0, 0, {0, 0, 0}, 0, 1, 701 }, + { SUF_Z, 0, 0, 0, 0, {MOD_Op0Add, 0, 0}, 0, 64, 0, 1, {0x70, 0, 0}, 0, 1, 483 }, + { SUF_Z, 0, CPU_186, 0, 0, {MOD_Op1Add, 0, 0}, 16, 64, 0, 2, {0x0F, 0x80, 0}, 0, 1, 678 }, + { SUF_Z, NOT_64, CPU_386, 0, 0, {MOD_Op1Add, 0, 0}, 32, 0, 0, 2, {0x0F, 0x80, 0}, 0, 1, 679 }, + { SUF_Z, ONLY_64, 0, 0, 0, {MOD_Op1Add, 0, 0}, 64, 64, 0, 2, {0x0F, 0x80, 0}, 0, 1, 679 }, + { SUF_Z, 0, CPU_186, 0, 0, {MOD_Op1Add, 0, 0}, 0, 64, 0, 2, {0x0F, 0x80, 0}, 0, 1, 680 } +}; + +static const x86_insn_info jcxz_insn[] = { + { SUF_Z, 0, 0, 0, 0, {MOD_AdSizeR, 0, 0}, 0, 0, 0, 0, {0, 0, 0}, 0, 1, 481 }, + { SUF_Z, 0, 0, 0, 0, {MOD_AdSizeR, 0, 0}, 0, 64, 0, 1, {0xE3, 0, 0}, 0, 1, 483 } +}; + +static const x86_insn_info loop_insn[] = { + { SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 0, {0, 0, 0}, 0, 1, 481 }, + { SUF_Z, NOT_64, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 0, {0, 0, 0}, 0, 2, 493 }, + { SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 0, 64, 0, 0, {0, 0, 0}, 0, 2, 481 }, + { SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 0, 64, 0, 0, {0, 0, 0}, 0, 2, 489 }, + { SUF_Z, NOT_64, 0, 0, 0, {MOD_Op0Add, 0, 0}, 0, 0, 0, 1, {0xE0, 0, 0}, 0, 1, 483 }, + { SUF_Z, 0, 0, 0, 0, {MOD_Op0Add, 0, 0}, 0, 64, 0, 1, {0xE0, 0, 0}, 0, 2, 495 }, + { SUF_Z, 0, CPU_386, 0, 0, {MOD_Op0Add, 0, 0}, 0, 64, 0, 1, {0xE0, 0, 0}, 0, 2, 483 }, + { SUF_Z, ONLY_64, 0, 0, 0, {MOD_Op0Add, 0, 0}, 0, 64, 0, 1, {0xE0, 0, 0}, 0, 2, 491 } +}; + +static const x86_insn_info loopw_insn[] = { + { SUF_Z, NOT_64, 0, 0, 0, {MOD_Gap, MOD_AdSizeR, 0}, 0, 64, 0, 0, {0, 0, 0}, 0, 1, 481 }, + { SUF_Z, NOT_64, 0, 0, 0, {MOD_Op0Add, MOD_AdSizeR, 0}, 0, 64, 0, 1, {0xE0, 0, 0}, 0, 1, 483 }, + { SUF_Z, NOT_64, 0, 0, 0, {0, 0, 0}, 0, 64, 0, 0, {0, 0, 0}, 0, 2, 493 }, + { SUF_Z, NOT_64, 0, 0, 0, {MOD_Op0Add, 0, 0}, 0, 64, 0, 1, {0xE0, 0, 0}, 0, 2, 495 } +}; + +static const x86_insn_info loopl_insn[] = { + { SUF_Z, 0, 0, 0, 0, {MOD_Gap, MOD_AdSizeR, 0}, 0, 64, 0, 0, {0, 0, 0}, 0, 1, 481 }, + { SUF_Z, 0, 0, 0, 0, {MOD_Op0Add, MOD_AdSizeR, 0}, 0, 64, 0, 1, {0xE0, 0, 0}, 0, 1, 483 }, + { SUF_Z, 0, CPU_386, 0, 0, {0, 0, 0}, 0, 64, 0, 0, {0, 0, 0}, 0, 2, 481 }, + { SUF_Z, 0, CPU_386, 0, 0, {MOD_Op0Add, 0, 0}, 0, 64, 0, 1, {0xE0, 0, 0}, 0, 2, 483 } +}; + +static const x86_insn_info loopq_insn[] = { + { SUF_Z, ONLY_64, 0, 0, 0, {MOD_Gap, MOD_AdSizeR, 0}, 0, 64, 0, 0, {0, 0, 0}, 0, 1, 481 }, + { SUF_Z, ONLY_64, 0, 0, 0, {MOD_Op0Add, MOD_AdSizeR, 0}, 0, 64, 0, 1, {0xE0, 0, 0}, 0, 1, 483 }, + { SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 0, 64, 0, 0, {0, 0, 0}, 0, 2, 489 }, + { SUF_Z, ONLY_64, 0, 0, 0, {MOD_Op0Add, 0, 0}, 0, 64, 0, 1, {0xE0, 0, 0}, 0, 2, 491 } +}; + +static const x86_insn_info setcc_insn[] = { + { SUF_B|SUF_Z, 0, CPU_386, 0, 0, {MOD_Op1Add, 0, 0}, 0, 0, 0, 2, {0x0F, 0x90, 0}, 2, 1, 323 } +}; + +static const x86_insn_info cmpsd_insn[] = { + { GAS_ILLEGAL|SUF_Z, NOT_AVX, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0xA7, 0, 0}, 0, 0, 0 }, + { SUF_Z, 0, CPU_SSE2, 0, 0, {MOD_SetVEX, 0, 0}, 0, 0, 0xF2, 2, {0x0F, 0xC2, 0}, 0, 3, 92 }, + { SUF_Z, 0, CPU_SSE2, 0, 0, {MOD_SetVEX, 0, 0}, 0, 0, 0xF2, 2, {0x0F, 0xC2, 0}, 0, 3, 95 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {0, 0, 0}, 0, 0, 0xC3, 2, {0x0F, 0xC2, 0}, 0, 4, 0 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {0, 0, 0}, 0, 0, 0xC3, 2, {0x0F, 0xC2, 0}, 0, 4, 4 } +}; + +static const x86_insn_info movsd_insn[] = { + { SUF_Z, NOT_AVX, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0xA5, 0, 0}, 0, 0, 0 }, + { SUF_Z, 0, CPU_SSE2, 0, 0, {MOD_SetVEX, 0, 0}, 0, 0, 0xF2, 2, {0x0F, 0x10, 0}, 0, 2, 92 }, + { SUF_Z, 0, CPU_SSE2, 0, 0, {MOD_SetVEX, 0, 0}, 0, 0, 0xF2, 2, {0x0F, 0x10, 0}, 0, 2, 451 }, + { SUF_Z, 0, CPU_SSE2, 0, 0, {MOD_SetVEX, 0, 0}, 0, 0, 0xF2, 2, {0x0F, 0x11, 0}, 0, 2, 47 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {0, 0, 0}, 0, 0, 0xC3, 2, {0x0F, 0x10, 0}, 0, 3, 0 } +}; + +static const x86_insn_info bittest_insn[] = { + { SUF_W|SUF_Z, 0, CPU_386, 0, 0, {MOD_Op1Add, 0, 0}, 16, 0, 0, 2, {0x0F, 0x00, 0}, 0, 2, 260 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {MOD_Op1Add, 0, 0}, 32, 0, 0, 2, {0x0F, 0x00, 0}, 0, 2, 266 }, + { SUF_Q|SUF_Z, ONLY_64, CPU_386, 0, 0, {MOD_Op1Add, 0, 0}, 64, 0, 0, 2, {0x0F, 0x00, 0}, 0, 2, 272 }, + { SUF_W|SUF_Z, 0, CPU_386, 0, 0, {MOD_Gap, MOD_SpAdd, 0}, 16, 0, 0, 2, {0x0F, 0xBA, 0}, 0, 2, 287 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {MOD_Gap, MOD_SpAdd, 0}, 32, 0, 0, 2, {0x0F, 0xBA, 0}, 0, 2, 289 }, + { SUF_Q|SUF_Z, ONLY_64, CPU_386, 0, 0, {MOD_Gap, MOD_SpAdd, 0}, 64, 0, 0, 2, {0x0F, 0xBA, 0}, 0, 2, 291 } +}; + +static const x86_insn_info bsfr_insn[] = { + { SUF_W|SUF_Z, 0, 0, 0, 0, {MOD_Op1Add, 0, 0}, 16, 0, 0, 2, {0x0F, 0x00, 0}, 0, 2, 98 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {MOD_Op1Add, 0, 0}, 32, 0, 0, 2, {0x0F, 0x00, 0}, 0, 2, 101 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {MOD_Op1Add, 0, 0}, 64, 0, 0, 2, {0x0F, 0x00, 0}, 0, 2, 104 } +}; + +static const x86_insn_info int_insn[] = { + { SUF_Z, 0, 0, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0xCD, 0, 0}, 0, 1, 3 } +}; + +static const x86_insn_info bound_insn[] = { + { SUF_W|SUF_Z, NOT_64, CPU_186, 0, 0, {0, 0, 0}, 16, 0, 0, 1, {0x62, 0, 0}, 0, 2, 465 }, + { SUF_L|SUF_Z, NOT_64, CPU_386, 0, 0, {0, 0, 0}, 32, 0, 0, 1, {0x62, 0, 0}, 0, 2, 359 } +}; + +static const x86_insn_info larlsl_insn[] = { + { SUF_W|SUF_Z, 0, 0, 0, 0, {MOD_Op1Add, 0, 0}, 16, 0, 0, 2, {0x0F, 0x00, 0}, 0, 2, 455 }, + { SUF_W|SUF_Z, 0, 0, 0, 0, {MOD_Op1Add, 0, 0}, 16, 0, 0, 2, {0x0F, 0x00, 0}, 0, 2, 98 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {MOD_Op1Add, 0, 0}, 32, 0, 0, 2, {0x0F, 0x00, 0}, 0, 2, 457 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {MOD_Op1Add, 0, 0}, 32, 0, 0, 2, {0x0F, 0x00, 0}, 0, 2, 459 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {MOD_Op1Add, 0, 0}, 64, 0, 0, 2, {0x0F, 0x00, 0}, 0, 2, 461 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {MOD_Op1Add, 0, 0}, 64, 0, 0, 2, {0x0F, 0x00, 0}, 0, 2, 463 } +}; + +static const x86_insn_info arpl_insn[] = { + { SUF_W|SUF_Z, NOT_64, CPU_286, CPU_Prot, 0, {0, 0, 0}, 0, 0, 0, 1, {0x63, 0, 0}, 0, 2, 260 } +}; + +static const x86_insn_info str_insn[] = { + { SUF_W|SUF_Z, 0, CPU_286, CPU_Prot, 0, {0, 0, 0}, 16, 0, 0, 2, {0x0F, 0x00, 0}, 1, 1, 395 }, + { SUF_L|SUF_Z, 0, CPU_386, CPU_Prot, 0, {0, 0, 0}, 32, 0, 0, 2, {0x0F, 0x00, 0}, 1, 1, 26 }, + { SUF_Q|SUF_Z, ONLY_64, CPU_286, CPU_Prot, 0, {0, 0, 0}, 64, 0, 0, 2, {0x0F, 0x00, 0}, 1, 1, 30 }, + { SUF_L|SUF_W|SUF_Z, 0, CPU_286, CPU_Prot, 0, {0, 0, 0}, 0, 0, 0, 2, {0x0F, 0x00, 0}, 1, 1, 99 } +}; + +static const x86_insn_info prot286_insn[] = { + { SUF_W|SUF_Z, 0, CPU_286, 0, 0, {MOD_SpAdd, MOD_Op1Add, 0}, 0, 0, 0, 2, {0x0F, 0x00, 0}, 0, 1, 99 } +}; + +static const x86_insn_info sldtmsw_insn[] = { + { SUF_W|SUF_Z, 0, CPU_286, 0, 0, {MOD_SpAdd, MOD_Op1Add, 0}, 0, 0, 0, 2, {0x0F, 0x00, 0}, 0, 1, 34 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {MOD_SpAdd, MOD_Op1Add, 0}, 0, 0, 0, 2, {0x0F, 0x00, 0}, 0, 1, 58 }, + { SUF_Q|SUF_Z, ONLY_64, CPU_286, 0, 0, {MOD_SpAdd, MOD_Op1Add, 0}, 0, 0, 0, 2, {0x0F, 0x00, 0}, 0, 1, 6 }, + { SUF_W|SUF_Z, 0, CPU_286, 0, 0, {MOD_SpAdd, MOD_Op1Add, 0}, 16, 0, 0, 2, {0x0F, 0x00, 0}, 0, 1, 395 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {MOD_SpAdd, MOD_Op1Add, 0}, 32, 0, 0, 2, {0x0F, 0x00, 0}, 0, 1, 26 }, + { SUF_Q|SUF_Z, ONLY_64, CPU_286, 0, 0, {MOD_SpAdd, MOD_Op1Add, 0}, 64, 0, 0, 2, {0x0F, 0x00, 0}, 0, 1, 30 } +}; + +static const x86_insn_info fld_insn[] = { + { SUF_S|SUF_Z, 0, CPU_FPU, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0xD9, 0, 0}, 0, 1, 654 }, + { SUF_L|SUF_Z, 0, CPU_FPU, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0xDD, 0, 0}, 0, 1, 212 }, + { SUF_Z, 0, CPU_FPU, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0xDB, 0, 0}, 5, 1, 656 }, + { SUF_Z, 0, CPU_FPU, 0, 0, {0, 0, 0}, 0, 0, 0, 2, {0xD9, 0xC0, 0}, 0, 1, 328 } +}; + +static const x86_insn_info fstp_insn[] = { + { SUF_S|SUF_Z, 0, CPU_FPU, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0xD9, 0, 0}, 3, 1, 654 }, + { SUF_L|SUF_Z, 0, CPU_FPU, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0xDD, 0, 0}, 3, 1, 212 }, + { SUF_Z, 0, CPU_FPU, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0xDB, 0, 0}, 7, 1, 656 }, + { SUF_Z, 0, CPU_FPU, 0, 0, {0, 0, 0}, 0, 0, 0, 2, {0xDD, 0xD8, 0}, 0, 1, 328 } +}; + +static const x86_insn_info fldstpt_insn[] = { + { SUF_Z, 0, CPU_FPU, 0, 0, {MOD_SpAdd, 0, 0}, 0, 0, 0, 1, {0xDB, 0, 0}, 0, 1, 619 } +}; + +static const x86_insn_info fildstp_insn[] = { + { SUF_S|SUF_Z, 0, CPU_FPU, 0, 0, {MOD_SpAdd, 0, 0}, 0, 0, 0, 1, {0xDF, 0, 0}, 0, 1, 653 }, + { SUF_L|SUF_Z, 0, CPU_FPU, 0, 0, {MOD_SpAdd, 0, 0}, 0, 0, 0, 1, {0xDB, 0, 0}, 0, 1, 654 }, + { SUF_Q|SUF_Z, 0, CPU_FPU, 0, 0, {MOD_Gap, MOD_Op0Add, MOD_SpAdd}, 0, 0, 0, 1, {0xDD, 0, 0}, 0, 1, 212 }, + { GAS_ONLY|SUF_Z, 0, CPU_FPU, 0, 0, {MOD_SpAdd, 0, 0}, 0, 0, 0, 1, {0xDF, 0, 0}, 0, 1, 34 } +}; + +static const x86_insn_info fbldstp_insn[] = { + { SUF_Z, 0, CPU_FPU, 0, 0, {MOD_SpAdd, 0, 0}, 0, 0, 0, 1, {0xDF, 0, 0}, 0, 1, 619 } +}; + +static const x86_insn_info fst_insn[] = { + { SUF_S|SUF_Z, 0, CPU_FPU, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0xD9, 0, 0}, 2, 1, 654 }, + { SUF_L|SUF_Z, 0, CPU_FPU, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0xDD, 0, 0}, 2, 1, 212 }, + { SUF_Z, 0, CPU_FPU, 0, 0, {0, 0, 0}, 0, 0, 0, 2, {0xDD, 0xD0, 0}, 0, 1, 328 } +}; + +static const x86_insn_info fxch_insn[] = { + { SUF_Z, 0, CPU_FPU, 0, 0, {0, 0, 0}, 0, 0, 0, 2, {0xD9, 0xC8, 0}, 0, 1, 328 }, + { SUF_Z, 0, CPU_FPU, 0, 0, {0, 0, 0}, 0, 0, 0, 2, {0xD9, 0xC8, 0}, 0, 2, 327 }, + { SUF_Z, 0, CPU_FPU, 0, 0, {0, 0, 0}, 0, 0, 0, 2, {0xD9, 0xC8, 0}, 0, 2, 329 }, + { SUF_Z, 0, CPU_FPU, 0, 0, {0, 0, 0}, 0, 0, 0, 2, {0xD9, 0xC9, 0}, 0, 0, 0 } +}; + +static const x86_insn_info fcom_insn[] = { + { SUF_S|SUF_Z, 0, CPU_FPU, 0, 0, {MOD_Gap, MOD_SpAdd, 0}, 0, 0, 0, 1, {0xD8, 0, 0}, 0, 1, 654 }, + { SUF_L|SUF_Z, 0, CPU_FPU, 0, 0, {MOD_Gap, MOD_SpAdd, 0}, 0, 0, 0, 1, {0xDC, 0, 0}, 0, 1, 212 }, + { SUF_Z, 0, CPU_FPU, 0, 0, {MOD_Op1Add, 0, 0}, 0, 0, 0, 2, {0xD8, 0x00, 0}, 0, 1, 328 }, + { GAS_ONLY|SUF_Z, 0, CPU_FPU, 0, 0, {MOD_Gap, MOD_SpAdd, 0}, 0, 0, 0, 1, {0xD8, 0, 0}, 0, 1, 58 }, + { GAS_ONLY|SUF_Z, 0, CPU_FPU, 0, 0, {MOD_Op1Add, 0, 0}, 0, 0, 0, 2, {0xD8, 0x01, 0}, 0, 0, 0 }, + { GAS_ILLEGAL|SUF_Z, 0, CPU_FPU, 0, 0, {MOD_Op1Add, 0, 0}, 0, 0, 0, 2, {0xD8, 0x00, 0}, 0, 2, 327 } +}; + +static const x86_insn_info fcom2_insn[] = { + { SUF_Z, 0, CPU_286, CPU_FPU, 0, {MOD_Op0Add, MOD_Op1Add, 0}, 0, 0, 0, 2, {0x00, 0x00, 0}, 0, 1, 328 }, + { SUF_Z, 0, CPU_286, CPU_FPU, 0, {MOD_Op0Add, MOD_Op1Add, 0}, 0, 0, 0, 2, {0x00, 0x00, 0}, 0, 2, 327 } +}; + +static const x86_insn_info farith_insn[] = { + { SUF_S|SUF_Z, 0, CPU_FPU, 0, 0, {MOD_Gap, MOD_Gap, MOD_SpAdd}, 0, 0, 0, 1, {0xD8, 0, 0}, 0, 1, 654 }, + { SUF_L|SUF_Z, 0, CPU_FPU, 0, 0, {MOD_Gap, MOD_Gap, MOD_SpAdd}, 0, 0, 0, 1, {0xDC, 0, 0}, 0, 1, 212 }, + { SUF_Z, 0, CPU_FPU, 0, 0, {MOD_Gap, MOD_Op1Add, 0}, 0, 0, 0, 2, {0xD8, 0x00, 0}, 0, 1, 328 }, + { SUF_Z, 0, CPU_FPU, 0, 0, {MOD_Gap, MOD_Op1Add, 0}, 0, 0, 0, 2, {0xD8, 0x00, 0}, 0, 2, 327 }, + { SUF_Z, 0, CPU_FPU, 0, 0, {MOD_Op1Add, 0, 0}, 0, 0, 0, 2, {0xDC, 0x00, 0}, 0, 1, 696 }, + { GAS_ILLEGAL|SUF_Z, 0, CPU_FPU, 0, 0, {MOD_Op1Add, 0, 0}, 0, 0, 0, 2, {0xDC, 0x00, 0}, 0, 2, 329 }, + { GAS_ONLY|SUF_Z, 0, CPU_FPU, 0, 0, {MOD_Gap, MOD_Op1Add, 0}, 0, 0, 0, 2, {0xDC, 0x00, 0}, 0, 2, 329 } +}; + +static const x86_insn_info farithp_insn[] = { + { SUF_Z, 0, CPU_FPU, 0, 0, {MOD_Op1Add, 0, 0}, 0, 0, 0, 2, {0xDE, 0x01, 0}, 0, 0, 0 }, + { SUF_Z, 0, CPU_FPU, 0, 0, {MOD_Op1Add, 0, 0}, 0, 0, 0, 2, {0xDE, 0x00, 0}, 0, 1, 328 }, + { SUF_Z, 0, CPU_FPU, 0, 0, {MOD_Op1Add, 0, 0}, 0, 0, 0, 2, {0xDE, 0x00, 0}, 0, 2, 329 } +}; + +static const x86_insn_info fiarith_insn[] = { + { SUF_S|SUF_Z, 0, CPU_FPU, 0, 0, {MOD_SpAdd, MOD_Op0Add, 0}, 0, 0, 0, 1, {0x04, 0, 0}, 0, 1, 653 }, + { SUF_L|SUF_Z, 0, CPU_FPU, 0, 0, {MOD_SpAdd, MOD_Op0Add, 0}, 0, 0, 0, 1, {0x00, 0, 0}, 0, 1, 654 } +}; + +static const x86_insn_info fldnstcw_insn[] = { + { SUF_W|SUF_Z, 0, CPU_FPU, 0, 0, {MOD_SpAdd, 0, 0}, 0, 0, 0, 1, {0xD9, 0, 0}, 0, 1, 34 } +}; + +static const x86_insn_info fstcw_insn[] = { + { SUF_W|SUF_Z, 0, CPU_FPU, 0, 0, {0, 0, 0}, 0, 0, 0, 2, {0x9B, 0xD9, 0}, 7, 1, 34 } +}; + +static const x86_insn_info fnstsw_insn[] = { + { SUF_W|SUF_Z, 0, CPU_FPU, 0, 0, {0, 0, 0}, 0, 0, 0, 1, {0xDD, 0, 0}, 7, 1, 34 }, + { SUF_W|SUF_Z, 0, CPU_FPU, 0, 0, {0, 0, 0}, 0, 0, 0, 2, {0xDF, 0xE0, 0}, 0, 1, 343 } +}; + +static const x86_insn_info fstsw_insn[] = { + { SUF_W|SUF_Z, 0, CPU_FPU, 0, 0, {0, 0, 0}, 0, 0, 0, 2, {0x9B, 0xDD, 0}, 7, 1, 34 }, + { SUF_W|SUF_Z, 0, CPU_FPU, 0, 0, {0, 0, 0}, 0, 0, 0, 3, {0x9B, 0xDF, 0xE0}, 0, 1, 343 } +}; + +static const x86_insn_info ffree_insn[] = { + { SUF_Z, 0, CPU_FPU, 0, 0, {MOD_Op0Add, 0, 0}, 0, 0, 0, 2, {0x00, 0xC0, 0}, 0, 1, 328 } +}; + +static const x86_insn_info bswap_insn[] = { + { SUF_L|SUF_Z, 0, CPU_486, 0, 0, {0, 0, 0}, 32, 0, 0, 2, {0x0F, 0xC8, 0}, 0, 1, 697 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 0, 0, 2, {0x0F, 0xC8, 0}, 0, 1, 698 } +}; + +static const x86_insn_info cmpxchgxadd_insn[] = { + { SUF_B|SUF_Z, 0, CPU_486, 0, 0, {MOD_Op1Add, 0, 0}, 0, 0, 0, 2, {0x0F, 0x00, 0}, 0, 2, 323 }, + { SUF_W|SUF_Z, 0, CPU_486, 0, 0, {MOD_Op1Add, 0, 0}, 16, 0, 0, 2, {0x0F, 0x01, 0}, 0, 2, 260 }, + { SUF_L|SUF_Z, 0, CPU_486, 0, 0, {MOD_Op1Add, 0, 0}, 32, 0, 0, 2, {0x0F, 0x01, 0}, 0, 2, 266 }, + { SUF_Q|SUF_Z, ONLY_64, CPU_486, 0, 0, {MOD_Op1Add, 0, 0}, 64, 0, 0, 2, {0x0F, 0x01, 0}, 0, 2, 272 } +}; + +static const x86_insn_info cmpxchg8b_insn[] = { + { SUF_Q|SUF_Z, 0, CPU_586, 0, 0, {0, 0, 0}, 0, 0, 0, 2, {0x0F, 0xC7, 0}, 1, 1, 6 } +}; + +static const x86_insn_info cmovcc_insn[] = { + { SUF_W|SUF_Z, 0, CPU_686, 0, 0, {MOD_Op1Add, 0, 0}, 16, 0, 0, 2, {0x0F, 0x40, 0}, 0, 2, 98 }, + { SUF_L|SUF_Z, 0, CPU_686, 0, 0, {MOD_Op1Add, 0, 0}, 32, 0, 0, 2, {0x0F, 0x40, 0}, 0, 2, 101 }, + { SUF_Q|SUF_Z, ONLY_64, CPU_686, 0, 0, {MOD_Op1Add, 0, 0}, 64, 0, 0, 2, {0x0F, 0x40, 0}, 0, 2, 104 } +}; + +static const x86_insn_info fcmovcc_insn[] = { + { SUF_Z, 0, CPU_686, CPU_FPU, 0, {MOD_Op0Add, MOD_Op1Add, 0}, 0, 0, 0, 2, {0x00, 0x00, 0}, 0, 2, 327 } +}; + +static const x86_insn_info movnti_insn[] = { + { SUF_L|SUF_Z, 0, CPU_P4, 0, 0, {0, 0, 0}, 0, 0, 0, 2, {0x0F, 0xC3, 0}, 0, 2, 337 }, + { SUF_Q|SUF_Z, ONLY_64, CPU_P4, 0, 0, {0, 0, 0}, 64, 0, 0, 2, {0x0F, 0xC3, 0}, 0, 2, 339 } +}; + +static const x86_insn_info clflush_insn[] = { + { SUF_Z, 0, CPU_P3, 0, 0, {0, 0, 0}, 0, 0, 0, 2, {0x0F, 0xAE, 0}, 7, 1, 50 } +}; + +static const x86_insn_info movd_insn[] = { + { SUF_Z, 0, CPU_386, CPU_MMX, 0, {0, 0, 0}, 0, 0, 0, 2, {0x0F, 0x6E, 0}, 0, 2, 293 }, + { SUF_Z, ONLY_64, CPU_MMX, 0, 0, {0, 0, 0}, 64, 0, 0, 2, {0x0F, 0x6E, 0}, 0, 2, 295 }, + { SUF_Z, 0, CPU_386, CPU_MMX, 0, {0, 0, 0}, 0, 0, 0, 2, {0x0F, 0x7E, 0}, 0, 2, 294 }, + { SUF_Z, ONLY_64, CPU_MMX, 0, 0, {0, 0, 0}, 64, 0, 0, 2, {0x0F, 0x7E, 0}, 0, 2, 297 }, + { SUF_Z, 0, CPU_386, CPU_SSE2, 0, {0, 0, 0}, 0, 0, 0x66, 2, {0x0F, 0x6E, 0}, 0, 2, 299 }, + { SUF_Z, ONLY_64, CPU_SSE2, 0, 0, {0, 0, 0}, 64, 0, 0x66, 2, {0x0F, 0x6E, 0}, 0, 2, 301 }, + { SUF_Z, 0, CPU_386, CPU_SSE2, 0, {0, 0, 0}, 0, 0, 0x66, 2, {0x0F, 0x7E, 0}, 0, 2, 188 }, + { SUF_Z, ONLY_64, CPU_SSE2, 0, 0, {0, 0, 0}, 64, 0, 0x66, 2, {0x0F, 0x7E, 0}, 0, 2, 182 } +}; + +static const x86_insn_info movq_insn[] = { + { GAS_ILLEGAL|SUF_Z, 0, CPU_MMX, 0, 0, {0, 0, 0}, 0, 0, 0, 2, {0x0F, 0x6F, 0}, 0, 2, 140 }, + { GAS_ILLEGAL|SUF_Z, ONLY_64, CPU_MMX, 0, 0, {0, 0, 0}, 64, 0, 0, 2, {0x0F, 0x6E, 0}, 0, 2, 295 }, + { GAS_ILLEGAL|SUF_Z, 0, CPU_MMX, 0, 0, {0, 0, 0}, 0, 0, 0, 2, {0x0F, 0x7F, 0}, 0, 2, 331 }, + { GAS_ILLEGAL|SUF_Z, ONLY_64, CPU_MMX, 0, 0, {0, 0, 0}, 64, 0, 0, 2, {0x0F, 0x7E, 0}, 0, 2, 297 }, + { GAS_ILLEGAL|SUF_Z, 0, CPU_SSE2, 0, 0, {0, 0, 0}, 0, 0, 0xF3, 2, {0x0F, 0x7E, 0}, 0, 2, 64 }, + { GAS_ILLEGAL|SUF_Z, 0, CPU_SSE2, 0, 0, {0, 0, 0}, 0, 0, 0xF3, 2, {0x0F, 0x7E, 0}, 0, 2, 333 }, + { GAS_ILLEGAL|SUF_Z, ONLY_64, CPU_SSE2, 0, 0, {0, 0, 0}, 64, 0, 0x66, 2, {0x0F, 0x6E, 0}, 0, 2, 301 }, + { GAS_ILLEGAL|SUF_Z, 0, CPU_SSE2, 0, 0, {0, 0, 0}, 0, 0, 0x66, 2, {0x0F, 0xD6, 0}, 0, 2, 335 }, + { GAS_ILLEGAL|SUF_Z, ONLY_64, CPU_SSE2, 0, 0, {0, 0, 0}, 64, 0, 0x66, 2, {0x0F, 0x7E, 0}, 0, 2, 182 } +}; + +static const x86_insn_info mmxsse2_insn[] = { + { SUF_Z, 0, CPU_MMX, 0, 0, {MOD_Op1Add, 0, 0}, 0, 0, 0, 2, {0x0F, 0x00, 0}, 0, 2, 140 }, + { SUF_Z, 0, CPU_SSE2, 0, 0, {MOD_Op1Add, 0, 0}, 0, 0, 0x66, 2, {0x0F, 0x00, 0}, 0, 2, 155 } +}; + +static const x86_insn_info pshift_insn[] = { + { SUF_Z, 0, CPU_MMX, 0, 0, {MOD_Op1Add, 0, 0}, 0, 0, 0, 2, {0x0F, 0x00, 0}, 0, 2, 140 }, + { SUF_Z, 0, CPU_MMX, 0, 0, {MOD_Gap, MOD_Op1Add, MOD_SpAdd}, 0, 0, 0, 2, {0x0F, 0x00, 0}, 0, 2, 162 }, + { SUF_Z, 0, CPU_SSE2, 0, 0, {MOD_Op1Add, 0, 0}, 0, 0, 0x66, 2, {0x0F, 0x00, 0}, 0, 2, 155 }, + { SUF_Z, 0, CPU_SSE2, 0, 0, {MOD_Gap, MOD_Op1Add, MOD_SpAdd}, 0, 0, 0x66, 2, {0x0F, 0x00, 0}, 0, 2, 2 } +}; + +static const x86_insn_info vpshift_insn[] = { + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_Op1Add, 0, 0}, 0, 0, 0xC1, 2, {0x0F, 0x00, 0}, 0, 2, 158 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_Gap, MOD_Op1Add, MOD_SpAdd}, 0, 0, 0xC1, 2, {0x0F, 0x00, 0}, 0, 2, 511 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_Op1Add, 0, 0}, 0, 0, 0xC1, 2, {0x0F, 0x00, 0}, 0, 3, 12 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_Gap, MOD_Op1Add, MOD_SpAdd}, 0, 0, 0xC1, 2, {0x0F, 0x00, 0}, 0, 3, 1 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_Op1Add, 0, 0}, 0, 0, 0xC5, 2, {0x0F, 0x00, 0}, 0, 2, 639 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_Gap, MOD_Op1Add, MOD_SpAdd}, 0, 0, 0xC5, 2, {0x0F, 0x00, 0}, 0, 2, 513 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_Op1Add, 0, 0}, 0, 0, 0xC5, 2, {0x0F, 0x00, 0}, 0, 3, 8 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_Gap, MOD_Op1Add, MOD_SpAdd}, 0, 0, 0xC5, 2, {0x0F, 0x00, 0}, 0, 3, 200 } +}; + +static const x86_insn_info xmm_xmm128_256_insn[] = { + { SUF_Z, 0, CPU_SSE, 0, 0, {MOD_PreAdd, MOD_Op1Add, MOD_SetVEX}, 0, 0, 0x00, 2, {0x0F, 0x00, 0}, 0, 2, 158 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0xC0, 2, {0x0F, 0x00, 0}, 0, 3, 12 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0xC4, 2, {0x0F, 0x00, 0}, 0, 2, 197 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0xC4, 2, {0x0F, 0x00, 0}, 0, 3, 16 } +}; + +static const x86_insn_info xmm_xmm128_256avx2_insn[] = { + { SUF_Z, 0, CPU_SSE, 0, 0, {MOD_PreAdd, MOD_Op1Add, MOD_SetVEX}, 0, 0, 0x00, 2, {0x0F, 0x00, 0}, 0, 2, 158 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0xC0, 2, {0x0F, 0x00, 0}, 0, 3, 12 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0xC4, 2, {0x0F, 0x00, 0}, 0, 2, 197 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0xC4, 2, {0x0F, 0x00, 0}, 0, 3, 16 } +}; + +static const x86_insn_info xmm_xmm128_insn[] = { + { SUF_Z, 0, CPU_SSE, 0, 0, {MOD_PreAdd, MOD_Op1Add, MOD_SetVEX}, 0, 0, 0x00, 2, {0x0F, 0x00, 0}, 0, 2, 158 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0xC0, 2, {0x0F, 0x00, 0}, 0, 3, 12 } +}; + +static const x86_insn_info cvt_rx_xmm32_insn[] = { + { SUF_L|SUF_Z, 0, CPU_386, CPU_SSE, 0, {MOD_PreAdd, MOD_Op1Add, MOD_SetVEX}, 0, 0, 0x00, 2, {0x0F, 0x00, 0}, 0, 2, 164 }, + { SUF_L|SUF_Z, 0, CPU_386, CPU_SSE, 0, {MOD_PreAdd, MOD_Op1Add, MOD_SetVEX}, 0, 0, 0x00, 2, {0x0F, 0x00, 0}, 0, 2, 359 }, + { SUF_Q|SUF_Z, ONLY_64, CPU_SSE, 0, 0, {MOD_PreAdd, MOD_Op1Add, MOD_SetVEX}, 64, 0, 0x00, 2, {0x0F, 0x00, 0}, 0, 2, 170 }, + { SUF_Q|SUF_Z, ONLY_64, CPU_SSE, 0, 0, {MOD_PreAdd, MOD_Op1Add, MOD_SetVEX}, 64, 0, 0x00, 2, {0x0F, 0x00, 0}, 0, 2, 361 } +}; + +static const x86_insn_info cvt_mm_xmm64_insn[] = { + { SUF_Z, 0, CPU_SSE, 0, 0, {MOD_Op1Add, 0, 0}, 0, 0, 0, 2, {0x0F, 0x00, 0}, 0, 2, 315 }, + { SUF_Z, 0, CPU_SSE, 0, 0, {MOD_Op1Add, 0, 0}, 0, 0, 0, 2, {0x0F, 0x00, 0}, 0, 2, 317 } +}; + +static const x86_insn_info cvt_xmm_mm_ps_insn[] = { + { SUF_Z, 0, CPU_SSE, 0, 0, {MOD_Op1Add, 0, 0}, 0, 0, 0, 2, {0x0F, 0x00, 0}, 0, 2, 333 } +}; + +static const x86_insn_info cvt_xmm_rmx_insn[] = { + { SUF_L|SUF_Z, 0, CPU_386, CPU_SSE, 0, {MOD_PreAdd, MOD_Op1Add, MOD_SetVEX}, 0, 0, 0x00, 2, {0x0F, 0x00, 0}, 0, 2, 649 }, + { SUF_L|SUF_Z, NOT_64, CPU_386, CPU_SSE, 0, {MOD_PreAdd, MOD_Op1Add, MOD_SetVEX}, 0, 0, 0x00, 2, {0x0F, 0x00, 0}, 0, 2, 239 }, + { SUF_Q|SUF_Z, ONLY_64, CPU_SSE, 0, 0, {MOD_PreAdd, MOD_Op1Add, MOD_SetVEX}, 64, 0, 0x00, 2, {0x0F, 0x00, 0}, 0, 2, 651 }, + { SUF_L|SUF_Z, ONLY_AVX|NOT_64, CPU_386, CPU_AVX, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0xC0, 2, {0x0F, 0x00, 0}, 0, 3, 88 }, + { SUF_L|SUF_Z, ONLY_AVX, CPU_386, CPU_AVX, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0xC0, 2, {0x0F, 0x00, 0}, 0, 3, 281 }, + { SUF_Q|SUF_Z, ONLY_64|ONLY_AVX, CPU_AVX, 0, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 64, 0, 0xC0, 2, {0x0F, 0x00, 0}, 0, 3, 284 } +}; + +static const x86_insn_info xmm_xmm32_insn[] = { + { SUF_Z, 0, CPU_SSE, 0, 0, {MOD_PreAdd, MOD_Op1Add, MOD_SetVEX}, 0, 0, 0x00, 2, {0x0F, 0x00, 0}, 0, 2, 92 }, + { SUF_Z, 0, CPU_SSE, 0, 0, {MOD_PreAdd, MOD_Op1Add, MOD_SetVEX}, 0, 0, 0x00, 2, {0x0F, 0x00, 0}, 0, 2, 146 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0xC0, 2, {0x0F, 0x00, 0}, 0, 3, 0 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0xC0, 2, {0x0F, 0x00, 0}, 0, 3, 56 } +}; + +static const x86_insn_info ssecmp_128_insn[] = { + { SUF_Z, 0, CPU_SSE, 0, 0, {MOD_Imm8, MOD_PreAdd, MOD_SetVEX}, 0, 0, 0, 2, {0x0F, 0xC2, 0}, 0, 2, 158 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_Imm8, MOD_PreAdd, 0}, 0, 0, 0xC0, 2, {0x0F, 0xC2, 0}, 0, 3, 12 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_Imm8, MOD_PreAdd, 0}, 0, 0, 0xC4, 2, {0x0F, 0xC2, 0}, 0, 3, 16 } +}; + +static const x86_insn_info ssecmp_32_insn[] = { + { SUF_Z, 0, CPU_SSE, 0, 0, {MOD_Imm8, MOD_PreAdd, MOD_SetVEX}, 0, 0, 0x00, 2, {0x0F, 0xC2, 0}, 0, 2, 92 }, + { SUF_Z, 0, CPU_SSE, 0, 0, {MOD_Imm8, MOD_PreAdd, MOD_SetVEX}, 0, 0, 0x00, 2, {0x0F, 0xC2, 0}, 0, 2, 146 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_Imm8, MOD_PreAdd, 0}, 0, 0, 0xC0, 2, {0x0F, 0xC2, 0}, 0, 3, 0 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_Imm8, MOD_PreAdd, 0}, 0, 0, 0xC0, 2, {0x0F, 0xC2, 0}, 0, 3, 56 } +}; + +static const x86_insn_info xmm_xmm128_imm_insn[] = { + { SUF_Z, 0, CPU_SSE, 0, 0, {MOD_PreAdd, MOD_Op1Add, MOD_SetVEX}, 0, 0, 0, 2, {0x0F, 0x00, 0}, 0, 3, 185 } +}; + +static const x86_insn_info xmm_xmm128_imm_256avx2_insn[] = { + { SUF_Z, 0, CPU_SSE, 0, 0, {MOD_PreAdd, MOD_Op1Add, MOD_SetVEX}, 0, 0, 0, 2, {0x0F, 0x00, 0}, 0, 3, 185 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0xC4, 2, {0x0F, 0x00, 0}, 0, 3, 191 } +}; + +static const x86_insn_info xmm_xmm128_imm_256_insn[] = { + { SUF_Z, 0, CPU_SSE, 0, 0, {MOD_PreAdd, MOD_Op1Add, MOD_SetVEX}, 0, 0, 0, 2, {0x0F, 0x00, 0}, 0, 3, 158 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0xC0, 2, {0x0F, 0x00, 0}, 0, 4, 60 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0xC4, 2, {0x0F, 0x00, 0}, 0, 4, 20 } +}; + +static const x86_insn_info xmm_xmm32_imm_insn[] = { + { SUF_Z, 0, CPU_SSE, 0, 0, {MOD_PreAdd, MOD_Op1Add, MOD_SetVEX}, 0, 0, 0x00, 2, {0x0F, 0x00, 0}, 0, 3, 92 }, + { SUF_Z, 0, CPU_SSE, 0, 0, {MOD_PreAdd, MOD_Op1Add, MOD_SetVEX}, 0, 0, 0x00, 2, {0x0F, 0x00, 0}, 0, 3, 146 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0xC0, 2, {0x0F, 0x00, 0}, 0, 4, 0 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0xC0, 2, {0x0F, 0x00, 0}, 0, 4, 56 } +}; + +static const x86_insn_info ldstmxcsr_insn[] = { + { SUF_Z, 0, CPU_SSE, 0, 0, {MOD_SpAdd, MOD_SetVEX, 0}, 0, 0, 0, 2, {0x0F, 0xAE, 0}, 0, 1, 58 } +}; + +static const x86_insn_info maskmovq_insn[] = { + { SUF_Z, 0, CPU_MMX, CPU_P3, 0, {0, 0, 0}, 0, 0, 0, 2, {0x0F, 0xF7, 0}, 0, 2, 641 } +}; + +static const x86_insn_info movau_insn[] = { + { SUF_Z, NOT_AVX, CPU_SSE, 0, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0x00, 2, {0x0F, 0x00, 0}, 0, 2, 155 }, + { SUF_Z, NOT_AVX, CPU_SSE, 0, 0, {MOD_PreAdd, MOD_Op1Add, MOD_Op1Add}, 0, 0, 0x00, 2, {0x0F, 0x00, 0}, 0, 2, 485 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0xC0, 2, {0x0F, 0x00, 0}, 0, 2, 155 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_PreAdd, MOD_Op1Add, MOD_Op1Add}, 0, 0, 0xC0, 2, {0x0F, 0x00, 0}, 0, 2, 485 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0xC4, 2, {0x0F, 0x00, 0}, 0, 2, 191 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_PreAdd, MOD_Op1Add, MOD_Op1Add}, 0, 0, 0xC4, 2, {0x0F, 0x00, 0}, 0, 2, 487 } +}; + +static const x86_insn_info movhllhps_insn[] = { + { SUF_Z, 0, CPU_SSE, 0, 0, {MOD_Op1Add, MOD_SetVEX, 0}, 0, 0, 0, 2, {0x0F, 0x00, 0}, 0, 2, 92 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_Op1Add, 0, 0}, 0, 0, 0xC0, 2, {0x0F, 0x00, 0}, 0, 3, 0 } +}; + +static const x86_insn_info movhlp_insn[] = { + { SUF_Z, 0, CPU_SSE, 0, 0, {MOD_PreAdd, MOD_Op1Add, MOD_SetVEX}, 0, 0, 0x00, 2, {0x0F, 0x00, 0}, 0, 2, 95 }, + { SUF_Z, 0, CPU_SSE, 0, 0, {MOD_PreAdd, MOD_Op1Add, MOD_SetVEX}, 0, 0, 0x00, 2, {0x0F, 0x01, 0}, 0, 2, 47 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0xC0, 2, {0x0F, 0x00, 0}, 0, 3, 4 } +}; + +static const x86_insn_info movmsk_insn[] = { + { SUF_L|SUF_Z, 0, CPU_386, CPU_SSE, 0, {MOD_PreAdd, MOD_SetVEX, 0}, 0, 0, 0x00, 2, {0x0F, 0x50, 0}, 0, 2, 164 }, + { SUF_Q|SUF_Z, ONLY_64, CPU_SSE, 0, 0, {MOD_PreAdd, MOD_SetVEX, 0}, 64, 0, 0x00, 2, {0x0F, 0x50, 0}, 0, 2, 170 }, + { SUF_L|SUF_Z, ONLY_AVX, CPU_386, CPU_AVX, 0, {MOD_PreAdd, 0, 0}, 0, 0, 0xC4, 2, {0x0F, 0x50, 0}, 0, 2, 319 }, + { SUF_Q|SUF_Z, ONLY_64|ONLY_AVX, CPU_SSE, 0, 0, {MOD_PreAdd, 0, 0}, 64, 0, 0xC4, 2, {0x0F, 0x50, 0}, 0, 2, 321 } +}; + +static const x86_insn_info movnt_insn[] = { + { SUF_Z, 0, CPU_SSE, 0, 0, {MOD_PreAdd, MOD_Op1Add, MOD_SetVEX}, 0, 0, 0x00, 2, {0x0F, 0x00, 0}, 0, 2, 599 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0xC4, 2, {0x0F, 0x00, 0}, 0, 2, 601 } +}; + +static const x86_insn_info movntq_insn[] = { + { SUF_Z, 0, CPU_SSE, 0, 0, {0, 0, 0}, 0, 0, 0, 2, {0x0F, 0xE7, 0}, 0, 2, 363 } +}; + +static const x86_insn_info movss_insn[] = { + { SUF_Z, 0, CPU_SSE, 0, 0, {MOD_SetVEX, 0, 0}, 0, 0, 0xF3, 2, {0x0F, 0x10, 0}, 0, 2, 92 }, + { SUF_Z, 0, CPU_SSE, 0, 0, {MOD_SetVEX, 0, 0}, 0, 0, 0xF3, 2, {0x0F, 0x10, 0}, 0, 2, 336 }, + { SUF_Z, 0, CPU_SSE, 0, 0, {MOD_SetVEX, 0, 0}, 0, 0, 0xF3, 2, {0x0F, 0x11, 0}, 0, 2, 450 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {0, 0, 0}, 0, 0, 0xC2, 2, {0x0F, 0x10, 0}, 0, 3, 0 } +}; + +static const x86_insn_info pextrw_insn[] = { + { SUF_L|SUF_Z, NOT_AVX, CPU_MMX, CPU_P3, 0, {0, 0, 0}, 0, 0, 0, 2, {0x0F, 0xC5, 0}, 0, 3, 161 }, + { SUF_L|SUF_Z, 0, CPU_386, CPU_SSE2, 0, {MOD_SetVEX, 0, 0}, 0, 0, 0x66, 2, {0x0F, 0xC5, 0}, 0, 3, 164 }, + { SUF_Q|SUF_Z, ONLY_64|NOT_AVX, CPU_MMX, CPU_P3, 0, {0, 0, 0}, 64, 0, 0, 2, {0x0F, 0xC5, 0}, 0, 3, 167 }, + { SUF_Q|SUF_Z, ONLY_64, CPU_SSE2, 0, 0, {MOD_SetVEX, 0, 0}, 64, 0, 0x66, 2, {0x0F, 0xC5, 0}, 0, 3, 170 }, + { SUF_Z, 0, CPU_SSE41, 0, 0, {MOD_SetVEX, 0, 0}, 0, 0, 0x66, 3, {0x0F, 0x3A, 0x15}, 0, 3, 173 }, + { SUF_Z, 0, CPU_386, CPU_SSE41, 0, {MOD_SetVEX, 0, 0}, 32, 0, 0x66, 3, {0x0F, 0x3A, 0x15}, 0, 3, 176 }, + { SUF_Z, ONLY_64, CPU_SSE41, 0, 0, {MOD_SetVEX, 0, 0}, 64, 0, 0x66, 3, {0x0F, 0x3A, 0x15}, 0, 3, 179 } +}; + +static const x86_insn_info pinsrw_insn[] = { + { SUF_L|SUF_Z, NOT_AVX, CPU_MMX, CPU_P3, 0, {0, 0, 0}, 0, 0, 0, 2, {0x0F, 0xC4, 0}, 0, 3, 116 }, + { SUF_Q|SUF_Z, ONLY_64|NOT_AVX, CPU_MMX, CPU_P3, 0, {0, 0, 0}, 64, 64, 0, 2, {0x0F, 0xC4, 0}, 0, 3, 119 }, + { SUF_L|SUF_Z, NOT_AVX, CPU_MMX, CPU_P3, 0, {0, 0, 0}, 0, 0, 0, 2, {0x0F, 0xC4, 0}, 0, 3, 122 }, + { SUF_L|SUF_Z, 0, CPU_386, CPU_SSE2, 0, {MOD_SetVEX, 0, 0}, 0, 0, 0x66, 2, {0x0F, 0xC4, 0}, 0, 3, 125 }, + { SUF_Q|SUF_Z, ONLY_64, CPU_SSE2, 0, 0, {MOD_SetVEX, 0, 0}, 64, 64, 0x66, 2, {0x0F, 0xC4, 0}, 0, 3, 128 }, + { SUF_L|SUF_Z, 0, CPU_SSE2, 0, 0, {MOD_SetVEX, 0, 0}, 0, 0, 0x66, 2, {0x0F, 0xC4, 0}, 0, 3, 131 }, + { SUF_L|SUF_Z, ONLY_AVX, CPU_386, CPU_AVX, 0, {0, 0, 0}, 0, 0, 0xC1, 2, {0x0F, 0xC4, 0}, 0, 4, 24 }, + { SUF_Q|SUF_Z, ONLY_64|ONLY_AVX, CPU_AVX, 0, 0, {0, 0, 0}, 64, 64, 0xC1, 2, {0x0F, 0xC4, 0}, 0, 4, 28 }, + { SUF_L|SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {0, 0, 0}, 0, 0, 0xC1, 2, {0x0F, 0xC4, 0}, 0, 4, 32 } +}; + +static const x86_insn_info pmovmskb_insn[] = { + { SUF_L|SUF_Z, NOT_AVX, CPU_MMX, CPU_P3, 0, {0, 0, 0}, 0, 0, 0, 2, {0x0F, 0xD7, 0}, 0, 2, 161 }, + { SUF_L|SUF_Z, 0, CPU_386, CPU_SSE2, 0, {MOD_SetVEX, 0, 0}, 0, 0, 0x66, 2, {0x0F, 0xD7, 0}, 0, 2, 164 }, + { SUF_L|SUF_Z, ONLY_AVX, CPU_386, CPU_AVX2, 0, {0, 0, 0}, 0, 0, 0xC5, 2, {0x0F, 0xD7, 0}, 0, 2, 319 }, + { SUF_Q|SUF_Z, ONLY_64|NOT_AVX, CPU_MMX, CPU_P3, 0, {0, 0, 0}, 64, 64, 0, 2, {0x0F, 0xD7, 0}, 0, 2, 167 }, + { SUF_Q|SUF_Z, ONLY_64, CPU_SSE2, 0, 0, {MOD_SetVEX, 0, 0}, 64, 64, 0x66, 2, {0x0F, 0xD7, 0}, 0, 2, 170 }, + { SUF_Q|SUF_Z, ONLY_64|ONLY_AVX, CPU_SSE2, 0, 0, {0, 0, 0}, 64, 64, 0xC5, 2, {0x0F, 0xD7, 0}, 0, 2, 321 } +}; + +static const x86_insn_info pshufw_insn[] = { + { SUF_Z, 0, CPU_MMX, CPU_P3, 0, {0, 0, 0}, 0, 0, 0, 2, {0x0F, 0x70, 0}, 0, 3, 140 } +}; + +static const x86_insn_info xmm_xmm64_insn[] = { + { SUF_Z, 0, CPU_SSE2, 0, 0, {MOD_PreAdd, MOD_Op1Add, MOD_SetVEX}, 0, 0, 0x00, 2, {0x0F, 0x00, 0}, 0, 2, 92 }, + { SUF_Z, 0, CPU_SSE2, 0, 0, {MOD_PreAdd, MOD_Op1Add, MOD_SetVEX}, 0, 0, 0x00, 2, {0x0F, 0x00, 0}, 0, 2, 95 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0xC0, 2, {0x0F, 0x00, 0}, 0, 3, 0 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0xC0, 2, {0x0F, 0x00, 0}, 0, 3, 4 } +}; + +static const x86_insn_info ssecmp_64_insn[] = { + { SUF_Z, 0, CPU_SSE2, 0, 0, {MOD_Imm8, MOD_PreAdd, MOD_SetVEX}, 0, 0, 0x00, 2, {0x0F, 0xC2, 0}, 0, 2, 92 }, + { SUF_Z, 0, CPU_SSE2, 0, 0, {MOD_Imm8, MOD_PreAdd, MOD_SetVEX}, 0, 0, 0x00, 2, {0x0F, 0xC2, 0}, 0, 2, 95 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_Imm8, MOD_PreAdd, 0}, 0, 0, 0xC0, 2, {0x0F, 0xC2, 0}, 0, 3, 0 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_Imm8, MOD_PreAdd, 0}, 0, 0, 0xC0, 2, {0x0F, 0xC2, 0}, 0, 3, 4 } +}; + +static const x86_insn_info cvt_rx_xmm64_insn[] = { + { SUF_L|SUF_Z, 0, CPU_386, CPU_SSE2, 0, {MOD_PreAdd, MOD_Op1Add, MOD_SetVEX}, 0, 0, 0x00, 2, {0x0F, 0x00, 0}, 0, 2, 164 }, + { SUF_L|SUF_Z, 0, CPU_386, CPU_SSE2, 0, {MOD_PreAdd, MOD_Op1Add, MOD_SetVEX}, 0, 0, 0x00, 2, {0x0F, 0x00, 0}, 0, 2, 338 }, + { SUF_Q|SUF_Z, ONLY_64, CPU_SSE2, 0, 0, {MOD_PreAdd, MOD_Op1Add, MOD_SetVEX}, 64, 0, 0x00, 2, {0x0F, 0x00, 0}, 0, 2, 170 }, + { SUF_Q|SUF_Z, ONLY_64, CPU_SSE2, 0, 0, {MOD_PreAdd, MOD_Op1Add, MOD_SetVEX}, 64, 0, 0x00, 2, {0x0F, 0x00, 0}, 0, 2, 469 } +}; + +static const x86_insn_info cvt_mm_xmm_insn[] = { + { SUF_Z, 0, CPU_SSE2, 0, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0x00, 2, {0x0F, 0x00, 0}, 0, 2, 615 } +}; + +static const x86_insn_info cvt_xmm_mm_ss_insn[] = { + { SUF_Z, 0, CPU_SSE, 0, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0x00, 2, {0x0F, 0x00, 0}, 0, 2, 333 } +}; + +static const x86_insn_info eptvpid_insn[] = { + { SUF_L|SUF_Z, NOT_64, CPU_386, CPU_EPTVPID, 0, {MOD_Op2Add, 0, 0}, 32, 0, 0x66, 3, {0x0F, 0x38, 0x80}, 0, 2, 611 }, + { SUF_Q|SUF_Z, ONLY_64, CPU_EPTVPID, 0, 0, {MOD_Op2Add, 0, 0}, 64, 0, 0x66, 3, {0x0F, 0x38, 0x80}, 0, 2, 613 } +}; + +static const x86_insn_info vmxmemrd_insn[] = { + { SUF_L|SUF_Z, NOT_64, CPU_P4, 0, 0, {0, 0, 0}, 32, 0, 0, 2, {0x0F, 0x78, 0}, 0, 2, 266 }, + { SUF_Q|SUF_Z, ONLY_64, CPU_P4, 0, 0, {0, 0, 0}, 64, 64, 0, 2, {0x0F, 0x78, 0}, 0, 2, 272 } +}; + +static const x86_insn_info vmxmemwr_insn[] = { + { SUF_L|SUF_Z, NOT_64, CPU_P4, 0, 0, {0, 0, 0}, 32, 0, 0, 2, {0x0F, 0x79, 0}, 0, 2, 101 }, + { SUF_Q|SUF_Z, ONLY_64, CPU_P4, 0, 0, {0, 0, 0}, 64, 64, 0, 2, {0x0F, 0x79, 0}, 0, 2, 104 } +}; + +static const x86_insn_info vmxtwobytemem_insn[] = { + { SUF_Z, 0, CPU_P4, 0, 0, {MOD_SpAdd, 0, 0}, 0, 0, 0, 2, {0x0F, 0xC7, 0}, 0, 1, 6 } +}; + +static const x86_insn_info vmxthreebytemem_insn[] = { + { SUF_Z, 0, CPU_P4, 0, 0, {MOD_PreAdd, 0, 0}, 0, 0, 0x00, 2, {0x0F, 0xC7, 0}, 6, 1, 6 } +}; + +static const x86_insn_info maskmovdqu_insn[] = { + { SUF_Z, 0, CPU_SSE2, 0, 0, {MOD_SetVEX, 0, 0}, 0, 0, 0x66, 2, {0x0F, 0xF7, 0}, 0, 2, 64 } +}; + +static const x86_insn_info movdq2q_insn[] = { + { SUF_Z, 0, CPU_SSE2, 0, 0, {0, 0, 0}, 0, 0, 0xF2, 2, {0x0F, 0xD6, 0}, 0, 2, 315 } +}; + +static const x86_insn_info movq2dq_insn[] = { + { SUF_Z, 0, CPU_SSE2, 0, 0, {0, 0, 0}, 0, 0, 0xF3, 2, {0x0F, 0xD6, 0}, 0, 2, 445 } +}; + +static const x86_insn_info pslrldq_insn[] = { + { SUF_Z, 0, CPU_SSE2, 0, 0, {MOD_SpAdd, MOD_SetVEX, 0}, 0, 0, 0x66, 2, {0x0F, 0x73, 0}, 0, 2, 511 }, + { SUF_Z, 0, CPU_SSE2, 0, 0, {MOD_SpAdd, MOD_SetVEX, 0}, 0, 0, 0x66, 2, {0x0F, 0x73, 0}, 0, 3, 1 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_SpAdd, 0, 0}, 0, 0, 0xC5, 2, {0x0F, 0x73, 0}, 0, 2, 513 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_SpAdd, 0, 0}, 0, 0, 0xC5, 2, {0x0F, 0x73, 0}, 0, 3, 200 } +}; + +static const x86_insn_info lddqu_insn[] = { + { SUF_Z, 0, CPU_SSE3, 0, 0, {MOD_SetVEX, 0, 0}, 0, 0, 0xF2, 2, {0x0F, 0xF0, 0}, 0, 2, 595 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {0, 0, 0}, 0, 0, 0xC7, 2, {0x0F, 0xF0, 0}, 0, 2, 597 } +}; + +static const x86_insn_info ssse3_insn[] = { + { SUF_Z, NOT_AVX, CPU_SSSE3, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0, 3, {0x0F, 0x38, 0x00}, 0, 2, 140 }, + { SUF_Z, 0, CPU_SSSE3, 0, 0, {MOD_Op2Add, MOD_SetVEX, 0}, 0, 0, 0x66, 3, {0x0F, 0x38, 0x00}, 0, 2, 158 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x38, 0x00}, 0, 3, 12 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x38, 0x00}, 0, 2, 197 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x38, 0x00}, 0, 3, 16 } +}; + +static const x86_insn_info ssse3imm_insn[] = { + { SUF_Z, 0, CPU_SSSE3, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0, 3, {0x0F, 0x3A, 0x00}, 0, 3, 140 }, + { SUF_Z, 0, CPU_SSSE3, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0x66, 3, {0x0F, 0x3A, 0x00}, 0, 3, 185 } +}; + +static const x86_insn_info sse4_insn[] = { + { SUF_Z, 0, CPU_SSE41, 0, 0, {MOD_Op2Add, MOD_SetVEX, 0}, 0, 0, 0x66, 3, {0x0F, 0x38, 0x00}, 0, 2, 155 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x38, 0x00}, 0, 2, 191 } +}; + +static const x86_insn_info sse4imm_256_insn[] = { + { SUF_Z, 0, CPU_SSE41, 0, 0, {MOD_Op2Add, MOD_SetVEX, 0}, 0, 0, 0x66, 3, {0x0F, 0x3A, 0x00}, 0, 3, 158 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x3A, 0x00}, 0, 4, 60 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x3A, 0x00}, 0, 3, 197 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x3A, 0x00}, 0, 4, 20 } +}; + +static const x86_insn_info sse4imm_256avx2_insn[] = { + { SUF_Z, 0, CPU_SSE41, 0, 0, {MOD_Op2Add, MOD_SetVEX, 0}, 0, 0, 0x66, 3, {0x0F, 0x3A, 0x00}, 0, 3, 158 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x3A, 0x00}, 0, 4, 60 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x3A, 0x00}, 0, 3, 197 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x3A, 0x00}, 0, 4, 20 } +}; + +static const x86_insn_info sse4imm_insn[] = { + { SUF_Z, 0, CPU_SSE41, 0, 0, {MOD_Op2Add, MOD_SetVEX, 0}, 0, 0, 0x66, 3, {0x0F, 0x3A, 0x00}, 0, 3, 158 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x3A, 0x00}, 0, 4, 60 } +}; + +static const x86_insn_info sse4m32imm_insn[] = { + { SUF_Z, 0, CPU_SSE41, 0, 0, {MOD_Op2Add, MOD_SetVEX, 0}, 0, 0, 0x66, 3, {0x0F, 0x3A, 0x00}, 0, 3, 92 }, + { SUF_Z, 0, CPU_SSE41, 0, 0, {MOD_Op2Add, MOD_SetVEX, 0}, 0, 0, 0x66, 3, {0x0F, 0x3A, 0x00}, 0, 3, 146 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x3A, 0x00}, 0, 4, 0 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x3A, 0x00}, 0, 4, 56 } +}; + +static const x86_insn_info sse4m64imm_insn[] = { + { SUF_Z, 0, CPU_SSE41, 0, 0, {MOD_Op2Add, MOD_SetVEX, 0}, 0, 0, 0x66, 3, {0x0F, 0x3A, 0x00}, 0, 3, 92 }, + { SUF_Z, 0, CPU_SSE41, 0, 0, {MOD_Op2Add, MOD_SetVEX, 0}, 0, 0, 0x66, 3, {0x0F, 0x3A, 0x00}, 0, 3, 95 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x3A, 0x00}, 0, 4, 0 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x3A, 0x00}, 0, 4, 4 } +}; + +static const x86_insn_info sse4xmm0_insn[] = { + { SUF_Z, 0, CPU_SSE41, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0x66, 3, {0x0F, 0x38, 0x00}, 0, 2, 155 }, + { SUF_Z, 0, CPU_SSE41, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0x66, 3, {0x0F, 0x38, 0x00}, 0, 3, 242 } +}; + +static const x86_insn_info avx_sse4xmm0_insn[] = { + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x3A, 0x00}, 0, 4, 12 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x3A, 0x00}, 0, 4, 16 } +}; + +static const x86_insn_info avx2_sse4xmm0_insn[] = { + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x3A, 0x00}, 0, 4, 12 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x3A, 0x00}, 0, 4, 16 } +}; + +static const x86_insn_info crc32_insn[] = { + { SUF_B|SUF_Z, 0, CPU_386, CPU_SSE42, 0, {0, 0, 0}, 0, 0, 0xF2, 3, {0x0F, 0x38, 0xF0}, 0, 2, 537 }, + { SUF_W|SUF_Z, 0, CPU_386, CPU_SSE42, 0, {0, 0, 0}, 16, 0, 0xF2, 3, {0x0F, 0x38, 0xF1}, 0, 2, 539 }, + { SUF_L|SUF_Z, 0, CPU_386, CPU_SSE42, 0, {0, 0, 0}, 32, 0, 0xF2, 3, {0x0F, 0x38, 0xF1}, 0, 2, 101 }, + { SUF_B|SUF_Z, ONLY_64, CPU_SSE42, 0, 0, {0, 0, 0}, 64, 0, 0xF2, 3, {0x0F, 0x38, 0xF0}, 0, 2, 541 }, + { SUF_Q|SUF_Z, ONLY_64, CPU_SSE42, 0, 0, {0, 0, 0}, 64, 0, 0xF2, 3, {0x0F, 0x38, 0xF1}, 0, 2, 104 } +}; + +static const x86_insn_info extractps_insn[] = { + { SUF_Z, 0, CPU_386, CPU_SSE41, 0, {MOD_SetVEX, 0, 0}, 0, 0, 0x66, 3, {0x0F, 0x3A, 0x17}, 0, 3, 188 }, + { SUF_Z, ONLY_64, CPU_SSE41, 0, 0, {MOD_SetVEX, 0, 0}, 64, 0, 0x66, 3, {0x0F, 0x3A, 0x17}, 0, 3, 179 } +}; + +static const x86_insn_info insertps_insn[] = { + { SUF_Z, 0, CPU_SSE41, 0, 0, {MOD_SetVEX, 0, 0}, 0, 0, 0x66, 3, {0x0F, 0x3A, 0x21}, 0, 3, 146 }, + { SUF_Z, 0, CPU_SSE41, 0, 0, {MOD_SetVEX, 0, 0}, 0, 0, 0x66, 3, {0x0F, 0x3A, 0x21}, 0, 3, 92 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {0, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x3A, 0x21}, 0, 4, 56 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {0, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x3A, 0x21}, 0, 4, 0 } +}; + +static const x86_insn_info movntdqa_insn[] = { + { SUF_Z, 0, CPU_SSE41, 0, 0, {MOD_SetVEX, 0, 0}, 0, 0, 0x66, 3, {0x0F, 0x38, 0x2A}, 0, 2, 595 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {0, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x38, 0x2A}, 0, 2, 597 } +}; + +static const x86_insn_info sse4pcmpstr_insn[] = { + { SUF_Z, 0, CPU_SSE42, 0, 0, {MOD_Op2Add, MOD_SetVEX, 0}, 0, 0, 0x66, 3, {0x0F, 0x3A, 0x00}, 0, 3, 185 } +}; + +static const x86_insn_info pextrb_insn[] = { + { SUF_Z, 0, CPU_SSE41, 0, 0, {MOD_SetVEX, 0, 0}, 0, 0, 0x66, 3, {0x0F, 0x3A, 0x14}, 0, 3, 194 }, + { SUF_Z, 0, CPU_386, CPU_SSE41, 0, {MOD_SetVEX, 0, 0}, 0, 0, 0x66, 3, {0x0F, 0x3A, 0x14}, 0, 3, 176 }, + { SUF_Z, ONLY_64, CPU_SSE41, 0, 0, {MOD_SetVEX, 0, 0}, 64, 0, 0x66, 3, {0x0F, 0x3A, 0x14}, 0, 3, 179 } +}; + +static const x86_insn_info pextrd_insn[] = { + { SUF_Z, 0, CPU_386, CPU_SSE41, 0, {MOD_SetVEX, 0, 0}, 0, 0, 0x66, 3, {0x0F, 0x3A, 0x16}, 0, 3, 188 } +}; + +static const x86_insn_info pextrq_insn[] = { + { SUF_Z, ONLY_64, CPU_SSE41, 0, 0, {MOD_SetVEX, 0, 0}, 64, 0, 0x66, 3, {0x0F, 0x3A, 0x16}, 0, 3, 182 } +}; + +static const x86_insn_info pinsrb_insn[] = { + { SUF_Z, 0, CPU_SSE41, 0, 0, {MOD_SetVEX, 0, 0}, 0, 0, 0x66, 3, {0x0F, 0x3A, 0x20}, 0, 3, 143 }, + { SUF_Z, 0, CPU_386, CPU_SSE41, 0, {MOD_SetVEX, 0, 0}, 0, 0, 0x66, 3, {0x0F, 0x3A, 0x20}, 0, 3, 125 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {0, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x3A, 0x20}, 0, 4, 48 }, + { SUF_Z, ONLY_AVX, CPU_386, CPU_AVX, 0, {0, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x3A, 0x20}, 0, 4, 52 } +}; + +static const x86_insn_info pinsrd_insn[] = { + { SUF_Z, 0, CPU_386, CPU_SSE41, 0, {MOD_SetVEX, 0, 0}, 0, 0, 0x66, 3, {0x0F, 0x3A, 0x22}, 0, 3, 239 }, + { SUF_Z, ONLY_AVX, CPU_386, CPU_AVX, 0, {0, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x3A, 0x22}, 0, 4, 88 } +}; + +static const x86_insn_info pinsrq_insn[] = { + { SUF_Z, ONLY_64, CPU_SSE41, 0, 0, {MOD_SetVEX, 0, 0}, 64, 0, 0x66, 3, {0x0F, 0x3A, 0x22}, 0, 3, 227 }, + { SUF_Z, ONLY_64|ONLY_AVX, CPU_AVX, 0, 0, {0, 0, 0}, 64, 0, 0xC1, 3, {0x0F, 0x3A, 0x22}, 0, 4, 84 } +}; + +static const x86_insn_info sse4m16_insn[] = { + { SUF_Z, 0, CPU_SSE41, 0, 0, {MOD_Op2Add, MOD_SetVEX, 0}, 0, 0, 0x66, 3, {0x0F, 0x38, 0x00}, 0, 2, 447 }, + { SUF_Z, 0, CPU_SSE41, 0, 0, {MOD_Op2Add, MOD_SetVEX, 0}, 0, 0, 0x66, 3, {0x0F, 0x38, 0x00}, 0, 2, 64 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x38, 0x00}, 0, 2, 449 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x38, 0x00}, 0, 2, 208 } +}; + +static const x86_insn_info sse4m32_insn[] = { + { SUF_Z, 0, CPU_SSE41, 0, 0, {MOD_Op2Add, MOD_SetVEX, 0}, 0, 0, 0x66, 3, {0x0F, 0x38, 0x00}, 0, 2, 336 }, + { SUF_Z, 0, CPU_SSE41, 0, 0, {MOD_Op2Add, MOD_SetVEX, 0}, 0, 0, 0x66, 3, {0x0F, 0x38, 0x00}, 0, 2, 64 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x38, 0x00}, 0, 2, 479 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x38, 0x00}, 0, 2, 208 } +}; + +static const x86_insn_info sse4m64_insn[] = { + { SUF_Z, 0, CPU_SSE41, 0, 0, {MOD_Op2Add, MOD_SetVEX, 0}, 0, 0, 0x66, 3, {0x0F, 0x38, 0x00}, 0, 2, 451 }, + { SUF_Z, 0, CPU_SSE41, 0, 0, {MOD_Op2Add, MOD_SetVEX, 0}, 0, 0, 0x66, 3, {0x0F, 0x38, 0x00}, 0, 2, 64 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x38, 0x00}, 0, 2, 509 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x38, 0x00}, 0, 2, 208 } +}; + +static const x86_insn_info cnt_insn[] = { + { SUF_W|SUF_Z, 0, 0, 0, 0, {MOD_Op1Add, 0, 0}, 16, 0, 0xF3, 2, {0x0F, 0x00, 0}, 0, 2, 98 }, + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {MOD_Op1Add, 0, 0}, 32, 0, 0xF3, 2, {0x0F, 0x00, 0}, 0, 2, 101 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {MOD_Op1Add, 0, 0}, 64, 0, 0xF3, 2, {0x0F, 0x00, 0}, 0, 2, 104 } +}; + +static const x86_insn_info vmovd_insn[] = { + { SUF_Z, ONLY_AVX, CPU_386, CPU_AVX, 0, {0, 0, 0}, 0, 0, 0xC1, 2, {0x0F, 0x6E, 0}, 0, 2, 299 }, + { SUF_Z, ONLY_AVX, CPU_386, CPU_AVX, 0, {0, 0, 0}, 0, 0, 0xC1, 2, {0x0F, 0x7E, 0}, 0, 2, 188 } +}; + +static const x86_insn_info vmovq_insn[] = { + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {0, 0, 0}, 0, 0, 0xC2, 2, {0x0F, 0x7E, 0}, 0, 2, 64 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {0, 0, 0}, 0, 0, 0xC2, 2, {0x0F, 0x7E, 0}, 0, 2, 451 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {0, 0, 0}, 0, 0, 0xC1, 2, {0x0F, 0xD6, 0}, 0, 2, 47 }, + { SUF_Z, ONLY_64|ONLY_AVX, CPU_AVX, 0, 0, {0, 0, 0}, 64, 0, 0xC1, 2, {0x0F, 0x6E, 0}, 0, 2, 301 }, + { SUF_Z, ONLY_64|ONLY_AVX, CPU_AVX, 0, 0, {0, 0, 0}, 64, 0, 0xC1, 2, {0x0F, 0x7E, 0}, 0, 2, 182 } +}; + +static const x86_insn_info avx_xmm_xmm128_insn[] = { + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0xC0, 2, {0x0F, 0x00, 0}, 0, 2, 155 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0xC4, 2, {0x0F, 0x00, 0}, 0, 2, 191 } +}; + +static const x86_insn_info avx_sse4imm_insn[] = { + { SUF_Z, ONLY_AVX, CPU_SSE41, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x3A, 0x00}, 0, 3, 185 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x3A, 0x00}, 0, 3, 185 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x3A, 0x00}, 0, 3, 191 } +}; + +static const x86_insn_info vmovddup_insn[] = { + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0xC0, 2, {0x0F, 0x00, 0}, 0, 2, 64 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0xC0, 2, {0x0F, 0x00, 0}, 0, 2, 451 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0xC4, 2, {0x0F, 0x00, 0}, 0, 2, 191 } +}; + +static const x86_insn_info avx_xmm_xmm64_insn[] = { + { SUF_Z, ONLY_AVX, CPU_SSE2, 0, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0xC0, 2, {0x0F, 0x00, 0}, 0, 2, 64 }, + { SUF_Z, ONLY_AVX, CPU_SSE2, 0, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0xC0, 2, {0x0F, 0x00, 0}, 0, 2, 451 } +}; + +static const x86_insn_info avx_xmm_xmm32_insn[] = { + { SUF_Z, ONLY_AVX, CPU_SSE, 0, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0xC0, 2, {0x0F, 0x00, 0}, 0, 2, 64 }, + { SUF_Z, ONLY_AVX, CPU_SSE, 0, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0xC0, 2, {0x0F, 0x00, 0}, 0, 2, 336 } +}; + +static const x86_insn_info avx_cvt_xmm64_insn[] = { + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0xC0, 2, {0x0F, 0x00, 0}, 0, 2, 64 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0xC0, 2, {0x0F, 0x00, 0}, 0, 2, 451 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0xC4, 2, {0x0F, 0x00, 0}, 0, 2, 453 } +}; + +static const x86_insn_info avx_ssse3_2op_insn[] = { + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x38, 0x00}, 0, 2, 155 } +}; + +static const x86_insn_info avx2_ssse3_2op_insn[] = { + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x38, 0x00}, 0, 2, 155 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x38, 0x00}, 0, 2, 191 } +}; + +static const x86_insn_info avx_cvt_xmm128_x_insn[] = { + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0xC0, 2, {0x0F, 0x00, 0}, 0, 2, 155 } +}; + +static const x86_insn_info avx_cvt_xmm128_y_insn[] = { + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0xC4, 2, {0x0F, 0x00, 0}, 0, 2, 205 } +}; + +static const x86_insn_info avx_cvt_xmm128_insn[] = { + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0xC0, 2, {0x0F, 0x00, 0}, 0, 2, 607 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_PreAdd, MOD_Op1Add, 0}, 0, 0, 0xC4, 2, {0x0F, 0x00, 0}, 0, 2, 609 } +}; + +static const x86_insn_info vbroadcastss_insn[] = { + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {0, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x38, 0x18}, 0, 2, 336 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {0, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x38, 0x18}, 0, 2, 449 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {0, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x38, 0x18}, 0, 2, 64 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {0, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x38, 0x18}, 0, 2, 208 } +}; + +static const x86_insn_info vbroadcastsd_insn[] = { + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {0, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x38, 0x19}, 0, 2, 479 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {0, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x38, 0x19}, 0, 2, 208 } +}; + +static const x86_insn_info vbroadcastif128_insn[] = { + { SUF_Z, ONLY_AVX, 0, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x38, 0x00}, 0, 2, 509 } +}; + +static const x86_insn_info vextractif128_insn[] = { + { SUF_Z, ONLY_AVX, 0, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x3A, 0x00}, 0, 3, 236 } +}; + +static const x86_insn_info vinsertif128_insn[] = { + { SUF_Z, ONLY_AVX, 0, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x3A, 0x00}, 0, 4, 8 } +}; + +static const x86_insn_info vzero_insn[] = { + { SUF_Z, 0, CPU_AVX, 0, 0, {MOD_SetVEX, 0, 0}, 0, 0, 0, 2, {0x0F, 0x77, 0}, 0, 0, 0 } +}; + +static const x86_insn_info vmaskmov_insn[] = { + { SUF_Z, ONLY_AVX, 0, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x38, 0x00}, 0, 3, 12 }, + { SUF_Z, ONLY_AVX, 0, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x38, 0x00}, 0, 3, 16 }, + { SUF_Z, ONLY_AVX, 0, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x38, 0x02}, 0, 3, 203 }, + { SUF_Z, ONLY_AVX, 0, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x38, 0x02}, 0, 3, 206 } +}; + +static const x86_insn_info vpermil_insn[] = { + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x38, 0x08}, 0, 3, 12 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x38, 0x08}, 0, 3, 16 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x3A, 0x00}, 0, 3, 185 }, + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x3A, 0x00}, 0, 3, 191 } +}; + +static const x86_insn_info vperm2f128_insn[] = { + { SUF_Z, ONLY_AVX, CPU_AVX, 0, 0, {0, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x3A, 0x06}, 0, 4, 20 } +}; + +static const x86_insn_info vperm_var_avx2_insn[] = { + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x38, 0x00}, 0, 3, 16 } +}; + +static const x86_insn_info vperm_imm_avx2_insn[] = { + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xCD, 3, {0x0F, 0x3A, 0x00}, 0, 3, 191 } +}; + +static const x86_insn_info vperm2i128_avx2_insn[] = { + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {0, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x3A, 0x46}, 0, 4, 20 } +}; + +static const x86_insn_info vpbroadcastb_avx2_insn[] = { + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {0, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x38, 0x78}, 0, 2, 543 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {0, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x38, 0x78}, 0, 2, 545 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {0, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x38, 0x78}, 0, 2, 635 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {0, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x38, 0x78}, 0, 2, 637 } +}; + +static const x86_insn_info vpbroadcastw_avx2_insn[] = { + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {0, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x38, 0x79}, 0, 2, 543 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {0, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x38, 0x79}, 0, 2, 545 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {0, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x38, 0x79}, 0, 2, 547 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {0, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x38, 0x79}, 0, 2, 549 } +}; + +static const x86_insn_info vpbroadcastd_avx2_insn[] = { + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {0, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x38, 0x58}, 0, 2, 543 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {0, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x38, 0x58}, 0, 2, 545 }, + { SUF_Z, ONLY_AVX, CPU_386, CPU_AVX2, 0, {0, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x38, 0x58}, 0, 2, 299 }, + { SUF_Z, ONLY_AVX, CPU_386, CPU_AVX2, 0, {0, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x38, 0x58}, 0, 2, 643 } +}; + +static const x86_insn_info vpbroadcastq_avx2_insn[] = { + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {0, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x38, 0x59}, 0, 2, 543 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {0, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x38, 0x59}, 0, 2, 545 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {0, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x38, 0x59}, 0, 2, 333 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {0, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x38, 0x59}, 0, 2, 621 } +}; + +static const x86_insn_info vpshiftv_vexw0_avx2_insn[] = { + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x38, 0x00}, 0, 3, 12 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x38, 0x00}, 0, 3, 16 } +}; + +static const x86_insn_info vpshiftv_vexw1_avx2_insn[] = { + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC9, 3, {0x0F, 0x38, 0x00}, 0, 3, 12 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xCD, 3, {0x0F, 0x38, 0x00}, 0, 3, 16 } +}; + +static const x86_insn_info vmaskmov_vexw1_avx2_insn[] = { + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC9, 3, {0x0F, 0x38, 0x00}, 0, 3, 12 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xCD, 3, {0x0F, 0x38, 0x00}, 0, 3, 16 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC9, 3, {0x0F, 0x38, 0x02}, 0, 3, 203 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xCD, 3, {0x0F, 0x38, 0x02}, 0, 3, 206 } +}; + +static const x86_insn_info vex_66_0F3A_imm8_avx2_insn[] = { + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x3A, 0x00}, 0, 4, 60 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x3A, 0x00}, 0, 4, 20 } +}; + +static const x86_insn_info gather_64x_64x_insn[] = { + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC9, 3, {0x0F, 0x38, 0x00}, 0, 3, 221 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xCD, 3, {0x0F, 0x38, 0x00}, 0, 3, 224 } +}; + +static const x86_insn_info gather_64x_64y_insn[] = { + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC9, 3, {0x0F, 0x38, 0x00}, 0, 3, 221 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xCD, 3, {0x0F, 0x38, 0x00}, 0, 3, 278 } +}; + +static const x86_insn_info gather_32x_32y_insn[] = { + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x38, 0x00}, 0, 3, 245 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x38, 0x00}, 0, 3, 251 } +}; + +static const x86_insn_info gather_32x_32y_128_insn[] = { + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x38, 0x00}, 0, 3, 245 }, + { SUF_Z, ONLY_AVX, CPU_AVX2, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x38, 0x00}, 0, 3, 248 } +}; + +static const x86_insn_info tsx_xabort_insn[] = { + { SUF_Z, 0, CPU_TSX, 0, 0, {0, 0, 0}, 0, 0, 0, 2, {0xC6, 0xF8, 0}, 0, 1, 3 } +}; + +static const x86_insn_info tsx_xbegin_insn[] = { + { SUF_Z, 0, CPU_386, CPU_TSX, 0, {0, 0, 0}, 0, 0, 0, 2, {0xC7, 0xF8, 0}, 0, 1, 679 }, + { SUF_Z, NOT_64, CPU_TSX, 0, 0, {0, 0, 0}, 16, 0, 0, 2, {0xC7, 0xF8, 0}, 0, 1, 678 } +}; + +static const x86_insn_info tsx_0x0F_0x01_insn[] = { + { SUF_Z, 0, CPU_TSX, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0, 3, {0x0F, 0x01, 0x00}, 0, 0, 0 } +}; + +static const x86_insn_info vfma_ps_insn[] = { + { SUF_Z, ONLY_AVX, CPU_FMA, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x38, 0x00}, 0, 3, 12 }, + { SUF_Z, ONLY_AVX, CPU_FMA, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x38, 0x00}, 0, 3, 16 } +}; + +static const x86_insn_info vfma_pd_insn[] = { + { SUF_Z, ONLY_AVX, CPU_FMA, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC9, 3, {0x0F, 0x38, 0x00}, 0, 3, 12 }, + { SUF_Z, ONLY_AVX, CPU_FMA, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xCD, 3, {0x0F, 0x38, 0x00}, 0, 3, 16 } +}; + +static const x86_insn_info vfma_ss_insn[] = { + { SUF_Z, ONLY_AVX, CPU_FMA, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x38, 0x00}, 0, 3, 0 }, + { SUF_Z, ONLY_AVX, CPU_FMA, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x38, 0x00}, 0, 3, 56 } +}; + +static const x86_insn_info vfma_sd_insn[] = { + { SUF_Z, ONLY_AVX, CPU_FMA, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC9, 3, {0x0F, 0x38, 0x00}, 0, 3, 0 }, + { SUF_Z, ONLY_AVX, CPU_FMA, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC9, 3, {0x0F, 0x38, 0x00}, 0, 3, 4 } +}; + +static const x86_insn_info aes_insn[] = { + { SUF_Z, 0, CPU_AES, 0, 0, {MOD_Op1Add, MOD_Op2Add, MOD_SetVEX}, 0, 0, 0x66, 3, {0x0F, 0x00, 0x00}, 0, 2, 158 }, + { SUF_Z, ONLY_AVX, CPU_AES, CPU_AVX, 0, {MOD_Op1Add, MOD_Op2Add, 0}, 0, 0, 0xC1, 3, {0x0F, 0x00, 0x00}, 0, 3, 12 } +}; + +static const x86_insn_info aesimc_insn[] = { + { SUF_Z, 0, CPU_AES, 0, 0, {MOD_Op1Add, MOD_Op2Add, MOD_SetVEX}, 0, 0, 0x66, 3, {0x0F, 0x00, 0x00}, 0, 2, 155 } +}; + +static const x86_insn_info aes_imm_insn[] = { + { SUF_Z, 0, CPU_AES, 0, 0, {MOD_Op1Add, MOD_Op2Add, MOD_SetVEX}, 0, 0, 0x66, 3, {0x0F, 0x00, 0x00}, 0, 3, 185 } +}; + +static const x86_insn_info pclmulqdq_insn[] = { + { SUF_Z, 0, CPU_CLMUL, 0, 0, {MOD_Op1Add, MOD_Op2Add, MOD_SetVEX}, 0, 0, 0x66, 3, {0x0F, 0x00, 0x00}, 0, 3, 158 }, + { SUF_Z, ONLY_AVX, CPU_AVX, CPU_CLMUL, 0, {MOD_Op1Add, MOD_Op2Add, 0}, 0, 0, 0xC1, 3, {0x0F, 0x00, 0x00}, 0, 4, 60 } +}; + +static const x86_insn_info pclmulqdq_fixed_insn[] = { + { SUF_Z, 0, CPU_CLMUL, 0, 0, {MOD_Imm8, MOD_SetVEX, 0}, 0, 0, 0x66, 3, {0x0F, 0x3A, 0x44}, 0, 2, 158 }, + { SUF_Z, ONLY_AVX, CPU_AVX, CPU_CLMUL, 0, {MOD_Imm8, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x3A, 0x44}, 0, 3, 12 } +}; + +static const x86_insn_info rdrand_insn[] = { + { SUF_Z, 0, 0, 0, 0, {MOD_SpAdd, 0, 0}, 16, 0, 0, 2, {0x0F, 0xC7, 0}, 0, 1, 395 }, + { SUF_Z, 0, CPU_386, 0, 0, {MOD_SpAdd, 0, 0}, 32, 0, 0, 2, {0x0F, 0xC7, 0}, 0, 1, 26 }, + { SUF_Z, ONLY_64, 0, 0, 0, {MOD_SpAdd, 0, 0}, 64, 0, 0, 2, {0x0F, 0xC7, 0}, 0, 1, 30 } +}; + +static const x86_insn_info fs_gs_base_insn[] = { + { SUF_Z, ONLY_64, CPU_FSGSBASE, 0, 0, {MOD_SpAdd, 0, 0}, 32, 0, 0xF3, 2, {0x0F, 0xAE, 0}, 0, 1, 26 }, + { SUF_Z, ONLY_64, CPU_FSGSBASE, 0, 0, {MOD_SpAdd, 0, 0}, 64, 0, 0xF3, 2, {0x0F, 0xAE, 0}, 0, 1, 30 } +}; + +static const x86_insn_info avx_cvtps2ph_insn[] = { + { SUF_Z, ONLY_AVX, CPU_AVX, CPU_F16C, 0, {MOD_PreAdd, MOD_Op2Add, 0}, 0, 0, 0xC0, 3, {0x0F, 0x3A, 0x00}, 0, 3, 209 }, + { SUF_Z, ONLY_AVX, CPU_AVX, CPU_F16C, 0, {MOD_PreAdd, MOD_Op2Add, 0}, 0, 0, 0xC0, 3, {0x0F, 0x3A, 0x00}, 0, 3, 212 }, + { SUF_Z, ONLY_AVX, CPU_AVX, CPU_F16C, 0, {MOD_PreAdd, MOD_Op2Add, 0}, 0, 0, 0xC4, 3, {0x0F, 0x3A, 0x00}, 0, 3, 215 }, + { SUF_Z, ONLY_AVX, CPU_AVX, CPU_F16C, 0, {MOD_PreAdd, MOD_Op2Add, 0}, 0, 0, 0xC4, 3, {0x0F, 0x3A, 0x00}, 0, 3, 218 } +}; + +static const x86_insn_info avx_cvtph2ps_insn[] = { + { SUF_Z, ONLY_AVX, CPU_AVX, CPU_F16C, 0, {MOD_PreAdd, MOD_Op2Add, 0}, 0, 0, 0xC0, 3, {0x0F, 0x38, 0x00}, 0, 2, 64 }, + { SUF_Z, ONLY_AVX, CPU_AVX, CPU_F16C, 0, {MOD_PreAdd, MOD_Op2Add, 0}, 0, 0, 0xC0, 3, {0x0F, 0x38, 0x00}, 0, 2, 631 }, + { SUF_Z, ONLY_AVX, CPU_AVX, CPU_F16C, 0, {MOD_PreAdd, MOD_Op2Add, 0}, 0, 0, 0xC4, 3, {0x0F, 0x38, 0x00}, 0, 2, 208 }, + { SUF_Z, ONLY_AVX, CPU_AVX, CPU_F16C, 0, {MOD_PreAdd, MOD_Op2Add, 0}, 0, 0, 0xC4, 3, {0x0F, 0x38, 0x00}, 0, 2, 633 } +}; + +static const x86_insn_info extrq_insn[] = { + { SUF_Z, 0, CPU_SSE4a, 0, 0, {0, 0, 0}, 0, 0, 0x66, 2, {0x0F, 0x78, 0}, 0, 3, 65 }, + { SUF_Z, 0, CPU_SSE4a, 0, 0, {0, 0, 0}, 0, 0, 0x66, 2, {0x0F, 0x79, 0}, 0, 2, 64 } +}; + +static const x86_insn_info insertq_insn[] = { + { SUF_Z, 0, CPU_SSE4a, 0, 0, {0, 0, 0}, 0, 0, 0xF2, 2, {0x0F, 0x78, 0}, 0, 4, 64 }, + { SUF_Z, 0, CPU_SSE4a, 0, 0, {0, 0, 0}, 0, 0, 0xF2, 2, {0x0F, 0x79, 0}, 0, 2, 64 } +}; + +static const x86_insn_info movntsd_insn[] = { + { SUF_Z, 0, CPU_SSE4a, 0, 0, {0, 0, 0}, 0, 0, 0xF2, 2, {0x0F, 0x2B, 0}, 0, 2, 47 } +}; + +static const x86_insn_info movntss_insn[] = { + { SUF_Z, 0, CPU_SSE4a, 0, 0, {0, 0, 0}, 0, 0, 0xF3, 2, {0x0F, 0x2B, 0}, 0, 2, 450 } +}; + +static const x86_insn_info vfrc_pdps_insn[] = { + { SUF_Z, 0, CPU_XOP, 0, 0, {MOD_Op1Add, 0, 0}, 0, 0, 0x80, 2, {0x09, 0x80, 0}, 0, 2, 155 }, + { SUF_Z, 0, CPU_XOP, 0, 0, {MOD_Op1Add, 0, 0}, 0, 0, 0x84, 2, {0x09, 0x80, 0}, 0, 2, 191 } +}; + +static const x86_insn_info vfrczsd_insn[] = { + { SUF_Z, 0, CPU_XOP, 0, 0, {0, 0, 0}, 0, 0, 0x80, 2, {0x09, 0x83, 0}, 0, 2, 64 }, + { SUF_Z, 0, CPU_XOP, 0, 0, {0, 0, 0}, 0, 0, 0x80, 2, {0x09, 0x83, 0}, 0, 2, 451 } +}; + +static const x86_insn_info vfrczss_insn[] = { + { SUF_Z, 0, CPU_XOP, 0, 0, {0, 0, 0}, 0, 0, 0x80, 2, {0x09, 0x82, 0}, 0, 2, 64 }, + { SUF_Z, 0, CPU_XOP, 0, 0, {0, 0, 0}, 0, 0, 0x80, 2, {0x09, 0x82, 0}, 0, 2, 336 } +}; + +static const x86_insn_info vpcmov_insn[] = { + { SUF_Z, 0, CPU_XOP, 0, 0, {0, 0, 0}, 0, 0, 0x80, 2, {0x08, 0xA2, 0}, 0, 4, 12 }, + { SUF_Z, 0, CPU_XOP, 0, 0, {0, 0, 0}, 0, 0, 0x88, 2, {0x08, 0xA2, 0}, 0, 4, 68 }, + { SUF_Z, 0, CPU_XOP, 0, 0, {0, 0, 0}, 0, 0, 0x84, 2, {0x08, 0xA2, 0}, 0, 4, 16 }, + { SUF_Z, 0, CPU_XOP, 0, 0, {0, 0, 0}, 0, 0, 0x8C, 2, {0x08, 0xA2, 0}, 0, 4, 72 } +}; + +static const x86_insn_info vpcom_insn[] = { + { SUF_Z, 0, CPU_XOP, 0, 0, {MOD_Op1Add, MOD_Imm8, 0}, 0, 0, 0x80, 2, {0x08, 0x00, 0}, 0, 3, 12 } +}; + +static const x86_insn_info vpcom_imm_insn[] = { + { SUF_Z, 0, CPU_XOP, 0, 0, {MOD_Op1Add, 0, 0}, 0, 0, 0x80, 2, {0x08, 0x00, 0}, 0, 4, 60 } +}; + +static const x86_insn_info vphaddsub_insn[] = { + { SUF_Z, 0, CPU_XOP, 0, 0, {MOD_Op1Add, 0, 0}, 0, 0, 0x80, 2, {0x09, 0x00, 0}, 0, 2, 155 } +}; + +static const x86_insn_info vpma_insn[] = { + { SUF_Z, 0, CPU_XOP, 0, 0, {MOD_Op1Add, 0, 0}, 0, 0, 0x80, 2, {0x08, 0x00, 0}, 0, 4, 12 } +}; + +static const x86_insn_info vpperm_insn[] = { + { SUF_Z, 0, CPU_XOP, 0, 0, {0, 0, 0}, 0, 0, 0x80, 2, {0x08, 0xA3, 0}, 0, 4, 12 }, + { SUF_Z, 0, CPU_XOP, 0, 0, {0, 0, 0}, 0, 0, 0x88, 2, {0x08, 0xA3, 0}, 0, 4, 68 } +}; + +static const x86_insn_info vprot_insn[] = { + { SUF_Z, 0, CPU_XOP, 0, 0, {MOD_Op1Add, 0, 0}, 0, 0, 0x80, 2, {0x09, 0x90, 0}, 0, 3, 155 }, + { SUF_Z, 0, CPU_XOP, 0, 0, {MOD_Op1Add, 0, 0}, 0, 0, 0x88, 2, {0x09, 0x90, 0}, 0, 3, 12 }, + { SUF_Z, 0, CPU_XOP, 0, 0, {MOD_Op1Add, 0, 0}, 0, 0, 0x80, 2, {0x08, 0xC0, 0}, 0, 3, 185 } +}; + +static const x86_insn_info amd_vpshift_insn[] = { + { SUF_Z, 0, CPU_XOP, 0, 0, {MOD_Op1Add, 0, 0}, 0, 0, 0x80, 2, {0x09, 0x00, 0}, 0, 3, 155 }, + { SUF_Z, 0, CPU_XOP, 0, 0, {MOD_Op1Add, 0, 0}, 0, 0, 0x88, 2, {0x09, 0x00, 0}, 0, 3, 12 } +}; + +static const x86_insn_info fma_128_256_insn[] = { + { SUF_Z, ONLY_AVX, CPU_FMA4, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x3A, 0x00}, 0, 4, 12 }, + { SUF_Z, ONLY_AVX, CPU_FMA4, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC9, 3, {0x0F, 0x3A, 0x00}, 0, 4, 68 }, + { SUF_Z, ONLY_AVX, CPU_FMA4, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC5, 3, {0x0F, 0x3A, 0x00}, 0, 4, 16 }, + { SUF_Z, ONLY_AVX, CPU_FMA4, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xCD, 3, {0x0F, 0x3A, 0x00}, 0, 4, 72 } +}; + +static const x86_insn_info fma_128_m32_insn[] = { + { SUF_Z, ONLY_AVX, CPU_FMA4, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x3A, 0x00}, 0, 4, 36 }, + { SUF_Z, ONLY_AVX, CPU_FMA4, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x3A, 0x00}, 0, 4, 76 }, + { SUF_Z, ONLY_AVX, CPU_FMA4, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC9, 3, {0x0F, 0x3A, 0x00}, 0, 4, 80 } +}; + +static const x86_insn_info fma_128_m64_insn[] = { + { SUF_Z, ONLY_AVX, CPU_FMA4, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x3A, 0x00}, 0, 4, 36 }, + { SUF_Z, ONLY_AVX, CPU_FMA4, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC1, 3, {0x0F, 0x3A, 0x00}, 0, 4, 40 }, + { SUF_Z, ONLY_AVX, CPU_FMA4, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0xC9, 3, {0x0F, 0x3A, 0x00}, 0, 4, 44 } +}; + +static const x86_insn_info xsaveopt64_insn[] = { + { SUF_Z, ONLY_64, 0, 0, 0, {MOD_SpAdd, MOD_Op0Add, MOD_Op1Add}, 64, 0, 0, 2, {0x00, 0x00, 0}, 0, 1, 532 } +}; + +static const x86_insn_info movbe_insn[] = { + { SUF_Z, 0, CPU_MOVBE, 0, 0, {0, 0, 0}, 16, 0, 0, 3, {0x0F, 0x38, 0xF0}, 0, 2, 465 }, + { SUF_Z, 0, CPU_MOVBE, 0, 0, {0, 0, 0}, 16, 0, 0, 3, {0x0F, 0x38, 0xF1}, 0, 2, 467 }, + { SUF_Z, 0, CPU_386, CPU_MOVBE, 0, {0, 0, 0}, 32, 0, 0, 3, {0x0F, 0x38, 0xF0}, 0, 2, 359 }, + { SUF_Z, 0, CPU_386, CPU_MOVBE, 0, {0, 0, 0}, 32, 0, 0, 3, {0x0F, 0x38, 0xF1}, 0, 2, 337 }, + { SUF_Z, ONLY_64, CPU_MOVBE, 0, 0, {0, 0, 0}, 64, 0, 0, 3, {0x0F, 0x38, 0xF0}, 0, 2, 469 }, + { SUF_Z, ONLY_64, CPU_MOVBE, 0, 0, {0, 0, 0}, 64, 0, 0, 3, {0x0F, 0x38, 0xF1}, 0, 2, 339 } +}; + +static const x86_insn_info vex_gpr_ndd_rm_0F38_regext_insn[] = { + { SUF_L|SUF_Z, ONLY_AVX, CPU_386, 0, 0, {MOD_PreAdd, MOD_Op2Add, MOD_SpAdd}, 32, 0, 0xC0, 3, {0x0F, 0x38, 0x00}, 0, 2, 255 }, + { SUF_Q|SUF_Z, ONLY_64|ONLY_AVX, 0, 0, 0, {MOD_PreAdd, MOD_Op2Add, MOD_SpAdd}, 64, 0, 0xC0, 3, {0x0F, 0x38, 0x00}, 0, 2, 258 } +}; + +static const x86_insn_info vex_gpr_reg_rm_0F_imm8_insn[] = { + { SUF_L|SUF_Z, ONLY_AVX, CPU_386, 0, 0, {MOD_PreAdd, MOD_Op1Add, MOD_Op2Add}, 32, 0, 0xC0, 3, {0x0F, 0x00, 0x00}, 0, 3, 134 }, + { SUF_Q|SUF_Z, ONLY_64|ONLY_AVX, 0, 0, 0, {MOD_PreAdd, MOD_Op1Add, MOD_Op2Add}, 64, 0, 0xC0, 3, {0x0F, 0x00, 0x00}, 0, 3, 137 } +}; + +static const x86_insn_info vex_gpr_reg_nds_rm_0F_insn[] = { + { SUF_L|SUF_Z, ONLY_AVX, CPU_386, 0, 0, {MOD_PreAdd, MOD_Op1Add, MOD_Op2Add}, 32, 0, 0xC0, 3, {0x0F, 0x00, 0x00}, 0, 3, 254 }, + { SUF_Q|SUF_Z, ONLY_64|ONLY_AVX, 0, 0, 0, {MOD_PreAdd, MOD_Op1Add, MOD_Op2Add}, 64, 0, 0xC0, 3, {0x0F, 0x00, 0x00}, 0, 3, 257 } +}; + +static const x86_insn_info vex_gpr_reg_rm_nds_0F_insn[] = { + { SUF_L|SUF_Z, ONLY_AVX, CPU_386, 0, 0, {MOD_PreAdd, MOD_Op1Add, MOD_Op2Add}, 32, 0, 0xC0, 3, {0x0F, 0x00, 0x00}, 0, 3, 149 }, + { SUF_Q|SUF_Z, ONLY_64|ONLY_AVX, 0, 0, 0, {MOD_PreAdd, MOD_Op1Add, MOD_Op2Add}, 64, 0, 0xC0, 3, {0x0F, 0x00, 0x00}, 0, 3, 152 } +}; + +static const x86_insn_info bextr_insn[] = { + { SUF_L|SUF_Z, ONLY_AVX, CPU_386, CPU_BMI1, 0, {0, 0, 0}, 32, 0, 0xC0, 3, {0x0F, 0x38, 0xF7}, 0, 3, 149 }, + { SUF_L|SUF_Z, ONLY_AVX, CPU_386, CPU_TBM, 0, {0, 0, 0}, 32, 0, 0x80, 2, {0x0A, 0x10, 0}, 0, 3, 230 }, + { SUF_Q|SUF_Z, ONLY_64|ONLY_AVX, CPU_BMI1, 0, 0, {0, 0, 0}, 64, 0, 0xC0, 3, {0x0F, 0x38, 0xF7}, 0, 3, 152 }, + { SUF_Q|SUF_Z, ONLY_64|ONLY_AVX, CPU_TBM, 0, 0, {0, 0, 0}, 64, 0, 0x88, 2, {0x0A, 0x10, 0}, 0, 3, 233 } +}; + +static const x86_insn_info invpcid_insn[] = { + { SUF_Z, NOT_64, CPU_386, CPU_INVPCID, CPU_Priv, {0, 0, 0}, 0, 0, 0x66, 3, {0x0F, 0x38, 0x82}, 0, 2, 611 }, + { SUF_Z, ONLY_64, CPU_INVPCID, CPU_Priv, 0, {0, 0, 0}, 0, 64, 0x66, 3, {0x0F, 0x38, 0x82}, 0, 2, 613 } +}; + +static const x86_insn_info intel_SHA1MSG1_insn[] = { + { SUF_Z, 0, CPU_SHA, 0, 0, {0, 0, 0}, 0, 0, 0, 3, {0x0F, 0x38, 0xC9}, 0, 2, 155 } +}; + +static const x86_insn_info intel_SHA1MSG2_insn[] = { + { SUF_Z, 0, CPU_SHA, 0, 0, {0, 0, 0}, 0, 0, 0, 3, {0x0F, 0x38, 0xCA}, 0, 2, 155 } +}; + +static const x86_insn_info intel_SHA1NEXTE_insn[] = { + { SUF_Z, 0, CPU_SHA, 0, 0, {0, 0, 0}, 0, 0, 0, 3, {0x0F, 0x38, 0xC8}, 0, 2, 155 } +}; + +static const x86_insn_info intel_SHA1RNDS4_insn[] = { + { SUF_Z, 0, CPU_SHA, 0, 0, {0, 0, 0}, 0, 0, 0, 3, {0x0F, 0x3A, 0xCC}, 0, 3, 185 } +}; + +static const x86_insn_info intel_SHA256MSG1_insn[] = { + { SUF_Z, 0, CPU_SHA, 0, 0, {0, 0, 0}, 0, 0, 0, 3, {0x0F, 0x38, 0xCC}, 0, 2, 155 } +}; + +static const x86_insn_info intel_SHA256MSG2_insn[] = { + { SUF_Z, 0, CPU_SHA, 0, 0, {0, 0, 0}, 0, 0, 0, 3, {0x0F, 0x38, 0xCD}, 0, 2, 155 } +}; + +static const x86_insn_info intel_SHA256RNDS2_insn[] = { + { SUF_Z, 0, CPU_SHA, 0, 0, {0, 0, 0}, 0, 0, 0, 3, {0x0F, 0x38, 0xCB}, 0, 2, 64 } +}; + +static const x86_insn_info vex_gpr_ndd_rm_0F38_insn[] = { + { SUF_L|SUF_Z, 0, CPU_386, 0, 0, {MOD_PreAdd, MOD_Op2Add, 0}, 32, 0, 0x00, 3, {0x0F, 0x38, 0x00}, 0, 2, 101 }, + { SUF_Q|SUF_Z, ONLY_64, 0, 0, 0, {MOD_PreAdd, MOD_Op2Add, 0}, 64, 0, 0x00, 3, {0x0F, 0x38, 0x00}, 0, 2, 104 } +}; + +static const x86_insn_info xop_gpr_reg_rm_09_insn[] = { + { SUF_L|SUF_Z, 0, CPU_386, CPU_TBM, 0, {MOD_Op1Add, MOD_SpAdd, 0}, 32, 0, 0x80, 2, {0x09, 0x00, 0}, 0, 2, 255 }, + { SUF_Q|SUF_Z, ONLY_64, CPU_TBM, 0, 0, {MOD_Op1Add, MOD_SpAdd, 0}, 64, 0, 0x88, 2, {0x09, 0x00, 0}, 0, 2, 258 } +}; + +static const x86_insn_info now3d_insn[] = { + { SUF_Z, 0, CPU_3DNow, 0, 0, {MOD_Imm8, 0, 0}, 0, 0, 0, 2, {0x0F, 0x0F, 0}, 0, 2, 140 } +}; + +static const x86_insn_info cmpxchg16b_insn[] = { + { SUF_Z, ONLY_64, 0, 0, 0, {0, 0, 0}, 64, 0, 0, 2, {0x0F, 0xC7, 0}, 1, 1, 510 } +}; + +static const x86_insn_info invlpga_insn[] = { + { SUF_Z, 0, CPU_SVM, 0, 0, {0, 0, 0}, 0, 0, 0, 3, {0x0F, 0x01, 0xDF}, 0, 0, 0 }, + { SUF_Z, 0, CPU_386, CPU_SVM, 0, {0, 0, 0}, 0, 0, 0, 3, {0x0F, 0x01, 0xDF}, 0, 2, 515 } +}; + +static const x86_insn_info skinit_insn[] = { + { SUF_Z, 0, CPU_SVM, 0, 0, {0, 0, 0}, 0, 0, 0, 3, {0x0F, 0x01, 0xDE}, 0, 0, 0 }, + { SUF_Z, 0, CPU_SVM, 0, 0, {0, 0, 0}, 0, 0, 0, 3, {0x0F, 0x01, 0xDE}, 0, 1, 655 } +}; + +static const x86_insn_info svm_rax_insn[] = { + { SUF_Z, 0, CPU_SVM, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0, 3, {0x0F, 0x01, 0x00}, 0, 0, 0 }, + { SUF_Z, 0, CPU_SVM, 0, 0, {MOD_Op2Add, 0, 0}, 0, 0, 0, 3, {0x0F, 0x01, 0x00}, 0, 1, 515 } +}; + +static const x86_insn_info padlock_insn[] = { + { SUF_Z, 0, CPU_PadLock, 0, 0, {MOD_Imm8, MOD_PreAdd, MOD_Op1Add}, 0, 0, 0x00, 2, {0x0F, 0x00, 0}, 0, 0, 0 } +}; + +static const x86_insn_info cyrixmmx_insn[] = { + { SUF_Z, 0, CPU_Cyrix, CPU_MMX, 0, {MOD_Op1Add, 0, 0}, 0, 0, 0, 2, {0x0F, 0x00, 0}, 0, 2, 140 } +}; + +static const x86_insn_info pmachriw_insn[] = { + { SUF_Z, 0, CPU_Cyrix, CPU_MMX, 0, {0, 0, 0}, 0, 0, 0, 2, {0x0F, 0x5E, 0}, 0, 2, 317 } +}; + +static const x86_insn_info rdwrshr_insn[] = { + { SUF_Z, 0, CPU_686, CPU_Cyrix, CPU_SMM, {MOD_Op1Add, 0, 0}, 0, 0, 0, 2, {0x0F, 0x36, 0}, 0, 1, 90 } +}; + +static const x86_insn_info rsdc_insn[] = { + { SUF_Z, 0, CPU_486, CPU_Cyrix, CPU_SMM, {0, 0, 0}, 0, 0, 0, 2, {0x0F, 0x79, 0}, 0, 2, 629 } +}; + +static const x86_insn_info cyrixsmm_insn[] = { + { SUF_Z, 0, CPU_486, CPU_Cyrix, CPU_SMM, {MOD_Op1Add, 0, 0}, 0, 0, 0, 2, {0x0F, 0x00, 0}, 0, 1, 619 } +}; + +static const x86_insn_info svdc_insn[] = { + { SUF_Z, 0, CPU_486, CPU_Cyrix, CPU_SMM, {0, 0, 0}, 0, 0, 0, 2, {0x0F, 0x78, 0}, 0, 2, 619 } +}; + +static const x86_insn_info ibts_insn[] = { + { SUF_Z, 0, CPU_386, CPU_Obs, CPU_Undoc, {0, 0, 0}, 16, 0, 0, 2, {0x0F, 0xA7, 0}, 0, 2, 260 }, + { SUF_Z, 0, CPU_386, CPU_Obs, CPU_Undoc, {0, 0, 0}, 32, 0, 0, 2, {0x0F, 0xA7, 0}, 0, 2, 266 } +}; + +static const x86_insn_info umov_insn[] = { + { SUF_Z, 0, CPU_386, CPU_Undoc, 0, {0, 0, 0}, 0, 0, 0, 2, {0x0F, 0x10, 0}, 0, 2, 323 }, + { SUF_Z, 0, CPU_386, CPU_Undoc, 0, {0, 0, 0}, 16, 0, 0, 2, {0x0F, 0x11, 0}, 0, 2, 260 }, + { SUF_Z, 0, CPU_386, CPU_Undoc, 0, {0, 0, 0}, 32, 0, 0, 2, {0x0F, 0x11, 0}, 0, 2, 266 }, + { SUF_Z, 0, CPU_386, CPU_Undoc, 0, {0, 0, 0}, 0, 0, 0, 2, {0x0F, 0x12, 0}, 0, 2, 325 }, + { SUF_Z, 0, CPU_386, CPU_Undoc, 0, {0, 0, 0}, 16, 0, 0, 2, {0x0F, 0x13, 0}, 0, 2, 98 }, + { SUF_Z, 0, CPU_386, CPU_Undoc, 0, {0, 0, 0}, 32, 0, 0, 2, {0x0F, 0x13, 0}, 0, 2, 101 } +}; + +static const x86_insn_info xbts_insn[] = { + { SUF_Z, 0, CPU_386, CPU_Obs, CPU_Undoc, {0, 0, 0}, 16, 0, 0, 2, {0x0F, 0xA6, 0}, 0, 2, 465 }, + { SUF_Z, 0, CPU_386, CPU_Obs, CPU_Undoc, {0, 0, 0}, 32, 0, 0, 2, {0x0F, 0xA6, 0}, 0, 2, 359 } +}; + |