laag-nasm 2.13.03.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (455) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +57 -0
  3. data/LICENSE.txt +29 -0
  4. data/README.org +34 -0
  5. data/ext/laag/nasm/extconf.rb +16 -0
  6. data/laag-nasm.gemspec +20 -0
  7. data/lib/laag/nasm.rb +29 -0
  8. data/patches/Makefile.in.patch +13 -0
  9. data/vendor/repo.or.cz/nasm/.gitignore +102 -0
  10. data/vendor/repo.or.cz/nasm/AUTHORS +137 -0
  11. data/vendor/repo.or.cz/nasm/CHANGES +2 -0
  12. data/vendor/repo.or.cz/nasm/ChangeLog +2905 -0
  13. data/vendor/repo.or.cz/nasm/INSTALL +102 -0
  14. data/vendor/repo.or.cz/nasm/LICENSE +29 -0
  15. data/vendor/repo.or.cz/nasm/Makefile.in +855 -0
  16. data/vendor/repo.or.cz/nasm/Mkfiles/README +46 -0
  17. data/vendor/repo.or.cz/nasm/Mkfiles/msvc.mak +732 -0
  18. data/vendor/repo.or.cz/nasm/Mkfiles/openwcom.mak +706 -0
  19. data/vendor/repo.or.cz/nasm/README +23 -0
  20. data/vendor/repo.or.cz/nasm/SubmittingPatches +116 -0
  21. data/vendor/repo.or.cz/nasm/TODO +376 -0
  22. data/vendor/repo.or.cz/nasm/aclocal.m4 +139 -0
  23. data/vendor/repo.or.cz/nasm/asm/assemble.c +2957 -0
  24. data/vendor/repo.or.cz/nasm/asm/assemble.h +54 -0
  25. data/vendor/repo.or.cz/nasm/asm/directiv.c +566 -0
  26. data/vendor/repo.or.cz/nasm/asm/directiv.dat +92 -0
  27. data/vendor/repo.or.cz/nasm/asm/error.c +202 -0
  28. data/vendor/repo.or.cz/nasm/asm/eval.c +1014 -0
  29. data/vendor/repo.or.cz/nasm/asm/eval.h +49 -0
  30. data/vendor/repo.or.cz/nasm/asm/exprdump.c +79 -0
  31. data/vendor/repo.or.cz/nasm/asm/exprlib.c +200 -0
  32. data/vendor/repo.or.cz/nasm/asm/float.c +952 -0
  33. data/vendor/repo.or.cz/nasm/asm/float.h +54 -0
  34. data/vendor/repo.or.cz/nasm/asm/labels.c +540 -0
  35. data/vendor/repo.or.cz/nasm/asm/listing.c +346 -0
  36. data/vendor/repo.or.cz/nasm/asm/listing.h +113 -0
  37. data/vendor/repo.or.cz/nasm/asm/nasm.c +1855 -0
  38. data/vendor/repo.or.cz/nasm/asm/parser.c +1167 -0
  39. data/vendor/repo.or.cz/nasm/asm/parser.h +45 -0
  40. data/vendor/repo.or.cz/nasm/asm/phash.pl +109 -0
  41. data/vendor/repo.or.cz/nasm/asm/pptok.dat +96 -0
  42. data/vendor/repo.or.cz/nasm/asm/pptok.pl +271 -0
  43. data/vendor/repo.or.cz/nasm/asm/pragma.c +218 -0
  44. data/vendor/repo.or.cz/nasm/asm/preproc-nop.c +188 -0
  45. data/vendor/repo.or.cz/nasm/asm/preproc.c +5459 -0
  46. data/vendor/repo.or.cz/nasm/asm/preproc.h +55 -0
  47. data/vendor/repo.or.cz/nasm/asm/quote.c +479 -0
  48. data/vendor/repo.or.cz/nasm/asm/quote.h +44 -0
  49. data/vendor/repo.or.cz/nasm/asm/rdstrnum.c +68 -0
  50. data/vendor/repo.or.cz/nasm/asm/segalloc.c +51 -0
  51. data/vendor/repo.or.cz/nasm/asm/stdscan.c +345 -0
  52. data/vendor/repo.or.cz/nasm/asm/stdscan.h +49 -0
  53. data/vendor/repo.or.cz/nasm/asm/strfunc.c +359 -0
  54. data/vendor/repo.or.cz/nasm/asm/tokens.dat +135 -0
  55. data/vendor/repo.or.cz/nasm/asm/tokhash.pl +284 -0
  56. data/vendor/repo.or.cz/nasm/autogen.sh +9 -0
  57. data/vendor/repo.or.cz/nasm/common/common.c +122 -0
  58. data/vendor/repo.or.cz/nasm/config/msvc.h +192 -0
  59. data/vendor/repo.or.cz/nasm/config/unknown.h +51 -0
  60. data/vendor/repo.or.cz/nasm/config/watcom.h +74 -0
  61. data/vendor/repo.or.cz/nasm/configure.ac +253 -0
  62. data/vendor/repo.or.cz/nasm/contrib/MSVC6.txt +25 -0
  63. data/vendor/repo.or.cz/nasm/contrib/VSrules/nasm.README +16 -0
  64. data/vendor/repo.or.cz/nasm/contrib/VSrules/nasm.rules +79 -0
  65. data/vendor/repo.or.cz/nasm/disasm/disasm.c +1735 -0
  66. data/vendor/repo.or.cz/nasm/disasm/disasm.h +49 -0
  67. data/vendor/repo.or.cz/nasm/disasm/ndisasm.c +397 -0
  68. data/vendor/repo.or.cz/nasm/disasm/sync.c +132 -0
  69. data/vendor/repo.or.cz/nasm/disasm/sync.h +45 -0
  70. data/vendor/repo.or.cz/nasm/doc/Makefile.in +86 -0
  71. data/vendor/repo.or.cz/nasm/doc/README +20 -0
  72. data/vendor/repo.or.cz/nasm/doc/afmmetrics.ph +102 -0
  73. data/vendor/repo.or.cz/nasm/doc/changes.src +2588 -0
  74. data/vendor/repo.or.cz/nasm/doc/findfont.ph +180 -0
  75. data/vendor/repo.or.cz/nasm/doc/genps.pl +1294 -0
  76. data/vendor/repo.or.cz/nasm/doc/inslist.pl +108 -0
  77. data/vendor/repo.or.cz/nasm/doc/internal.doc +290 -0
  78. data/vendor/repo.or.cz/nasm/doc/local.css +1 -0
  79. data/vendor/repo.or.cz/nasm/doc/nasmdoc.css +150 -0
  80. data/vendor/repo.or.cz/nasm/doc/nasmdoc.src +8309 -0
  81. data/vendor/repo.or.cz/nasm/doc/nasmlogo.eps +212 -0
  82. data/vendor/repo.or.cz/nasm/doc/nasmlogw.png +0 -0
  83. data/vendor/repo.or.cz/nasm/doc/psfonts.ph +53 -0
  84. data/vendor/repo.or.cz/nasm/doc/pspdf.pl +98 -0
  85. data/vendor/repo.or.cz/nasm/doc/pswidth.ph +25 -0
  86. data/vendor/repo.or.cz/nasm/doc/rdsrc.pl +1111 -0
  87. data/vendor/repo.or.cz/nasm/doc/ttfmetrics.ph +63 -0
  88. data/vendor/repo.or.cz/nasm/headers/c +33 -0
  89. data/vendor/repo.or.cz/nasm/headers/doc +33 -0
  90. data/vendor/repo.or.cz/nasm/headers/mac +33 -0
  91. data/vendor/repo.or.cz/nasm/headers/perl +33 -0
  92. data/vendor/repo.or.cz/nasm/include/compiler.h +277 -0
  93. data/vendor/repo.or.cz/nasm/include/disp8.h +45 -0
  94. data/vendor/repo.or.cz/nasm/include/error.h +135 -0
  95. data/vendor/repo.or.cz/nasm/include/hashtbl.h +85 -0
  96. data/vendor/repo.or.cz/nasm/include/iflag.h +173 -0
  97. data/vendor/repo.or.cz/nasm/include/insns.h +76 -0
  98. data/vendor/repo.or.cz/nasm/include/labels.h +60 -0
  99. data/vendor/repo.or.cz/nasm/include/md5.h +21 -0
  100. data/vendor/repo.or.cz/nasm/include/nasm.h +1246 -0
  101. data/vendor/repo.or.cz/nasm/include/nasmint.h +219 -0
  102. data/vendor/repo.or.cz/nasm/include/nasmlib.h +524 -0
  103. data/vendor/repo.or.cz/nasm/include/opflags.h +271 -0
  104. data/vendor/repo.or.cz/nasm/include/perfhash.h +52 -0
  105. data/vendor/repo.or.cz/nasm/include/raa.h +46 -0
  106. data/vendor/repo.or.cz/nasm/include/rbtree.h +51 -0
  107. data/vendor/repo.or.cz/nasm/include/rdoff.h +169 -0
  108. data/vendor/repo.or.cz/nasm/include/saa.h +94 -0
  109. data/vendor/repo.or.cz/nasm/include/strlist.h +55 -0
  110. data/vendor/repo.or.cz/nasm/include/tables.h +70 -0
  111. data/vendor/repo.or.cz/nasm/include/ver.h +47 -0
  112. data/vendor/repo.or.cz/nasm/install-sh +250 -0
  113. data/vendor/repo.or.cz/nasm/macros/altreg.mac +107 -0
  114. data/vendor/repo.or.cz/nasm/macros/fp.mac +54 -0
  115. data/vendor/repo.or.cz/nasm/macros/ifunc.mac +48 -0
  116. data/vendor/repo.or.cz/nasm/macros/macros.pl +294 -0
  117. data/vendor/repo.or.cz/nasm/macros/smartalign.mac +189 -0
  118. data/vendor/repo.or.cz/nasm/macros/standard.mac +226 -0
  119. data/vendor/repo.or.cz/nasm/misc/Doxyfile +752 -0
  120. data/vendor/repo.or.cz/nasm/misc/Nindent +18 -0
  121. data/vendor/repo.or.cz/nasm/misc/README +2 -0
  122. data/vendor/repo.or.cz/nasm/misc/c16.mac +82 -0
  123. data/vendor/repo.or.cz/nasm/misc/c32.mac +52 -0
  124. data/vendor/repo.or.cz/nasm/misc/crcgen.c +44 -0
  125. data/vendor/repo.or.cz/nasm/misc/exebin.mac +57 -0
  126. data/vendor/repo.or.cz/nasm/misc/exebin2.mac +114 -0
  127. data/vendor/repo.or.cz/nasm/misc/fmtinsns.pl +40 -0
  128. data/vendor/repo.or.cz/nasm/misc/genfma.pl +63 -0
  129. data/vendor/repo.or.cz/nasm/misc/hints.txt +26 -0
  130. data/vendor/repo.or.cz/nasm/misc/magic +6 -0
  131. data/vendor/repo.or.cz/nasm/misc/myC32.mac +121 -0
  132. data/vendor/repo.or.cz/nasm/misc/nasm.sl +320 -0
  133. data/vendor/repo.or.cz/nasm/misc/nasmstab +296 -0
  134. data/vendor/repo.or.cz/nasm/misc/omfdump.c +517 -0
  135. data/vendor/repo.or.cz/nasm/misc/pmw.bat +9 -0
  136. data/vendor/repo.or.cz/nasm/misc/proc32.ash +441 -0
  137. data/vendor/repo.or.cz/nasm/misc/scitech.mac +1223 -0
  138. data/vendor/repo.or.cz/nasm/misc/xcrcgen.c +80 -0
  139. data/vendor/repo.or.cz/nasm/nasm.spec.in +83 -0
  140. data/vendor/repo.or.cz/nasm/nasm.spec.sed +3 -0
  141. data/vendor/repo.or.cz/nasm/nasm.txt +306 -0
  142. data/vendor/repo.or.cz/nasm/nasmlib/badenum.c +43 -0
  143. data/vendor/repo.or.cz/nasm/nasmlib/bsi.c +77 -0
  144. data/vendor/repo.or.cz/nasm/nasmlib/crc64.c +189 -0
  145. data/vendor/repo.or.cz/nasm/nasmlib/file.c +259 -0
  146. data/vendor/repo.or.cz/nasm/nasmlib/file.h +128 -0
  147. data/vendor/repo.or.cz/nasm/nasmlib/filename.c +69 -0
  148. data/vendor/repo.or.cz/nasm/nasmlib/hashtbl.c +232 -0
  149. data/vendor/repo.or.cz/nasm/nasmlib/ilog2.c +168 -0
  150. data/vendor/repo.or.cz/nasm/nasmlib/malloc.c +108 -0
  151. data/vendor/repo.or.cz/nasm/nasmlib/md5c.c +247 -0
  152. data/vendor/repo.or.cz/nasm/nasmlib/mmap.c +139 -0
  153. data/vendor/repo.or.cz/nasm/nasmlib/path.c +186 -0
  154. data/vendor/repo.or.cz/nasm/nasmlib/perfhash.c +55 -0
  155. data/vendor/repo.or.cz/nasm/nasmlib/perfhash.pl +362 -0
  156. data/vendor/repo.or.cz/nasm/nasmlib/raa.c +173 -0
  157. data/vendor/repo.or.cz/nasm/nasmlib/rbtree.c +119 -0
  158. data/vendor/repo.or.cz/nasm/nasmlib/readnum.c +172 -0
  159. data/vendor/repo.or.cz/nasm/nasmlib/realpath.c +135 -0
  160. data/vendor/repo.or.cz/nasm/nasmlib/saa.c +431 -0
  161. data/vendor/repo.or.cz/nasm/nasmlib/srcfile.c +128 -0
  162. data/vendor/repo.or.cz/nasm/nasmlib/string.c +242 -0
  163. data/vendor/repo.or.cz/nasm/nasmlib/strlist.c +100 -0
  164. data/vendor/repo.or.cz/nasm/nasmlib/ver.c +51 -0
  165. data/vendor/repo.or.cz/nasm/nasmlib/zerobuf.c +42 -0
  166. data/vendor/repo.or.cz/nasm/ndisasm.txt +94 -0
  167. data/vendor/repo.or.cz/nasm/nsis/NASMMultiUser.nsh +478 -0
  168. data/vendor/repo.or.cz/nasm/nsis/getpearch.pl +76 -0
  169. data/vendor/repo.or.cz/nasm/nsis/nasm-un.ico +0 -0
  170. data/vendor/repo.or.cz/nasm/nsis/nasm.ico +0 -0
  171. data/vendor/repo.or.cz/nasm/nsis/nasm.nsi +241 -0
  172. data/vendor/repo.or.cz/nasm/output/codeview.c +814 -0
  173. data/vendor/repo.or.cz/nasm/output/dwarf.h +566 -0
  174. data/vendor/repo.or.cz/nasm/output/elf.h +537 -0
  175. data/vendor/repo.or.cz/nasm/output/legacy.c +112 -0
  176. data/vendor/repo.or.cz/nasm/output/nulldbg.c +93 -0
  177. data/vendor/repo.or.cz/nasm/output/nullout.c +51 -0
  178. data/vendor/repo.or.cz/nasm/output/outaout.c +954 -0
  179. data/vendor/repo.or.cz/nasm/output/outaout.mac +37 -0
  180. data/vendor/repo.or.cz/nasm/output/outas86.c +650 -0
  181. data/vendor/repo.or.cz/nasm/output/outas86.mac +37 -0
  182. data/vendor/repo.or.cz/nasm/output/outbin.c +1713 -0
  183. data/vendor/repo.or.cz/nasm/output/outbin.mac +40 -0
  184. data/vendor/repo.or.cz/nasm/output/outcoff.c +1242 -0
  185. data/vendor/repo.or.cz/nasm/output/outcoff.mac +43 -0
  186. data/vendor/repo.or.cz/nasm/output/outdbg.c +425 -0
  187. data/vendor/repo.or.cz/nasm/output/outelf.c +3370 -0
  188. data/vendor/repo.or.cz/nasm/output/outelf.h +156 -0
  189. data/vendor/repo.or.cz/nasm/output/outelf.mac +41 -0
  190. data/vendor/repo.or.cz/nasm/output/outform.c +120 -0
  191. data/vendor/repo.or.cz/nasm/output/outform.h +379 -0
  192. data/vendor/repo.or.cz/nasm/output/outieee.c +1528 -0
  193. data/vendor/repo.or.cz/nasm/output/outlib.c +58 -0
  194. data/vendor/repo.or.cz/nasm/output/outlib.h +63 -0
  195. data/vendor/repo.or.cz/nasm/output/outmacho.c +2387 -0
  196. data/vendor/repo.or.cz/nasm/output/outmacho.mac +49 -0
  197. data/vendor/repo.or.cz/nasm/output/outobj.c +2725 -0
  198. data/vendor/repo.or.cz/nasm/output/outobj.mac +49 -0
  199. data/vendor/repo.or.cz/nasm/output/outrdf.mac +40 -0
  200. data/vendor/repo.or.cz/nasm/output/outrdf2.c +791 -0
  201. data/vendor/repo.or.cz/nasm/output/outrdf2.mac +43 -0
  202. data/vendor/repo.or.cz/nasm/output/pecoff.h +532 -0
  203. data/vendor/repo.or.cz/nasm/output/stabs.h +144 -0
  204. data/vendor/repo.or.cz/nasm/perllib/crc64.ph +158 -0
  205. data/vendor/repo.or.cz/nasm/perllib/gensv.pl +34 -0
  206. data/vendor/repo.or.cz/nasm/perllib/phash.ph +200 -0
  207. data/vendor/repo.or.cz/nasm/perllib/random_sv_vectors.ph +67 -0
  208. data/vendor/repo.or.cz/nasm/rdoff/README +185 -0
  209. data/vendor/repo.or.cz/nasm/rdoff/collectn.c +44 -0
  210. data/vendor/repo.or.cz/nasm/rdoff/collectn.h +22 -0
  211. data/vendor/repo.or.cz/nasm/rdoff/doc/Makefile +37 -0
  212. data/vendor/repo.or.cz/nasm/rdoff/doc/rdoff.texi +137 -0
  213. data/vendor/repo.or.cz/nasm/rdoff/doc/v1-v2.txt +62 -0
  214. data/vendor/repo.or.cz/nasm/rdoff/hash.c +122 -0
  215. data/vendor/repo.or.cz/nasm/rdoff/hash.h +17 -0
  216. data/vendor/repo.or.cz/nasm/rdoff/ldrdf.1 +41 -0
  217. data/vendor/repo.or.cz/nasm/rdoff/ldrdf.c +1395 -0
  218. data/vendor/repo.or.cz/nasm/rdoff/ldsegs.h +59 -0
  219. data/vendor/repo.or.cz/nasm/rdoff/rdf2bin.1 +65 -0
  220. data/vendor/repo.or.cz/nasm/rdoff/rdf2bin.c +431 -0
  221. data/vendor/repo.or.cz/nasm/rdoff/rdf2com.1 +1 -0
  222. data/vendor/repo.or.cz/nasm/rdoff/rdf2ihx.1 +1 -0
  223. data/vendor/repo.or.cz/nasm/rdoff/rdf2ith.1 +1 -0
  224. data/vendor/repo.or.cz/nasm/rdoff/rdf2srec.1 +1 -0
  225. data/vendor/repo.or.cz/nasm/rdoff/rdfdump.1 +24 -0
  226. data/vendor/repo.or.cz/nasm/rdoff/rdfdump.c +347 -0
  227. data/vendor/repo.or.cz/nasm/rdoff/rdflib.1 +39 -0
  228. data/vendor/repo.or.cz/nasm/rdoff/rdflib.c +434 -0
  229. data/vendor/repo.or.cz/nasm/rdoff/rdfload.c +213 -0
  230. data/vendor/repo.or.cz/nasm/rdoff/rdfload.h +29 -0
  231. data/vendor/repo.or.cz/nasm/rdoff/rdfutils.h +165 -0
  232. data/vendor/repo.or.cz/nasm/rdoff/rdlar.c +492 -0
  233. data/vendor/repo.or.cz/nasm/rdoff/rdlar.h +34 -0
  234. data/vendor/repo.or.cz/nasm/rdoff/rdlib.c +290 -0
  235. data/vendor/repo.or.cz/nasm/rdoff/rdlib.h +62 -0
  236. data/vendor/repo.or.cz/nasm/rdoff/rdoff.c +621 -0
  237. data/vendor/repo.or.cz/nasm/rdoff/rdx.1 +21 -0
  238. data/vendor/repo.or.cz/nasm/rdoff/rdx.c +90 -0
  239. data/vendor/repo.or.cz/nasm/rdoff/segtab.c +172 -0
  240. data/vendor/repo.or.cz/nasm/rdoff/segtab.h +45 -0
  241. data/vendor/repo.or.cz/nasm/rdoff/symtab.c +159 -0
  242. data/vendor/repo.or.cz/nasm/rdoff/symtab.h +55 -0
  243. data/vendor/repo.or.cz/nasm/rdoff/test/Makefile +10 -0
  244. data/vendor/repo.or.cz/nasm/rdoff/test/makelib.sh +14 -0
  245. data/vendor/repo.or.cz/nasm/rdoff/test/rdfseg.asm +20 -0
  246. data/vendor/repo.or.cz/nasm/rdoff/test/rdfseg2.asm +12 -0
  247. data/vendor/repo.or.cz/nasm/rdoff/test/rdftest1.asm +54 -0
  248. data/vendor/repo.or.cz/nasm/rdoff/test/rdftest2.asm +33 -0
  249. data/vendor/repo.or.cz/nasm/rdoff/test/rdtlib.asm +48 -0
  250. data/vendor/repo.or.cz/nasm/rdoff/test/rdtmain.asm +47 -0
  251. data/vendor/repo.or.cz/nasm/rdoff/test/testlib.asm +18 -0
  252. data/vendor/repo.or.cz/nasm/stdlib/snprintf.c +29 -0
  253. data/vendor/repo.or.cz/nasm/stdlib/strlcpy.c +51 -0
  254. data/vendor/repo.or.cz/nasm/stdlib/strnlen.c +46 -0
  255. data/vendor/repo.or.cz/nasm/stdlib/vsnprintf.c +51 -0
  256. data/vendor/repo.or.cz/nasm/test/Makefile +106 -0
  257. data/vendor/repo.or.cz/nasm/test/_file_.asm +5 -0
  258. data/vendor/repo.or.cz/nasm/test/_version.asm +2 -0
  259. data/vendor/repo.or.cz/nasm/test/a32offs.asm +9 -0
  260. data/vendor/repo.or.cz/nasm/test/absolute.asm +40 -0
  261. data/vendor/repo.or.cz/nasm/test/addr64x.asm +18 -0
  262. data/vendor/repo.or.cz/nasm/test/align13.asm +19 -0
  263. data/vendor/repo.or.cz/nasm/test/align13s.asm +20 -0
  264. data/vendor/repo.or.cz/nasm/test/alonesym-obj.asm +166 -0
  265. data/vendor/repo.or.cz/nasm/test/andbyte.asm +15 -0
  266. data/vendor/repo.or.cz/nasm/test/aoutso.asm +99 -0
  267. data/vendor/repo.or.cz/nasm/test/aouttest.asm +86 -0
  268. data/vendor/repo.or.cz/nasm/test/aouttest.c +36 -0
  269. data/vendor/repo.or.cz/nasm/test/avx.asm +46 -0
  270. data/vendor/repo.or.cz/nasm/test/avx005.asm +529 -0
  271. data/vendor/repo.or.cz/nasm/test/avx2.asm +1608 -0
  272. data/vendor/repo.or.cz/nasm/test/avx512cd.asm +106 -0
  273. data/vendor/repo.or.cz/nasm/test/avx512er.asm +144 -0
  274. data/vendor/repo.or.cz/nasm/test/avx512f.asm +7000 -0
  275. data/vendor/repo.or.cz/nasm/test/avx512pf.asm +88 -0
  276. data/vendor/repo.or.cz/nasm/test/bcd.asm +23 -0
  277. data/vendor/repo.or.cz/nasm/test/binexe.asm +35 -0
  278. data/vendor/repo.or.cz/nasm/test/bintest.asm +59 -0
  279. data/vendor/repo.or.cz/nasm/test/bisect.sh +22 -0
  280. data/vendor/repo.or.cz/nasm/test/br1879590.asm +25 -0
  281. data/vendor/repo.or.cz/nasm/test/br2003451.asm +17 -0
  282. data/vendor/repo.or.cz/nasm/test/br2030823.asm +7 -0
  283. data/vendor/repo.or.cz/nasm/test/br2148476.asm +221 -0
  284. data/vendor/repo.or.cz/nasm/test/br2222615.asm +19 -0
  285. data/vendor/repo.or.cz/nasm/test/br2496848.asm +42 -0
  286. data/vendor/repo.or.cz/nasm/test/br3005117.asm +26 -0
  287. data/vendor/repo.or.cz/nasm/test/br3026808.asm +20 -0
  288. data/vendor/repo.or.cz/nasm/test/br3028880.asm +8 -0
  289. data/vendor/repo.or.cz/nasm/test/br3041451.asm +59 -0
  290. data/vendor/repo.or.cz/nasm/test/br3058845.asm +14 -0
  291. data/vendor/repo.or.cz/nasm/test/br3066383.asm +70 -0
  292. data/vendor/repo.or.cz/nasm/test/br3074517.asm +12 -0
  293. data/vendor/repo.or.cz/nasm/test/br3092924.asm +25 -0
  294. data/vendor/repo.or.cz/nasm/test/br3104312.asm +11 -0
  295. data/vendor/repo.or.cz/nasm/test/br3109604.asm +9 -0
  296. data/vendor/repo.or.cz/nasm/test/br3174983.asm +9 -0
  297. data/vendor/repo.or.cz/nasm/test/br3187743.asm +7 -0
  298. data/vendor/repo.or.cz/nasm/test/br3189064.asm +7 -0
  299. data/vendor/repo.or.cz/nasm/test/br3200749.asm +9 -0
  300. data/vendor/repo.or.cz/nasm/test/br3385573.asm +11 -0
  301. data/vendor/repo.or.cz/nasm/test/br3392252.asm +43 -0
  302. data/vendor/repo.or.cz/nasm/test/br3392259.asm +8 -0
  303. data/vendor/repo.or.cz/nasm/test/br3392363.asm +4 -0
  304. data/vendor/repo.or.cz/nasm/test/br3392392.asm +16 -0
  305. data/vendor/repo.or.cz/nasm/test/br3392396.asm +5 -0
  306. data/vendor/repo.or.cz/nasm/test/br3392411.asm +22 -0
  307. data/vendor/repo.or.cz/nasm/test/br3392418.asm +3 -0
  308. data/vendor/repo.or.cz/nasm/test/br3392439.asm +25 -0
  309. data/vendor/repo.or.cz/nasm/test/br3392442.asm +6 -0
  310. data/vendor/repo.or.cz/nasm/test/br560575.asm +17 -0
  311. data/vendor/repo.or.cz/nasm/test/br560873.asm +27 -0
  312. data/vendor/repo.or.cz/nasm/test/br890790.asm +7 -0
  313. data/vendor/repo.or.cz/nasm/test/br890790_i.asm +1 -0
  314. data/vendor/repo.or.cz/nasm/test/br978756.asm +7 -0
  315. data/vendor/repo.or.cz/nasm/test/changed.asm +383 -0
  316. data/vendor/repo.or.cz/nasm/test/cofftest.asm +85 -0
  317. data/vendor/repo.or.cz/nasm/test/cofftest.c +35 -0
  318. data/vendor/repo.or.cz/nasm/test/crc32.asm +37 -0
  319. data/vendor/repo.or.cz/nasm/test/cv8struc.asm +14 -0
  320. data/vendor/repo.or.cz/nasm/test/dtbcd.asm +72 -0
  321. data/vendor/repo.or.cz/nasm/test/elf64so.asm +118 -0
  322. data/vendor/repo.or.cz/nasm/test/elfso.asm +100 -0
  323. data/vendor/repo.or.cz/nasm/test/elftest.asm +87 -0
  324. data/vendor/repo.or.cz/nasm/test/elftest.c +38 -0
  325. data/vendor/repo.or.cz/nasm/test/elftest64.c +43 -0
  326. data/vendor/repo.or.cz/nasm/test/elif.asm +39 -0
  327. data/vendor/repo.or.cz/nasm/test/expimp.asm +90 -0
  328. data/vendor/repo.or.cz/nasm/test/far64.asm +10 -0
  329. data/vendor/repo.or.cz/nasm/test/float.asm +186 -0
  330. data/vendor/repo.or.cz/nasm/test/float8.asm +135 -0
  331. data/vendor/repo.or.cz/nasm/test/floatb.asm +35 -0
  332. data/vendor/repo.or.cz/nasm/test/floatexp.asm +382 -0
  333. data/vendor/repo.or.cz/nasm/test/floatize.asm +19 -0
  334. data/vendor/repo.or.cz/nasm/test/floattest.asm +28 -0
  335. data/vendor/repo.or.cz/nasm/test/floatx.asm +525 -0
  336. data/vendor/repo.or.cz/nasm/test/fpu.asm +127 -0
  337. data/vendor/repo.or.cz/nasm/test/fwdopt.asm +133 -0
  338. data/vendor/repo.or.cz/nasm/test/fwdoptpp.asm +150 -0
  339. data/vendor/repo.or.cz/nasm/test/gas2nasm.py +104 -0
  340. data/vendor/repo.or.cz/nasm/test/gather.asm +11 -0
  341. data/vendor/repo.or.cz/nasm/test/gotoff64.asm +25 -0
  342. data/vendor/repo.or.cz/nasm/test/hexfp.asm +25 -0
  343. data/vendor/repo.or.cz/nasm/test/hle.asm +19 -0
  344. data/vendor/repo.or.cz/nasm/test/ifelse.asm +46 -0
  345. data/vendor/repo.or.cz/nasm/test/ifenv.asm +31 -0
  346. data/vendor/repo.or.cz/nasm/test/ifmacro.asm +413 -0
  347. data/vendor/repo.or.cz/nasm/test/iftoken.asm +317 -0
  348. data/vendor/repo.or.cz/nasm/test/iftoken.pl +32 -0
  349. data/vendor/repo.or.cz/nasm/test/ilog2.asm +271 -0
  350. data/vendor/repo.or.cz/nasm/test/imacro.asm +8 -0
  351. data/vendor/repo.or.cz/nasm/test/imm.asm +23 -0
  352. data/vendor/repo.or.cz/nasm/test/imm64.asm +61 -0
  353. data/vendor/repo.or.cz/nasm/test/immwarn.asm +91 -0
  354. data/vendor/repo.or.cz/nasm/test/imul.asm +117 -0
  355. data/vendor/repo.or.cz/nasm/test/inc1.asm +6 -0
  356. data/vendor/repo.or.cz/nasm/test/inc2.asm +8 -0
  357. data/vendor/repo.or.cz/nasm/test/incbin.asm +7 -0
  358. data/vendor/repo.or.cz/nasm/test/incbin.data +2 -0
  359. data/vendor/repo.or.cz/nasm/test/inctest.asm +15 -0
  360. data/vendor/repo.or.cz/nasm/test/insnlbl.asm +12 -0
  361. data/vendor/repo.or.cz/nasm/test/invlpga.asm +11 -0
  362. data/vendor/repo.or.cz/nasm/test/jmp64.asm +19 -0
  363. data/vendor/repo.or.cz/nasm/test/lar_lsl.asm +124 -0
  364. data/vendor/repo.or.cz/nasm/test/larlsl.asm +23 -0
  365. data/vendor/repo.or.cz/nasm/test/lnxhello.asm +54 -0
  366. data/vendor/repo.or.cz/nasm/test/local.asm +19 -0
  367. data/vendor/repo.or.cz/nasm/test/loopoffs.asm +12 -0
  368. data/vendor/repo.or.cz/nasm/test/lwp.asm +213 -0
  369. data/vendor/repo.or.cz/nasm/test/macro-defaults.asm +64 -0
  370. data/vendor/repo.or.cz/nasm/test/macroerr.asm +12 -0
  371. data/vendor/repo.or.cz/nasm/test/macroerr.inc +3 -0
  372. data/vendor/repo.or.cz/nasm/test/mmxsize.asm +38 -0
  373. data/vendor/repo.or.cz/nasm/test/movd.asm +12 -0
  374. data/vendor/repo.or.cz/nasm/test/movd64.asm +15 -0
  375. data/vendor/repo.or.cz/nasm/test/movimm.asm +28 -0
  376. data/vendor/repo.or.cz/nasm/test/movnti.asm +10 -0
  377. data/vendor/repo.or.cz/nasm/test/mpx-64.asm +120 -0
  378. data/vendor/repo.or.cz/nasm/test/mpx.asm +89 -0
  379. data/vendor/repo.or.cz/nasm/test/multisection.asm +96 -0
  380. data/vendor/repo.or.cz/nasm/test/nasmformat.asm +17 -0
  381. data/vendor/repo.or.cz/nasm/test/new +9 -0
  382. data/vendor/repo.or.cz/nasm/test/newrdwr.asm +24 -0
  383. data/vendor/repo.or.cz/nasm/test/nop.asm +17 -0
  384. data/vendor/repo.or.cz/nasm/test/nullfile.asm +4 -0
  385. data/vendor/repo.or.cz/nasm/test/objexe.asm +30 -0
  386. data/vendor/repo.or.cz/nasm/test/objlink.c +33 -0
  387. data/vendor/repo.or.cz/nasm/test/objtest.asm +85 -0
  388. data/vendor/repo.or.cz/nasm/test/optimization.asm +104 -0
  389. data/vendor/repo.or.cz/nasm/test/org.asm +18 -0
  390. data/vendor/repo.or.cz/nasm/test/paste.asm +12 -0
  391. data/vendor/repo.or.cz/nasm/test/pcrel.asm +52 -0
  392. data/vendor/repo.or.cz/nasm/test/perf/label.pl +18 -0
  393. data/vendor/repo.or.cz/nasm/test/perf/macro.pl +18 -0
  394. data/vendor/repo.or.cz/nasm/test/perf/token.pl +23 -0
  395. data/vendor/repo.or.cz/nasm/test/performtest.pl +192 -0
  396. data/vendor/repo.or.cz/nasm/test/pextrw.asm +3 -0
  397. data/vendor/repo.or.cz/nasm/test/pinsr16.asm +53 -0
  398. data/vendor/repo.or.cz/nasm/test/pinsr32.asm +53 -0
  399. data/vendor/repo.or.cz/nasm/test/pinsr64.asm +68 -0
  400. data/vendor/repo.or.cz/nasm/test/popcnt.asm +32 -0
  401. data/vendor/repo.or.cz/nasm/test/ppindirect.asm +42 -0
  402. data/vendor/repo.or.cz/nasm/test/pragma.asm +12 -0
  403. data/vendor/repo.or.cz/nasm/test/prefix66.asm +28 -0
  404. data/vendor/repo.or.cz/nasm/test/ptr.asm +4 -0
  405. data/vendor/repo.or.cz/nasm/test/pushseg.asm +17 -0
  406. data/vendor/repo.or.cz/nasm/test/r13.asm +15 -0
  407. data/vendor/repo.or.cz/nasm/test/radix.asm +54 -0
  408. data/vendor/repo.or.cz/nasm/test/rdpid.asm +21 -0
  409. data/vendor/repo.or.cz/nasm/test/reldef.asm +57 -0
  410. data/vendor/repo.or.cz/nasm/test/relocs.asm +20 -0
  411. data/vendor/repo.or.cz/nasm/test/riprel.asm +5357 -0
  412. data/vendor/repo.or.cz/nasm/test/riprel.pl +29 -0
  413. data/vendor/repo.or.cz/nasm/test/riprel2.asm +11 -0
  414. data/vendor/repo.or.cz/nasm/test/sha-64.asm +30 -0
  415. data/vendor/repo.or.cz/nasm/test/sha.asm +31 -0
  416. data/vendor/repo.or.cz/nasm/test/smartalign16.asm +36 -0
  417. data/vendor/repo.or.cz/nasm/test/smartalign32.asm +36 -0
  418. data/vendor/repo.or.cz/nasm/test/smartalign64.asm +36 -0
  419. data/vendor/repo.or.cz/nasm/test/splitea.asm +11 -0
  420. data/vendor/repo.or.cz/nasm/test/sreg.asm +65 -0
  421. data/vendor/repo.or.cz/nasm/test/strlen.asm +5 -0
  422. data/vendor/repo.or.cz/nasm/test/struc.asm +33 -0
  423. data/vendor/repo.or.cz/nasm/test/test67.asm +38 -0
  424. data/vendor/repo.or.cz/nasm/test/testdos.asm +13 -0
  425. data/vendor/repo.or.cz/nasm/test/testnos3.asm +973 -0
  426. data/vendor/repo.or.cz/nasm/test/time.asm +11 -0
  427. data/vendor/repo.or.cz/nasm/test/times.asm +21 -0
  428. data/vendor/repo.or.cz/nasm/test/timesneg.asm +3 -0
  429. data/vendor/repo.or.cz/nasm/test/tmap.nas +1447 -0
  430. data/vendor/repo.or.cz/nasm/test/uscore.asm +15 -0
  431. data/vendor/repo.or.cz/nasm/test/utf.asm +82 -0
  432. data/vendor/repo.or.cz/nasm/test/vaesenc.asm +22 -0
  433. data/vendor/repo.or.cz/nasm/test/vex.asm +9 -0
  434. data/vendor/repo.or.cz/nasm/test/vgather.asm +76 -0
  435. data/vendor/repo.or.cz/nasm/test/vmread.asm +26 -0
  436. data/vendor/repo.or.cz/nasm/test/weirdpaste.asm +29 -0
  437. data/vendor/repo.or.cz/nasm/test/xchg.asm +96 -0
  438. data/vendor/repo.or.cz/nasm/test/xcrypt.asm +24 -0
  439. data/vendor/repo.or.cz/nasm/test/xmm0.asm +12 -0
  440. data/vendor/repo.or.cz/nasm/test/zerobyte.asm +22 -0
  441. data/vendor/repo.or.cz/nasm/tools/cleanfile +176 -0
  442. data/vendor/repo.or.cz/nasm/tools/cleanpatch +258 -0
  443. data/vendor/repo.or.cz/nasm/tools/mkdep.pl +261 -0
  444. data/vendor/repo.or.cz/nasm/tools/release +105 -0
  445. data/vendor/repo.or.cz/nasm/tools/syncfiles.pl +137 -0
  446. data/vendor/repo.or.cz/nasm/tools/tag-release +58 -0
  447. data/vendor/repo.or.cz/nasm/version +1 -0
  448. data/vendor/repo.or.cz/nasm/version.pl +189 -0
  449. data/vendor/repo.or.cz/nasm/x86/disp8.c +131 -0
  450. data/vendor/repo.or.cz/nasm/x86/insns-iflags.ph +280 -0
  451. data/vendor/repo.or.cz/nasm/x86/insns.dat +5371 -0
  452. data/vendor/repo.or.cz/nasm/x86/insns.pl +1043 -0
  453. data/vendor/repo.or.cz/nasm/x86/regs.dat +138 -0
  454. data/vendor/repo.or.cz/nasm/x86/regs.pl +204 -0
  455. metadata +520 -0
