laag-nasm 2.13.03.2

Sign up to get free protection for your applications and to get access to all the features.
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
+ }