@@ -0,0 +1,15 @@
1
+ ;Testname=test; Arguments=-fbin -ouscore.bin; Files=stdout stderr uscore.bin
2
+ dd 0x1234_5678
3
+ dd 305_419_896 ; Same number as above it
4
+ dd 0x1e16 ; NOT a floating-point number!
5
+ dd 1e16h ; NOT a floating-point number!
6
+ dd 1e16_h ; NOT a floating-point number!
7
+ dd $1e16 ; NOT a floating-point number!
8
+ dd $1e+16 ; NOT a floating-point number!
9
+ dd 1e16 ; THIS is a floating-point number!
10
+ dd 1e+16
11
+ dd 1.e+16
12
+ dd 1e+1_6
13
+ dd 1e1_6
14
+ dd 1.0e16
15
+ dd 1_0e16 ; This is 1e17, not 1e16!
@@ -0,0 +1,82 @@
1
+ ;Testname=test; Arguments=-fbin -outf.bin; Files=stdout stderr utf.bin
2
+ ;Testname=error; Arguments=-fbin -outf.bin -DERROR; Files=stdout stderr utf.bin
3
+ %define u(x) __utf16__(x)
4
+ %define w(x) __utf32__(x)
5
+ %define ul(x) __utf16le__(x)
6
+ %define wl(x) __utf32le__(x)
7
+ %define ub(x) __utf16be__(x)
8
+ %define wb(x) __utf32be__(x)
9
+
10
+ db `Test \u306a\U0001abcd\n`
11
+ dw u(`Test \u306a\U0001abcd\n`)
12
+ dd w(`Test \u306a\U0001abcd\n`)
13
+
14
+ db `\u306a`
15
+ db `\xe3\x81\xaa`
16
+
17
+ dw __utf16__ "Hello, World!"
18
+
19
+ nop
20
+
21
+ mov ax,u(`a`)
22
+ mov bx,u(`\u306a`)
23
+ mov cx,u(`\xe3\x81\xaa`)
24
+ mov eax,u(`ab`)
25
+ mov ebx,u(`\U0001abcd`)
26
+ mov ecx,w(`\U0001abcd`)
27
+
28
+ db `Test \u306a\U0001abcd\n`
29
+ dw ul(`Test \u306a\U0001abcd\n`)
30
+ dd wl(`Test \u306a\U0001abcd\n`)
31
+
32
+ db `\u306a`
33
+ db `\xe3\x81\xaa`
34
+
35
+ dw __utf16le__ "Hello, World!"
36
+
37
+ nop
38
+
39
+ mov ax,ul(`a`)
40
+ mov bx,ul(`\u306a`)
41
+ mov cx,ul(`\xe3\x81\xaa`)
42
+ mov eax,ul(`ab`)
43
+ mov ebx,ul(`\U0001abcd`)
44
+ mov ecx,wl(`\U0001abcd`)
45
+
46
+ db `Test \u306a\U0001abcd\n`
47
+ dw ub(`Test \u306a\U0001abcd\n`)
48
+ dd wb(`Test \u306a\U0001abcd\n`)
49
+
50
+ db `\u306a`
51
+ db `\xe3\x81\xaa`
52
+
53
+ dw __utf16be__ "Hello, World!"
54
+
55
+ nop
56
+
57
+ mov ax,ub(`a`)
58
+ mov bx,ub(`\u306a`)
59
+ mov cx,ub(`\xe3\x81\xaa`)
60
+ mov eax,ub(`ab`)
61
+ mov ebx,ub(`\U0001abcd`)
62
+ mov ecx,wb(`\U0001abcd`)
63
+
64
+ %ifdef ERROR
65
+ dw __utf16__ 33
66
+ dw __utf16__, 46
67
+ dw __utf16__("Hello, World!",16)
68
+ dw __utf16__("Hello, World!",16
69
+ dw u(`\xff`)
70
+
71
+ dw __utf16le__ 33
72
+ dw __utf16le__, 46
73
+ dw __utf16le__("Hello, World!",16)
74
+ dw __utf16le__("Hello, World!",16
75
+ dw ul(`\xff`)
76
+
77
+ dw __utf16be__ 33
78
+ dw __utf16be__, 46
79
+ dw __utf16be__("Hello, World!",16)
80
+ dw __utf16be__("Hello, World!",16
81
+ dw ub(`\xff`)
82
+ %endif
@@ -0,0 +1,22 @@
1
+ ;; BR 3392454, 3392460
2
+
3
+ bits 64
4
+ aesenc xmm0,xmm4
5
+ vaesenc zmm0,zmm0,zmm4
6
+ vpclmullqlqdq zmm1,zmm1,zmm5
7
+ vpclmulqdq zmm0, zmm1, zmm2, 0
8
+ vaesenclast zmm0, zmm1, zmm2
9
+
10
+ bits 32
11
+ aesenc xmm0,xmm4
12
+ vaesenc zmm0,zmm0,zmm4
13
+ vpclmullqlqdq zmm1,zmm1,zmm5
14
+ vpclmulqdq zmm0, zmm1, zmm2, 0
15
+ vaesenclast zmm0, zmm1, zmm2
16
+
17
+ bits 16
18
+ aesenc xmm0,xmm4
19
+ vaesenc zmm0,zmm0,zmm4
20
+ vpclmullqlqdq zmm1,zmm1,zmm5
21
+ vpclmulqdq zmm0, zmm1, zmm2, 0
22
+ vaesenclast zmm0, zmm1, zmm2
@@ -0,0 +1,9 @@
1
+ bits 64
2
+ vcomisd xmm0,xmm31
3
+ vcomisd xmm0,xmm1
4
+ {vex2} vcomisd xmm0,xmm1
5
+ {vex3} vcomisd xmm0,xmm1
6
+ {evex} vcomisd xmm0,xmm1
7
+ %ifdef ERROR
8
+ {vex3} add eax,edx
9
+ %endif
@@ -0,0 +1,76 @@
1
+ bits 64
2
+
3
+ vgatherdpd xmm0,[rcx+xmm2],xmm3
4
+ vgatherqpd xmm0,[rcx+xmm2],xmm3
5
+ vgatherdpd ymm0,[rcx+xmm2],ymm3
6
+ vgatherqpd ymm0,[rcx+ymm2],ymm3
7
+
8
+ vgatherdpd xmm0,[rcx+xmm2*1],xmm3
9
+ vgatherqpd xmm0,[rcx+xmm2*1],xmm3
10
+ vgatherdpd ymm0,[rcx+xmm2*1],ymm3
11
+ vgatherqpd ymm0,[rcx+ymm2*1],ymm3
12
+
13
+ vgatherdpd xmm0,[rcx+xmm2*2],xmm3
14
+ vgatherqpd xmm0,[rcx+xmm2*2],xmm3
15
+ vgatherdpd ymm0,[rcx+xmm2*2],ymm3
16
+ vgatherqpd ymm0,[rcx+ymm2*2],ymm3
17
+
18
+ vgatherdpd xmm0,[rcx+xmm2*4],xmm3
19
+ vgatherqpd xmm0,[rcx+xmm2*4],xmm3
20
+ vgatherdpd ymm0,[rcx+xmm2*4],ymm3
21
+ vgatherqpd ymm0,[rcx+ymm2*4],ymm3
22
+
23
+ vgatherdpd xmm0,[rcx+xmm2*8],xmm3
24
+ vgatherqpd xmm0,[rcx+xmm2*8],xmm3
25
+ vgatherdpd ymm0,[rcx+xmm2*8],ymm3
26
+ vgatherqpd ymm0,[rcx+ymm2*8],ymm3
27
+
28
+ vgatherdpd xmm0,[xmm2],xmm3
29
+ vgatherqpd xmm0,[xmm2],xmm3
30
+ vgatherdpd ymm0,[xmm2],ymm3
31
+ vgatherqpd ymm0,[ymm2],ymm3
32
+
33
+ vgatherdpd xmm0,[xmm2*1],xmm3
34
+ vgatherqpd xmm0,[xmm2*1],xmm3
35
+ vgatherdpd ymm0,[xmm2*1],ymm3
36
+ vgatherqpd ymm0,[ymm2*1],ymm3
37
+
38
+ vgatherdpd xmm0,[xmm2*2],xmm3
39
+ vgatherqpd xmm0,[xmm2*2],xmm3
40
+ vgatherdpd ymm0,[xmm2*2],ymm3
41
+ vgatherqpd ymm0,[ymm2*2],ymm3
42
+
43
+ vgatherdpd xmm0,[xmm2*4],xmm3
44
+ vgatherqpd xmm0,[xmm2*4],xmm3
45
+ vgatherdpd ymm0,[xmm2*4],ymm3
46
+ vgatherqpd ymm0,[ymm2*4],ymm3
47
+
48
+ vgatherdpd xmm0,[xmm2*8],xmm3
49
+ vgatherqpd xmm0,[xmm2*8],xmm3
50
+ vgatherdpd ymm0,[xmm2*8],ymm3
51
+ vgatherqpd ymm0,[ymm2*8],ymm3
52
+
53
+ vgatherdpd xmm0,[xmm2+rcx],xmm3
54
+ vgatherqpd xmm0,[xmm2+rcx],xmm3
55
+ vgatherdpd ymm0,[xmm2+rcx],ymm3
56
+ vgatherqpd ymm0,[ymm2+rcx],ymm3
57
+
58
+ vgatherdpd xmm0,[xmm2*1+rcx],xmm3
59
+ vgatherqpd xmm0,[xmm2*1+rcx],xmm3
60
+ vgatherdpd ymm0,[xmm2*1+rcx],ymm3
61
+ vgatherqpd ymm0,[ymm2*1+rcx],ymm3
62
+
63
+ vgatherdpd xmm0,[xmm2*2+rcx],xmm3
64
+ vgatherqpd xmm0,[xmm2*2+rcx],xmm3
65
+ vgatherdpd ymm0,[xmm2*2+rcx],ymm3
66
+ vgatherqpd ymm0,[ymm2*2+rcx],ymm3
67
+
68
+ vgatherdpd xmm0,[xmm2*4+rcx],xmm3
69
+ vgatherqpd xmm0,[xmm2*4+rcx],xmm3
70
+ vgatherdpd ymm0,[xmm2*4+rcx],ymm3
71
+ vgatherqpd ymm0,[ymm2*4+rcx],ymm3
72
+
73
+ vgatherdpd xmm0,[xmm2*8+rcx],xmm3
74
+ vgatherqpd xmm0,[xmm2*8+rcx],xmm3
75
+ vgatherdpd ymm0,[xmm2*8+rcx],ymm3
76
+ vgatherqpd ymm0,[ymm2*8+rcx],ymm3
@@ -0,0 +1,26 @@
1
+ ;Testname=test; Arguments=-fbin -ovmread.bin; Files=stdout stderr vmread.bin
2
+
3
+ bits 32
4
+ vmread dword [0], eax
5
+ vmwrite eax, dword [0]
6
+ vmread [0], eax
7
+ vmwrite eax, [0]
8
+
9
+ bits 64
10
+ vmread qword [0], rax
11
+ vmwrite rax, qword [0]
12
+ vmread [0], rax
13
+ vmwrite rax, [0]
14
+
15
+ %ifdef ERROR
16
+ bits 32
17
+ vmread qword [0], eax
18
+ vmwrite eax, qword [0]
19
+
20
+ bits 64
21
+ vmread dword [0], eax
22
+ vmwrite eax, dword [0]
23
+
24
+ vmread qword [0], eax
25
+ vmwrite eax, qword [0]
26
+ %endif
@@ -0,0 +1,29 @@
1
+ ;Testname=preproc; Arguments=-E; Files=stdout stderr
2
+ ;Testname=bin; Arguments=-fbin -oweirdpaste.bin; Files=stdout stderr weirdpaste.bin
3
+
4
+ %define foo xyzzy
5
+ %define bar 1e+10
6
+
7
+ %define xyzzy1e 15
8
+
9
+ %macro dx 2
10
+ %assign xx %1%2
11
+ dw xx
12
+ %endmacro
13
+
14
+ dx foo, bar
15
+
16
+ %macro df 2
17
+ %assign xy __float32__(%1e+%2)
18
+ dd xy
19
+ dd %1e+%2
20
+ %endmacro
21
+
22
+ df 1, 36
23
+ df 33, 20
24
+ df 0, 2
25
+ df 1.2, 5
26
+
27
+
28
+ %define N 1e%++%+ 5
29
+ dd N, 1e+5
@@ -0,0 +1,96 @@
1
+ ;Testname=unoptimized; Arguments=-fbin -oxchg.bin -O0; Files=stdout stderr xchg.bin
2
+ ;Testname=optimized; Arguments=-fbin -oxchg.bin -Ox; Files=stdout stderr xchg.bin
3
+
4
+ %macro x 2
5
+ xchg %1,%2
6
+ xchg %2,%1
7
+ %endmacro
8
+
9
+ bits 16
10
+
11
+ x ax,ax
12
+ x ax,cx
13
+ x ax,dx
14
+ x ax,bx
15
+ x ax,sp
16
+ x ax,bp
17
+ x ax,si
18
+ x ax,di
19
+ x eax,eax
20
+ x eax,ecx
21
+ x eax,edx
22
+ x eax,ebx
23
+ x eax,esp
24
+ x eax,ebp
25
+ x eax,esi
26
+ x eax,edi
27
+
28
+ bits 32
29
+
30
+ x ax,ax
31
+ x ax,cx
32
+ x ax,dx
33
+ x ax,bx
34
+ x ax,sp
35
+ x ax,bp
36
+ x ax,si
37
+ x ax,di
38
+ x eax,eax
39
+ x eax,ecx
40
+ x eax,edx
41
+ x eax,ebx
42
+ x eax,esp
43
+ x eax,ebp
44
+ x eax,esi
45
+ x eax,edi
46
+
47
+ bits 64
48
+
49
+ x ax,ax
50
+ x ax,cx
51
+ x ax,dx
52
+ x ax,bx
53
+ x ax,sp
54
+ x ax,bp
55
+ x ax,si
56
+ x ax,di
57
+ x ax,r8w
58
+ x ax,r9w
59
+ x ax,r10w
60
+ x ax,r11w
61
+ x ax,r12w
62
+ x ax,r13w
63
+ x ax,r14w
64
+ x ax,r15w
65
+ x eax,eax
66
+ x eax,ecx
67
+ x eax,edx
68
+ x eax,ebx
69
+ x eax,esp
70
+ x eax,ebp
71
+ x eax,esi
72
+ x eax,edi
73
+ x eax,r8d
74
+ x eax,r9d
75
+ x eax,r10d
76
+ x eax,r11d
77
+ x eax,r12d
78
+ x eax,r13d
79
+ x eax,r14d
80
+ x eax,r15d
81
+ x rax,rax
82
+ x rax,rcx
83
+ x rax,rdx
84
+ x rax,rbx
85
+ x rax,rsp
86
+ x rax,rbp
87
+ x rax,rsi
88
+ x rax,rdi
89
+ x rax,r8
90
+ x rax,r9
91
+ x rax,r10
92
+ x rax,r11
93
+ x rax,r12
94
+ x rax,r13
95
+ x rax,r14
96
+ x rax,r15
@@ -0,0 +1,24 @@
1
+ ;Testname=test; Arguments=-fbin -oxcrypt.bin; Files=stdout stderr xcrypt.bin
2
+ ; BR 2029829
3
+
4
+ bits 32
5
+
6
+ rep xstore
7
+ rep xcryptecb
8
+ rep xcryptcbc
9
+ rep xcryptctr
10
+ rep xcryptcfb
11
+ rep xcryptofb
12
+ rep montmul
13
+ rep xsha1
14
+ rep xsha256
15
+
16
+ xstore
17
+ xcryptecb
18
+ xcryptcbc
19
+ xcryptctr
20
+ xcryptcfb
21
+ xcryptofb
22
+ montmul
23
+ xsha1
24
+ xsha256
@@ -0,0 +1,12 @@
1
+ ; BR 3392275: don't require xmm0 to be explicitly declared when implicit
2
+
3
+ bits 32
4
+
5
+ blendvpd xmm2,xmm1,xmm0
6
+ blendvpd xmm2,xmm1
7
+ blendvps xmm2,xmm1,xmm0
8
+ blendvps xmm2,xmm1
9
+ pblendvb xmm2,xmm1,xmm0
10
+ pblendvb xmm2,xmm1
11
+ sha256rnds2 xmm2,xmm1,xmm0
12
+ sha256rnds2 xmm2,xmm1
@@ -0,0 +1,22 @@
1
+ ;Testname=test; Arguments=-fbin -ozerobyte.bin; Files=stdout stderr zerobyte.bin
2
+ bits 64
3
+
4
+ mov eax,bar-foo
5
+
6
+ foo:
7
+ add al,r10b
8
+ bar:
9
+
10
+ lldt ax
11
+ lldt r8w
12
+ ltr [rax]
13
+ sldt eax
14
+ sldt r8d
15
+ str eax
16
+ str rax
17
+ str r8d
18
+ str r8
19
+ verr ax
20
+ verr r8w
21
+ verw ax
22
+ verw r8w
@@ -0,0 +1,176 @@
1
+ #!/usr/bin/perl -w
2
+ #
3
+ # Clean a text file -- or directory of text files -- of stealth whitespace.
4
+ # WARNING: this can be a highly destructive operation. Use with caution.
5
+ #
6
+
7
+ use bytes;
8
+ use File::Basename;
9
+
10
+ # Default options
11
+ $max_width = 79;
12
+
13
+ # Clean up space-tab sequences, either by removing spaces or
14
+ # replacing them with tabs.
15
+ sub clean_space_tabs($)
16
+ {
17
+ no bytes; # Tab alignment depends on characters
18
+
19
+ my($li) = @_;
20
+ my($lo) = '';
21
+ my $pos = 0;
22
+ my $nsp = 0;
23
+ my($i, $c);
24
+
25
+ for ($i = 0; $i < length($li); $i++) {
26
+ $c = substr($li, $i, 1);
27
+ if ($c eq "\t") {
28
+ my $npos = ($pos+$nsp+8) & ~7;
29
+ my $ntab = ($npos >> 3) - ($pos >> 3);
30
+ $lo .= "\t" x $ntab;
31
+ $pos = $npos;
32
+ $nsp = 0;
33
+ } elsif ($c eq "\n" || $c eq "\r") {
34
+ $lo .= " " x $nsp;
35
+ $pos += $nsp;
36
+ $nsp = 0;
37
+ $lo .= $c;
38
+ $pos = 0;
39
+ } elsif ($c eq " ") {
40
+ $nsp++;
41
+ } else {
42
+ $lo .= " " x $nsp;
43
+ $pos += $nsp;
44
+ $nsp = 0;
45
+ $lo .= $c;
46
+ $pos++;
47
+ }
48
+ }
49
+ $lo .= " " x $nsp;
50
+ return $lo;
51
+ }
52
+
53
+ # Compute the visual width of a string
54
+ sub strwidth($) {
55
+ no bytes; # Tab alignment depends on characters
56
+
57
+ my($li) = @_;
58
+ my($c, $i);
59
+ my $pos = 0;
60
+ my $mlen = 0;
61
+
62
+ for ($i = 0; $i < length($li); $i++) {
63
+ $c = substr($li,$i,1);
64
+ if ($c eq "\t") {
65
+ $pos = ($pos+8) & ~7;
66
+ } elsif ($c eq "\n") {
67
+ $mlen = $pos if ($pos > $mlen);
68
+ $pos = 0;
69
+ } else {
70
+ $pos++;
71
+ }
72
+ }
73
+
74
+ $mlen = $pos if ($pos > $mlen);
75
+ return $mlen;
76
+ }
77
+
78
+ $name = basename($0);
79
+
80
+ @files = ();
81
+
82
+ while (defined($a = shift(@ARGV))) {
83
+ if ($a =~ /^-/) {
84
+ if ($a eq '-width' || $a eq '-w') {
85
+ $max_width = shift(@ARGV)+0;
86
+ } else {
87
+ print STDERR "Usage: $name [-width #] files...\n";
88
+ exit 1;
89
+ }
90
+ } else {
91
+ push(@files, $a);
92
+ }
93
+ }
94
+
95
+ foreach $f ( @files ) {
96
+ print STDERR "$name: $f\n";
97
+
98
+ if (! -f $f) {
99
+ print STDERR "$f: not a file\n";
100
+ next;
101
+ }
102
+
103
+ if (!open(FILE, '+<', $f)) {
104
+ print STDERR "$name: Cannot open file: $f: $!\n";
105
+ next;
106
+ }
107
+
108
+ binmode FILE;
109
+
110
+ # First, verify that it is not a binary file; consider any file
111
+ # with a zero byte to be a binary file. Is there any better, or
112
+ # additional, heuristic that should be applied?
113
+ $is_binary = 0;
114
+
115
+ while (read(FILE, $data, 65536) > 0) {
116
+ if ($data =~ /\0/) {
117
+ $is_binary = 1;
118
+ last;
119
+ }
120
+ }
121
+
122
+ if ($is_binary) {
123
+ print STDERR "$name: $f: binary file\n";
124
+ next;
125
+ }
126
+
127
+ seek(FILE, 0, 0);
128
+
129
+ $in_bytes = 0;
130
+ $out_bytes = 0;
131
+ $blank_bytes = 0;
132
+
133
+ @blanks = ();
134
+ @lines = ();
135
+ $lineno = 0;
136
+
137
+ while ( defined($line = <FILE>) ) {
138
+ $lineno++;
139
+ $in_bytes += length($line);
140
+ $line =~ s/[ \t\r]*$//; # Remove trailing spaces
141
+ $line = clean_space_tabs($line);
142
+
143
+ if ( $line eq "\n" ) {
144
+ push(@blanks, $line);
145
+ $blank_bytes += length($line);
146
+ } else {
147
+ push(@lines, @blanks);
148
+ $out_bytes += $blank_bytes;
149
+ push(@lines, $line);
150
+ $out_bytes += length($line);
151
+ @blanks = ();
152
+ $blank_bytes = 0;
153
+ }
154
+
155
+ $l_width = strwidth($line);
156
+ if ($max_width && $l_width > $max_width) {
157
+ print STDERR
158
+ "$f:$lineno: line exceeds $max_width characters ($l_width)\n";
159
+ }
160
+ }
161
+
162
+ # Any blanks at the end of the file are discarded
163
+
164
+ if ($in_bytes != $out_bytes) {
165
+ # Only write to the file if changed
166
+ seek(FILE, 0, 0);
167
+ print FILE @lines;
168
+
169
+ if ( !defined($where = tell(FILE)) ||
170
+ !truncate(FILE, $where) ) {
171
+ die "$name: Failed to truncate modified file: $f: $!\n";
172
+ }
173
+ }
174
+
175
+ close(FILE);
176
+ }