AMD64-inst.dat 148 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083
  1. (defopcode adc (par1 par2) ((and (regp par1) (effap par2)) (op-reg-effa '(17)
  2. par1 par2))
  3. (
  4. (
  5. and
  6. (
  7. effap
  8. par1)
  9. (
  10. regp
  11. par2))
  12. (
  13. op-reg-effa
  14. '
  15. (
  16. 19)
  17. par2
  18. par1)) ((and (stdimmediatep par1) (eaxp par2)) (op-imm-eax '(21) par1 par2)
  19. ) ((and (smallimmediatep par1) (regp par2)) (op-imm8-effa '(131 16)
  20. par1 par2)) ((and
  21. (
  22. stdimmediatep
  23. par1)
  24. (
  25. effap
  26. par2)) (
  27. op-imm-effa
  28. '
  29. (
  30. 129
  31. 16)
  32. par1
  33. par2)))
  34. (defoplength adc (par1 par2) ((and (regp par1) (effap par2)) (lth-reg-effa '(17
  35. ) par1
  36. par2
  37. )) ((and (effap par1) (regp par2)) (lth-reg-effa '(19) par2 par1)) ((
  38. and
  39. (
  40. stdimmediatep
  41. par1)
  42. (
  43. eaxp
  44. par2)) (
  45. lth-imm-eax
  46. '
  47. (
  48. 21)
  49. par1
  50. par2)) ((and (smallimmediatep par1) (regp par2)) (lth-imm8-effa '(131 16)
  51. par1 par2
  52. )) ((and (stdimmediatep par1) (effap par2)) (lth-imm-effa '(129 16)
  53. par1 par2)))
  54. (defopcode add (par1 par2) ((and (regp par1) (effap par2)) (op-reg-effa '(1)
  55. par1 par2))
  56. (
  57. (
  58. and
  59. (
  60. effap
  61. par1)
  62. (
  63. regp
  64. par2))
  65. (
  66. op-reg-effa
  67. '
  68. (
  69. 3)
  70. par2
  71. par1)) ((and (stdimmediatep par1) (eaxp par2)) (op-imm-eax '(5) par1 par2))
  72. ((and (smallimmediatep par1) (regp par2)) (op-imm8-effa '(131 0)
  73. par1 par2)) ((and
  74. (
  75. stdimmediatep
  76. par1)
  77. (
  78. effap
  79. par2)) (
  80. op-imm-effa
  81. '
  82. (
  83. 129
  84. 0)
  85. par1
  86. par2)))
  87. (defoplength add (par1 par2) ((and (regp par1) (effap par2)) (lth-reg-effa '(1)
  88. par1
  89. par2
  90. )) ((and (effap par1) (regp par2)) (lth-reg-effa '(3) par2 par1)) ((
  91. and
  92. (
  93. stdimmediatep
  94. par1)
  95. (
  96. eaxp
  97. par2)) (
  98. lth-imm-eax
  99. '
  100. (
  101. 5)
  102. par1
  103. par2)) ((and (smallimmediatep par1) (regp par2)) (lth-imm8-effa '(131 0)
  104. par1 par2)) ((
  105. and
  106. (
  107. stdimmediatep
  108. par1)
  109. (
  110. effap
  111. par2)) (
  112. lth-imm-effa
  113. '
  114. (
  115. 129
  116. 0)
  117. par1
  118. par2)))
  119. (defopcode addsd (par1 par2) ((and (effap par1) (xmmregp par2)) (op-xmmreg-effa
  120. '
  121. (
  122. 242
  123. 15
  124. 88)
  125. par2
  126. par1)))
  127. (defoplength addsd (par1 par2) ((and (effap par1) (xmmregp par2)) (
  128. lth-xmmreg-effa
  129. '
  130. (
  131. 242
  132. 15
  133. 88)
  134. par2
  135. par1)))
  136. (defopcode and (par1 par2) ((and (regp par1) (regp par2)) (op-reg-effa '(35)
  137. par2 par1)) (
  138. (
  139. and
  140. (
  141. regp
  142. par1)
  143. (
  144. effap
  145. par2))
  146. (
  147. op-reg-effa
  148. '
  149. (
  150. 33)
  151. par1
  152. par2)) ((and (effap par1) (regp par2)) (op-reg-effa '(35) par2 par1)) ((and
  153. (
  154. stdimmediatep
  155. par1)
  156. (
  157. eaxp
  158. par2)) (
  159. op-imm-eax
  160. '
  161. (
  162. 37)
  163. par1
  164. par2)) ((and (smallimmediatep par1) (regp par2)) (op-imm8-effa '(131 32)
  165. par1 par2)) ((and
  166. (
  167. stdimmediatep
  168. par1)
  169. (
  170. regp
  171. par2)) (
  172. op-imm-effa
  173. '
  174. (
  175. 129
  176. 32)
  177. par1
  178. par2)))
  179. (defoplength and (par1 par2) ((and (regp par1) (regp par2)) (lth-reg-effa '(35)
  180. par2
  181. par1)) ((and (regp par1) (effap par2)) (lth-reg-effa '(33) par1 par2)) ((
  182. and
  183. (
  184. effap
  185. par1)
  186. (
  187. regp
  188. par2)) (
  189. lth-reg-effa
  190. '
  191. (
  192. 35)
  193. par2
  194. par1)) ((and (stdimmediatep par1) (eaxp par2)) (lth-imm-eax '(37) par1
  195. par2)) ((and (smallimmediatep par1) (regp par2)) (lth-imm8-effa '(131 32)
  196. par1 par2
  197. )) ((and (stdimmediatep par1) (regp par2)) (lth-imm-effa '(129 32)
  198. par1 par2)))
  199. (defopcode andnpd (par1 par2) ((and (effap par1) (xmmregp par2)) (
  200. op-xmmreg-effa
  201. '
  202. (
  203. 102
  204. 15
  205. 85)
  206. par2
  207. par1)) ((and (xmmregp par1) (effap par2)) (op-xmmreg-effa '(102 15 85) par1
  208. par2)))
  209. (defoplength andnpd (par1 par2) ((and (effap par1) (xmmregp par2)) (
  210. lth-xmmreg-effa
  211. '
  212. (
  213. 102
  214. 15
  215. 85)
  216. par2
  217. par1)) ((and (xmmregp par1) (effap par2)) (lth-xmmreg-effa '(102 15 85)
  218. par1 par2)))
  219. (defopcode andpd (par1 par2) ((and (effap par1) (xmmregp par2)) (op-xmmreg-effa
  220. '
  221. (
  222. 102
  223. 15
  224. 84)
  225. par2
  226. par1)) ((and (xmmregp par1) (effap par2)) (op-xmmreg-effa '(102 15 84) par1
  227. par2)))
  228. (defoplength andpd (par1 par2) ((and (effap par1) (xmmregp par2)) (
  229. lth-xmmreg-effa
  230. '
  231. (
  232. 102
  233. 15
  234. 84)
  235. par2
  236. par1)) ((and (xmmregp par1) (effap par2)) (lth-xmmreg-effa '(102 15 84)
  237. par1 par2)))
  238. (defopcode as: (par1 par2) (t (op-byte '(103))))
  239. (defoplength as: (par1 par2) (t (lth-byte '(103))))
  240. (defopcode call (par1 par2) ((indirectadrp par1) (op-jump-effa '(255 16) par1))
  241. ((adrp par1) (op-jump '(232) par1)))
  242. (defoplength call (par1 par2) ((indirectadrp par1) (lth-jump-effa '(255 16)
  243. par1)) ((adrp par1) (lth-jump '(232) par1)))
  244. (defopcode cbw (par1 par2) (t (op-byte '(102 152))) (t (op-byte '(152))))
  245. (defoplength cbw (par1 par2) (t (lth-byte '(102 152))) (t (lth-byte '(152))))
  246. (defopcode cdq (par1 par2) (t (op-byte '(153))))
  247. (defoplength cdq (par1 par2) (t (lth-byte '(153))))
  248. (defopcode cdqe (par1 par2) (t (op-byte '(72 152))))
  249. (defoplength cdqe (par1 par2) (t (lth-byte '(72 152))))
  250. (defopcode clc (par1 par2) (t (op-byte '(248))))
  251. (defoplength clc (par1 par2) (t (lth-byte '(248))))
  252. (defopcode cld (par1 par2) (t (op-byte '(252))))
  253. (defoplength cld (par1 par2) (t (lth-byte '(252))))
  254. (defopcode cli (par1 par2) (t (op-byte '(250))))
  255. (defoplength cli (par1 par2) (t (lth-byte '(250))))
  256. (defopcode cmp (par1 par2) ((and (regp par1) (effap par2)) (op-reg-effa '(57)
  257. par1 par2))
  258. (
  259. (
  260. and
  261. (
  262. effap
  263. par1)
  264. (
  265. regp
  266. par2))
  267. (
  268. op-reg-effa
  269. '
  270. (
  271. 59)
  272. par2
  273. par1)) ((and (stdimmediatep par1) (eaxp par2)) (op-imm-eax '(61) par1 par2)
  274. ) ((and (smallimmediatep par1) (effap par2)) (op-imm8-effa '(131 56)
  275. par1 par2)) ((
  276. and
  277. (
  278. stdimmediatep
  279. par1)
  280. (
  281. effap
  282. par2)) (
  283. op-imm-effa
  284. '
  285. (
  286. 129
  287. 56)
  288. par1
  289. par2)))
  290. (defoplength cmp (par1 par2) ((and (regp par1) (effap par2)) (lth-reg-effa '(57
  291. ) par1
  292. par2
  293. )) ((and (effap par1) (regp par2)) (lth-reg-effa '(59) par2 par1)) ((
  294. and
  295. (
  296. stdimmediatep
  297. par1)
  298. (
  299. eaxp
  300. par2)) (
  301. lth-imm-eax
  302. '
  303. (
  304. 61)
  305. par1
  306. par2)) ((and (smallimmediatep par1) (effap par2)) (lth-imm8-effa '(131 56
  307. ) par1
  308. par2)) ((and (stdimmediatep par1) (effap par2)) (lth-imm-effa '(129 56)
  309. par1 par2)))
  310. (defopcode cmpq (par1 par2) ((and (stdimmediatep par1) (effap par2)) (
  311. op-imm-effa
  312. '
  313. (
  314. 129
  315. 56)
  316. par1
  317. par2)))
  318. (defoplength cmpq (par1 par2) ((and (stdimmediatep par1) (effap par2)) (
  319. lth-imm-effa
  320. '
  321. (
  322. 129
  323. 56)
  324. par1
  325. par2)))
  326. (defopcode comisd (par1 par2) ((and (effap par1) (xmmregp par2)) (
  327. op-xmmreg-effa
  328. '
  329. (
  330. 102
  331. 15
  332. 47)
  333. par2
  334. par1)))
  335. (defoplength comisd (par1 par2) ((and (effap par1) (xmmregp par2)) (
  336. lth-xmmreg-effa
  337. '
  338. (
  339. 102
  340. 15
  341. 47)
  342. par2
  343. par1)))
  344. (defopcode comiss (par1 par2) ((and (effap par1) (xmmregp par2)) (
  345. op-xmmreg-effa
  346. '
  347. (
  348. 15
  349. 47)
  350. par2
  351. par1)))
  352. (defoplength comiss (par1 par2) ((and (effap par1) (xmmregp par2)) (
  353. lth-xmmreg-effa
  354. '
  355. (
  356. 15
  357. 47)
  358. par2
  359. par1)))
  360. (defopcode cqto (par1 par2) (t (op-byte '(72 153))))
  361. (defoplength cqto (par1 par2) (t (lth-byte '(72 153))))
  362. (defopcode cs: (par1 par2) (t (op-byte '(46))))
  363. (defoplength cs: (par1 par2) (t (lth-byte '(46))))
  364. (defopcode cvtsi2sdq (par1 par2) ((and (effap par1) (xmmregp par2)) (
  365. op-xmmreg-effa
  366. '
  367. (
  368. 242
  369. rex
  370. 15
  371. 42)
  372. par2
  373. par1)))
  374. (defoplength cvtsi2sdq (par1 par2) ((and (effap par1) (xmmregp par2)) (
  375. lth-xmmreg-effa
  376. '
  377. (
  378. 242
  379. rex
  380. 15
  381. 42)
  382. par2
  383. par1)))
  384. (defopcode cvttsd2si (par1 par2) ((and (effap par1) (regp par2)) (
  385. op-xmmreg-effa
  386. '
  387. (
  388. 242
  389. rex
  390. 15
  391. 44)
  392. par2
  393. par1)))
  394. (defoplength cvttsd2si (par1 par2) ((and (effap par1) (regp par2)) (
  395. lth-xmmreg-effa
  396. '
  397. (
  398. 242
  399. rex
  400. 15
  401. 44)
  402. par2
  403. par1)))
  404. (defopcode cwd (par1 par2) (t (op-byte '(102 153))) (t (op-byte '(153))))
  405. (defoplength cwd (par1 par2) (t (lth-byte '(102 153))) (t (lth-byte '(153))))
  406. (defopcode cwde (par1 par2) (t (op-byte '(152))))
  407. (defoplength cwde (par1 par2) (t (lth-byte '(152))))
  408. (defopcode dec (par1 par2) ((regp par1) (op-push-reg '(72) par1)) ((effap par1)
  409. (op-effa '(
  410. 255
  411. 8)
  412. par1)))
  413. (defoplength dec (par1 par2) ((regp par1) (lth-push-reg '(72) par1)) ((effap
  414. par1) (lth-effa
  415. '
  416. (
  417. 255
  418. 8)
  419. par1)))
  420. (defopcode div (par1 par2) ((effap par1) (op-mul '(247 48) par1)))
  421. (defoplength div (par1 par2) ((effap par1) (lth-mul '(247 48) par1)))
  422. (defopcode divsd (par1 par2) ((and (effap par1) (xmmregp par2)) (op-xmmreg-effa
  423. '
  424. (
  425. 242
  426. 15
  427. 94)
  428. par2
  429. par1)))
  430. (defoplength divsd (par1 par2) ((and (effap par1) (xmmregp par2)) (
  431. lth-xmmreg-effa
  432. '
  433. (
  434. 242
  435. 15
  436. 94)
  437. par2
  438. par1)))
  439. (defopcode ds: (par1 par2) (t (op-byte '(62))))
  440. (defoplength ds: (par1 par2) (t (lth-byte '(62))))
  441. (defopcode enter (par1 par2) ((stdimmediatep par1) (op-enter '(200) par1)))
  442. (defoplength enter (par1 par2) ((stdimmediatep par1) (lth-enter '(200) par1)))
  443. (defopcode es: (par1 par2) (t (op-byte '(38))))
  444. (defoplength es: (par1 par2) (t (lth-byte '(38))))
  445. (defopcode f2xm1 (par1 par2) (t (op-byte '(217 240))))
  446. (defoplength f2xm1 (par1 par2) (t (lth-byte '(217 240))))
  447. (defopcode fabs (par1 par2) (t (op-byte '(217 225))))
  448. (defoplength fabs (par1 par2) (t (lth-byte '(217 225))))
  449. (defopcode fadd (par1 par2) ((effap par1) (op-effa '(220 0) par1)))
  450. (defoplength fadd (par1 par2) ((effap par1) (lth-effa '(220 0) par1)))
  451. (defopcode faddp (par1 par2) (t (op-byte '(222 193))))
  452. (defoplength faddp (par1 par2) (t (lth-byte '(222 193))))
  453. (defopcode fbstp (par1 par2) ((effap par1) (op-effa '(223 48) par1)))
  454. (defoplength fbstp (par1 par2) ((effap par1) (lth-effa '(223 48) par1)))
  455. (defopcode fclex (par1 par2) (t (op-byte '(155 219 226))))
  456. (defoplength fclex (par1 par2) (t (lth-byte '(155 219 226))))
  457. (defopcode fcom (par1 par2) ((effap par1) (op-effa '(220 16) par1)) (t (op-byte
  458. '
  459. (
  460. 216
  461. 209))))
  462. (defoplength fcom (par1 par2) ((effap par1) (lth-effa '(220 16) par1)) (t (
  463. lth-byte
  464. '
  465. (
  466. 216
  467. 209))))
  468. (defopcode fcomp (par1 par2) ((effap par1) (op-effa '(220 24) par1)) (t (
  469. op-byte
  470. '
  471. (
  472. 216
  473. 217))))
  474. (defoplength fcomp (par1 par2) ((effap par1) (lth-effa '(220 24) par1)) (t (
  475. lth-byte
  476. '
  477. (
  478. 216
  479. 217))))
  480. (defopcode fcos (par1 par2) (t (op-byte '(217 255))))
  481. (defoplength fcos (par1 par2) (t (lth-byte '(217 255))))
  482. (defopcode fdiv (par1 par2) ((effap par1) (op-effa '(220 48) par1)))
  483. (defoplength fdiv (par1 par2) ((effap par1) (lth-effa '(220 48) par1)))
  484. (defopcode fdivp (par1 par2) (t (op-byte '(222 249))))
  485. (defoplength fdivp (par1 par2) (t (lth-byte '(222 249))))
  486. (defopcode fdivr (par1 par2) ((effap par1) (op-effa '(220 56) par1)) (t (
  487. op-byte
  488. '
  489. (
  490. 222
  491. 241))))
  492. (defoplength fdivr (par1 par2) ((effap par1) (lth-effa '(220 56) par1)) (t (
  493. lth-byte
  494. '
  495. (
  496. 222
  497. 241))))
  498. (defopcode fild (par1 par2) ((effap par1) (op-effa '(219 0) par1)))
  499. (defoplength fild (par1 par2) ((effap par1) (lth-effa '(219 0) par1)))
  500. (defopcode fist (par1 par2) ((effap par1) (op-effa '(219 16) par1)))
  501. (defoplength fist (par1 par2) ((effap par1) (lth-effa '(219 16) par1)))
  502. (defopcode fistp (par1 par2) ((effap par1) (op-effa '(219 24) par1)))
  503. (defoplength fistp (par1 par2) ((effap par1) (lth-effa '(219 24) par1)))
  504. (defopcode fld (par1 par2) ((effap par1) (op-effa '(221 0) par1)))
  505. (defoplength fld (par1 par2) ((effap par1) (lth-effa '(221 0) par1)))
  506. (defopcode fld1 (par1 par2) (t (op-byte '(217 232))))
  507. (defoplength fld1 (par1 par2) (t (lth-byte '(217 232))))
  508. (defopcode fldcw (par1 par2) ((effap par1) (op-effa '(217 40) par1)))
  509. (defoplength fldcw (par1 par2) ((effap par1) (lth-effa '(217 40) par1)))
  510. (defopcode fldenv (par1 par2) ((effap par1) (op-effa '(217 32) par1)))
  511. (defoplength fldenv (par1 par2) ((effap par1) (lth-effa '(217 32) par1)))
  512. (defopcode fldl2e (par1 par2) (t (op-byte '(217 234))))
  513. (defoplength fldl2e (par1 par2) (t (lth-byte '(217 234))))
  514. (defopcode fldln2 (par1 par2) (t (op-byte '(217 237))))
  515. (defoplength fldln2 (par1 par2) (t (lth-byte '(217 237))))
  516. (defopcode fmul (par1 par2) ((effap par1) (op-effa '(220 8) par1)))
  517. (defoplength fmul (par1 par2) ((effap par1) (lth-effa '(220 8) par1)))
  518. (defopcode fmulp (par1 par2) (t (op-byte '(222 201))))
  519. (defoplength fmulp (par1 par2) (t (lth-byte '(222 201))))
  520. (defopcode fnstsw (par1 par2) ((effap par1) (op-effa '(221 56) par1)))
  521. (defoplength fnstsw (par1 par2) ((effap par1) (lth-effa '(221 56) par1)))
  522. (defopcode fpatan (par1 par2) (t (op-byte '(217 243))))
  523. (defoplength fpatan (par1 par2) (t (lth-byte '(217 243))))
  524. (defopcode fptan (par1 par2) (t (op-byte '(217 242))))
  525. (defoplength fptan (par1 par2) (t (lth-byte '(217 242))))
  526. (defopcode fs: (par1 par2) (t (op-byte '(100))))
  527. (defoplength fs: (par1 par2) (t (lth-byte '(100))))
  528. (defopcode fsin (par1 par2) (t (op-byte '(217 254))))
  529. (defoplength fsin (par1 par2) (t (lth-byte '(217 254))))
  530. (defopcode fsqrt (par1 par2) (t (op-byte '(217 250))))
  531. (defoplength fsqrt (par1 par2) (t (lth-byte '(217 250))))
  532. (defopcode fst (par1 par2) ((effap par1) (op-effa '(221 16) par1)))
  533. (defoplength fst (par1 par2) ((effap par1) (lth-effa '(221 16) par1)))
  534. (defopcode fstcw (par1 par2) ((effap par1) (op-effa '(217 56) par1)))
  535. (defoplength fstcw (par1 par2) ((effap par1) (lth-effa '(217 56) par1)))
  536. (defopcode fstenv (par1 par2) ((effap par1) (op-effa '(217 48) par1)))
  537. (defoplength fstenv (par1 par2) ((effap par1) (lth-effa '(217 48) par1)))
  538. (defopcode fstp (par1 par2) ((effap par1) (op-effa '(221 24) par1)))
  539. (defoplength fstp (par1 par2) ((effap par1) (lth-effa '(221 24) par1)))
  540. (defopcode fstsw (par1 par2) ((equal '(reg ax) par1) (op-byte '(223 224))))
  541. (defoplength fstsw (par1 par2) ((equal '(reg ax) par1) (lth-byte '(223 224))))
  542. (defopcode fsub (par1 par2) ((effap par1) (op-effa '(220 32) par1)))
  543. (defoplength fsub (par1 par2) ((effap par1) (lth-effa '(220 32) par1)))
  544. (defopcode fsubp (par1 par2) (t (op-byte '(222 233))))
  545. (defoplength fsubp (par1 par2) (t (lth-byte '(222 233))))
  546. (defopcode fsubr (par1 par2) ((effap par1) (op-effa '(220 40) par1)))
  547. (defoplength fsubr (par1 par2) ((effap par1) (lth-effa '(220 40) par1)))
  548. (defopcode fsubrp (par1 par2) (t (op-byte '(222 225))))
  549. (defoplength fsubrp (par1 par2) (t (lth-byte '(222 225))))
  550. (defopcode fyl2x (par1 par2) (t (op-byte '(217 241))))
  551. (defoplength fyl2x (par1 par2) (t (lth-byte '(217 241))))
  552. (defopcode gs: (par1 par2) (t (op-byte '(101))))
  553. (defoplength gs: (par1 par2) (t (lth-byte '(101))))
  554. (defopcode idiv (par1 par2) ((effap par1) (op-mul '(247 56) par1)))
  555. (defoplength idiv (par1 par2) ((effap par1) (lth-mul '(247 56) par1)))
  556. (defopcode imul (par1 par2) ((effap par1) (op-mul '(247 40) par1)) ((and (regp
  557. par1) (regp
  558. par2)) (op-imul '(
  559. 15
  560. 175)
  561. par2
  562. par1)))
  563. (defoplength imul (par1 par2) ((effap par1) (lth-mul '(247 40) par1)) ((and (
  564. regp
  565. par1) (
  566. regp
  567. par2)) (
  568. lth-imul
  569. '
  570. (
  571. 15
  572. 175)
  573. par2
  574. par1)))
  575. (defopcode inc (par1 par2) ((regp par1) (op-push-reg '(255 192) par1)) ((effap
  576. par1) (
  577. op-effa
  578. '
  579. (
  580. 255
  581. 0)
  582. par1)))
  583. (defoplength inc (par1 par2) ((regp par1) (lth-push-reg '(255 192) par1)) ((
  584. effap
  585. par1) (
  586. lth-effa
  587. '
  588. (
  589. 255
  590. 0)
  591. par1)))
  592. (defopcode int (par1 par2) ((equal '3 par1) (op-byte '(204))) ((smallimmediatep
  593. par1) (op-int '(205)
  594. par1)))
  595. (defoplength int (par1 par2) ((equal '3 par1) (lth-byte '(204))) ((
  596. smallimmediatep
  597. par1) (lth-int '(
  598. 205) par1
  599. )))
  600. (defopcode iret (par1 par2) (t (op-byte '(207))))
  601. (defoplength iret (par1 par2) (t (lth-byte '(207))))
  602. (defopcode ja (par1 par2) ((shortlabelp par1) (op-jump-short '(119) par1)))
  603. (defoplength ja (par1 par2) ((shortlabelp par1) (lth-jump-short '(119) par1)))
  604. (defopcode jae (par1 par2) ((shortlabelp par1) (op-jump-short '(115) par1)))
  605. (defoplength jae (par1 par2) ((shortlabelp par1) (lth-jump-short '(115) par1)))
  606. (defopcode jael (par1 par2) ((adrp par1) (op-jump '(15 131) par1)))
  607. (defoplength jael (par1 par2) ((adrp par1) (lth-jump '(15 131) par1)))
  608. (defopcode jal (par1 par2) ((adrp par1) (op-jump '(15 135) par1)))
  609. (defoplength jal (par1 par2) ((adrp par1) (lth-jump '(15 135) par1)))
  610. (defopcode jb (par1 par2) ((shortlabelp par1) (op-jump-short '(114) par1)))
  611. (defoplength jb (par1 par2) ((shortlabelp par1) (lth-jump-short '(114) par1)))
  612. (defopcode jbe (par1 par2) ((shortlabelp par1) (op-jump-short '(118) par1)))
  613. (defoplength jbe (par1 par2) ((shortlabelp par1) (lth-jump-short '(118) par1)))
  614. (defopcode jbel (par1 par2) ((adrp par1) (op-jump '(15 134) par1)))
  615. (defoplength jbel (par1 par2) ((adrp par1) (lth-jump '(15 134) par1)))
  616. (defopcode jbl (par1 par2) ((adrp par1) (op-jump '(15 130) par1)))
  617. (defoplength jbl (par1 par2) ((adrp par1) (lth-jump '(15 130) par1)))
  618. (defopcode jcxz (par1 par2) ((shortlabelp par1) (op-jump-short '(227) par1)))
  619. (defoplength jcxz (par1 par2) ((shortlabelp par1) (lth-jump-short '(227) par1))
  620. )
  621. (defopcode je (par1 par2) ((shortlabelp par1) (op-jump-short '(116) par1)))
  622. (defoplength je (par1 par2) ((shortlabelp par1) (lth-jump-short '(116) par1)))
  623. (defopcode jecxz (par1 par2) ((shortlabelp par1) (op-jump-short '(227) par1)))
  624. (defoplength jecxz (par1 par2) ((shortlabelp par1) (lth-jump-short '(227) par1)
  625. ))
  626. (defopcode jel (par1 par2) ((adrp par1) (op-jump '(15 132) par1)))
  627. (defoplength jel (par1 par2) ((adrp par1) (lth-jump '(15 132) par1)))
  628. (defopcode jg (par1 par2) ((shortlabelp par1) (op-jump-short '(127) par1)))
  629. (defoplength jg (par1 par2) ((shortlabelp par1) (lth-jump-short '(127) par1)))
  630. (defopcode jge (par1 par2) ((shortlabelp par1) (op-jump-short '(125) par1)))
  631. (defoplength jge (par1 par2) ((shortlabelp par1) (lth-jump-short '(125) par1)))
  632. (defopcode jgel (par1 par2) ((adrp par1) (op-jump '(15 141) par1)))
  633. (defoplength jgel (par1 par2) ((adrp par1) (lth-jump '(15 141) par1)))
  634. (defopcode jgl (par1 par2) ((adrp par1) (op-jump '(15 143) par1)))
  635. (defoplength jgl (par1 par2) ((adrp par1) (lth-jump '(15 143) par1)))
  636. (defopcode jl (par1 par2) ((shortlabelp par1) (op-jump-short '(124) par1)))
  637. (defoplength jl (par1 par2) ((shortlabelp par1) (lth-jump-short '(124) par1)))
  638. (defopcode jle (par1 par2) ((shortlabelp par1) (op-jump-short '(126) par1)))
  639. (defoplength jle (par1 par2) ((shortlabelp par1) (lth-jump-short '(126) par1)))
  640. (defopcode jlel (par1 par2) ((adrp par1) (op-jump '(15 142) par1)))
  641. (defoplength jlel (par1 par2) ((adrp par1) (lth-jump '(15 142) par1)))
  642. (defopcode jll (par1 par2) ((adrp par1) (op-jump '(15 140) par1)))
  643. (defoplength jll (par1 par2) ((adrp par1) (lth-jump '(15 140) par1)))
  644. (defopcode jmp (par1 par2) ((shortlabelp par1) (op-jump-short '(235) par1)) ((
  645. indirectadrp
  646. par1) (
  647. op-jump-effa
  648. '
  649. (
  650. 255
  651. 32)
  652. par1)) ((regp par1) (op-jump-effa '(255 32) par1)) ((adrp par1) (op-jump '(
  653. 233)
  654. par1)))
  655. (defoplength jmp (par1 par2) ((shortlabelp par1) (lth-jump-short '(235) par1))
  656. (
  657. (
  658. indirectadrp
  659. par1)
  660. (
  661. lth-jump-effa
  662. '
  663. (
  664. 255
  665. 32)
  666. par1)) ((regp par1) (lth-jump-effa '(255 32) par1)) ((adrp par1) (
  667. lth-jump
  668. '
  669. (
  670. 233)
  671. par1)))
  672. (defopcode jmpl (par1 par2) ((adrp par1) (op-jump '(233) par1)))
  673. (defoplength jmpl (par1 par2) ((adrp par1) (lth-jump '(233) par1)))
  674. (defopcode jna (par1 par2) ((shortlabelp par1) (op-jump-short '(118) par1)))
  675. (defoplength jna (par1 par2) ((shortlabelp par1) (lth-jump-short '(118) par1)))
  676. (defopcode jnae (par1 par2) ((shortlabelp par1) (op-jump-short '(114) par1)))
  677. (defoplength jnae (par1 par2) ((shortlabelp par1) (lth-jump-short '(114) par1))
  678. )
  679. (defopcode jnael (par1 par2) ((adrp par1) (op-jump '(15 130) par1)))
  680. (defoplength jnael (par1 par2) ((adrp par1) (lth-jump '(15 130) par1)))
  681. (defopcode jnal (par1 par2) ((adrp par1) (op-jump '(15 134) par1)))
  682. (defoplength jnal (par1 par2) ((adrp par1) (lth-jump '(15 134) par1)))
  683. (defopcode jnb (par1 par2) ((shortlabelp par1) (op-jump-short '(115) par1)))
  684. (defoplength jnb (par1 par2) ((shortlabelp par1) (lth-jump-short '(115) par1)))
  685. (defopcode jnbe (par1 par2) ((shortlabelp par1) (op-jump-short '(119) par1)))
  686. (defoplength jnbe (par1 par2) ((shortlabelp par1) (lth-jump-short '(119) par1))
  687. )
  688. (defopcode jnbel (par1 par2) ((adrp par1) (op-jump '(15 135) par1)))
  689. (defoplength jnbel (par1 par2) ((adrp par1) (lth-jump '(15 135) par1)))
  690. (defopcode jnbl (par1 par2) ((adrp par1) (op-jump '(15 131) par1)))
  691. (defoplength jnbl (par1 par2) ((adrp par1) (lth-jump '(15 131) par1)))
  692. (defopcode jne (par1 par2) ((shortlabelp par1) (op-jump-short '(117) par1)))
  693. (defoplength jne (par1 par2) ((shortlabelp par1) (lth-jump-short '(117) par1)))
  694. (defopcode jnel (par1 par2) ((adrp par1) (op-jump '(15 133) par1)))
  695. (defoplength jnel (par1 par2) ((adrp par1) (lth-jump '(15 133) par1)))
  696. (defopcode jng (par1 par2) ((shortlabelp par1) (op-jump-short '(126) par1)))
  697. (defoplength jng (par1 par2) ((shortlabelp par1) (lth-jump-short '(126) par1)))
  698. (defopcode jnge (par1 par2) ((shortlabelp par1) (op-jump-short '(124) par1)))
  699. (defoplength jnge (par1 par2) ((shortlabelp par1) (lth-jump-short '(124) par1))
  700. )
  701. (defopcode jngel (par1 par2) ((adrp par1) (op-jump '(15 140) par1)))
  702. (defoplength jngel (par1 par2) ((adrp par1) (lth-jump '(15 140) par1)))
  703. (defopcode jngl (par1 par2) ((adrp par1) (op-jump '(15 142) par1)))
  704. (defoplength jngl (par1 par2) ((adrp par1) (lth-jump '(15 142) par1)))
  705. (defopcode jnl (par1 par2) ((shortlabelp par1) (op-jump-short '(125) par1)))
  706. (defoplength jnl (par1 par2) ((shortlabelp par1) (lth-jump-short '(125) par1)))
  707. (defopcode jnle (par1 par2) ((shortlabelp par1) (op-jump-short '(127) par1)))
  708. (defoplength jnle (par1 par2) ((shortlabelp par1) (lth-jump-short '(127) par1))
  709. )
  710. (defopcode jnlel (par1 par2) ((adrp par1) (op-jump '(15 143) par1)))
  711. (defoplength jnlel (par1 par2) ((adrp par1) (lth-jump '(15 143) par1)))
  712. (defopcode jnll (par1 par2) ((adrp par1) (op-jump '(15 141) par1)))
  713. (defoplength jnll (par1 par2) ((adrp par1) (lth-jump '(15 141) par1)))
  714. (defopcode jno (par1 par2) ((shortlabelp par1) (op-jump-short '(113) par1)))
  715. (defoplength jno (par1 par2) ((shortlabelp par1) (lth-jump-short '(113) par1)))
  716. (defopcode jnol (par1 par2) ((adrp par1) (op-jump '(15 129) par1)))
  717. (defoplength jnol (par1 par2) ((adrp par1) (lth-jump '(15 129) par1)))
  718. (defopcode jnp (par1 par2) ((shortlabelp par1) (op-jump-short '(123) par1)))
  719. (defoplength jnp (par1 par2) ((shortlabelp par1) (lth-jump-short '(123) par1)))
  720. (defopcode jnpl (par1 par2) ((adrp par1) (op-jump '(15 139) par1)))
  721. (defoplength jnpl (par1 par2) ((adrp par1) (lth-jump '(15 139) par1)))
  722. (defopcode jns (par1 par2) ((shortlabelp par1) (op-jump-short '(121) par1)))
  723. (defoplength jns (par1 par2) ((shortlabelp par1) (lth-jump-short '(121) par1)))
  724. (defopcode jnsl (par1 par2) ((adrp par1) (op-jump '(15 137) par1)))
  725. (defoplength jnsl (par1 par2) ((adrp par1) (lth-jump '(15 137) par1)))
  726. (defopcode jnz (par1 par2) ((shortlabelp par1) (op-jump-short '(117) par1)))
  727. (defoplength jnz (par1 par2) ((shortlabelp par1) (lth-jump-short '(117) par1)))
  728. (defopcode jnzl (par1 par2) ((adrp par1) (op-jump '(15 133) par1)))
  729. (defoplength jnzl (par1 par2) ((adrp par1) (lth-jump '(15 133) par1)))
  730. (defopcode jo (par1 par2) ((shortlabelp par1) (op-jump-short '(112) par1)))
  731. (defoplength jo (par1 par2) ((shortlabelp par1) (lth-jump-short '(112) par1)))
  732. (defopcode jol (par1 par2) ((adrp par1) (op-jump '(15 128) par1)))
  733. (defoplength jol (par1 par2) ((adrp par1) (lth-jump '(15 128) par1)))
  734. (defopcode jp (par1 par2) ((shortlabelp par1) (op-jump-short '(122) par1)))
  735. (defoplength jp (par1 par2) ((shortlabelp par1) (lth-jump-short '(122) par1)))
  736. (defopcode jpe (par1 par2) ((shortlabelp par1) (op-jump-short '(122) par1)))
  737. (defoplength jpe (par1 par2) ((shortlabelp par1) (lth-jump-short '(122) par1)))
  738. (defopcode jpel (par1 par2) ((adrp par1) (op-jump '(15 138) par1)))
  739. (defoplength jpel (par1 par2) ((adrp par1) (lth-jump '(15 138) par1)))
  740. (defopcode jpl (par1 par2) ((adrp par1) (op-jump '(15 138) par1)))
  741. (defoplength jpl (par1 par2) ((adrp par1) (lth-jump '(15 138) par1)))
  742. (defopcode jpo (par1 par2) ((shortlabelp par1) (op-jump-short '(123) par1)))
  743. (defoplength jpo (par1 par2) ((shortlabelp par1) (lth-jump-short '(123) par1)))
  744. (defopcode jpol (par1 par2) ((adrp par1) (op-jump '(15 139) par1)))
  745. (defoplength jpol (par1 par2) ((adrp par1) (lth-jump '(15 139) par1)))
  746. (defopcode js (par1 par2) ((shortlabelp par1) (op-jump-short '(120) par1)))
  747. (defoplength js (par1 par2) ((shortlabelp par1) (lth-jump-short '(120) par1)))
  748. (defopcode jsl (par1 par2) ((adrp par1) (op-jump '(15 136) par1)))
  749. (defoplength jsl (par1 par2) ((adrp par1) (lth-jump '(15 136) par1)))
  750. (defopcode jz (par1 par2) ((shortlabelp par1) (op-jump-short '(116) par1)))
  751. (defoplength jz (par1 par2) ((shortlabelp par1) (lth-jump-short '(116) par1)))
  752. (defopcode jzl (par1 par2) ((adrp par1) (op-jump '(15 132) par1)))
  753. (defoplength jzl (par1 par2) ((adrp par1) (lth-jump '(15 132) par1)))
  754. (defopcode ldmxcsr (par1 par2) ((effap par1) (op2-effa '(15 174 16) par1)))
  755. (defoplength ldmxcsr (par1 par2) ((effap par1) (lth2-effa '(15 174 16) par1)))
  756. (defopcode lea (par1 par2) ((and (effap par1) (regp par2)) (op-reg-effa '(141)
  757. par2 par1))
  758. (
  759. (
  760. and
  761. (
  762. adrp
  763. par1)
  764. (
  765. regp
  766. par2))
  767. (
  768. op-reg-effa
  769. '
  770. (
  771. 141)
  772. par2
  773. par1)))
  774. (defoplength lea (par1 par2) ((and (effap par1) (regp par2)) (lth-reg-effa '(
  775. 141) par2
  776. par1
  777. )) ((and (adrp par1) (regp par2)) (lth-reg-effa '(141) par2 par1)))
  778. (defopcode leave (par1 par2) (t (op-byte '(201))))
  779. (defoplength leave (par1 par2) (t (lth-byte '(201))))
  780. (defopcode mov (par1 par2) ((and (sregp par1) (effap par2)) (op-reg-effa '(140)
  781. par1
  782. par2)) ((and (effap par1) (sregp par2)) (op-reg-effa '(142) par2 par1)) ((
  783. and
  784. (
  785. regp
  786. par1)
  787. (
  788. effap
  789. par2)) (
  790. op-reg-effa
  791. '
  792. (
  793. 137)
  794. par1
  795. par2)) ((and (effap par1) (regp par2)) (op-reg-effa '(139) par2 par1)) ((
  796. and
  797. (
  798. stdimmediatep
  799. par1)
  800. (
  801. regp
  802. par2)) (
  803. op-imm-reg
  804. '
  805. (
  806. 199
  807. 192)
  808. par1
  809. par2)) ((and (stdimmediatep par1) (effap par2)) (op-imm-effa '(199 0) par1
  810. par2)) ((and (adrp par1) (regp par2)) (op-reg-effa '(139) par2 par1)))
  811. (defoplength mov (par1 par2) ((and (sregp par1) (effap par2)) (lth-reg-effa '(
  812. 140)
  813. par1
  814. par2)) ((and (effap par1) (sregp par2)) (lth-reg-effa '(142) par2 par1))
  815. (
  816. (
  817. and
  818. (
  819. regp
  820. par1)
  821. (
  822. effap
  823. par2))
  824. (
  825. lth-reg-effa
  826. '
  827. (
  828. 137)
  829. par1
  830. par2)) ((and (effap par1) (regp par2)) (lth-reg-effa '(139) par2 par1)) (
  831. (
  832. and
  833. (
  834. stdimmediatep
  835. par1)
  836. (
  837. regp
  838. par2))
  839. (
  840. lth-imm-reg
  841. '
  842. (
  843. 199
  844. 192)
  845. par1
  846. par2)) ((and (stdimmediatep par1) (effap par2)) (lth-imm-effa '(199 0)
  847. par1 par2)) ((
  848. and
  849. (
  850. adrp
  851. par1)
  852. (
  853. regp
  854. par2)) (
  855. lth-reg-effa
  856. '
  857. (
  858. 139)
  859. par2
  860. par1)))
  861. (defopcode movapd (par1 par2) ((and (xmmregp par1) (xmmregp par2)) (
  862. op-xmmreg-effa
  863. '
  864. (
  865. 102
  866. 15
  867. 41)
  868. par1
  869. par2)))
  870. (defoplength movapd (par1 par2) ((and (xmmregp par1) (xmmregp par2)) (
  871. lth-xmmreg-effa
  872. '
  873. (
  874. 102
  875. 15
  876. 41)
  877. par1
  878. par2)))
  879. (defopcode movb (par1 par2) ((and (regp par1) (effap par2)) (op-reg-effa '(136)
  880. par1
  881. par2)) ((and (effap par1) (regp par2)) (op-reg-effa '(138) par2 par1)))
  882. (defoplength movb (par1 par2) ((and (regp par1) (effap par2)) (lth-reg-effa '(
  883. 136)
  884. par1
  885. par2)) ((and (effap par1) (regp par2)) (lth-reg-effa '(138) par2 par1)))
  886. (defopcode movq (par1 par2) ((and (xmmregp par1) (xmmregp par2)) (
  887. op-xmmreg-effa
  888. '
  889. (
  890. 243
  891. 15
  892. 126)
  893. par2
  894. par1)) ((and (regp par1) (xmmregp par2)) (op-xmmreg-effa '(102 rex 15 110)
  895. par1 par2)) ((and (
  896. xmmregp
  897. par1) (regp
  898. par2)) (
  899. op-xmmreg-effa
  900. '
  901. (
  902. 102
  903. rex
  904. 15
  905. 126)
  906. par1
  907. par2)) ((and (effap par1) (xmmregp par2)) (op-xmmreg-effa '(102 rex 15 110)
  908. par2 par1)) ((and
  909. (
  910. xmmregp
  911. par1)
  912. (
  913. effap
  914. par2)) (
  915. op-xmmreg-effa
  916. '
  917. (
  918. 102
  919. rex
  920. 15
  921. 126)
  922. par1
  923. par2)))
  924. (defoplength movq (par1 par2) ((and (xmmregp par1) (xmmregp par2)) (
  925. lth-xmmreg-effa
  926. '
  927. (
  928. 243
  929. 15
  930. 126)
  931. par2
  932. par1)) ((and (regp par1) (xmmregp par2)) (lth-xmmreg-effa '(102 rex 15
  933. 110) par1 par2)) ((
  934. and
  935. (
  936. xmmregp
  937. par1)
  938. (
  939. regp
  940. par2)) (
  941. lth-xmmreg-effa
  942. '
  943. (
  944. 102
  945. rex
  946. 15
  947. 126)
  948. par1
  949. par2)) ((and (effap par1) (xmmregp par2)) (lth-xmmreg-effa '(102 rex 15
  950. 110) par2 par1)) ((
  951. and
  952. (
  953. xmmregp
  954. par1)
  955. (
  956. effap
  957. par2)) (
  958. lth-xmmreg-effa
  959. '
  960. (
  961. 102
  962. rex
  963. 15
  964. 126)
  965. par1
  966. par2)))
  967. (defopcode movsd (par1 par2) ((and (xmmregp par1) (xmmregp par2)) (
  968. op-xmmreg-effa
  969. '
  970. (
  971. 242
  972. 15
  973. 17)
  974. par1
  975. par2)) ((and (effap par1) (xmmregp par2)) (op-xmmreg-effa '(242 15 16) par2
  976. par1)) ((and (
  977. xmmregp
  978. par1) (
  979. effap
  980. par2)) (
  981. op-xmmreg-effa
  982. '
  983. (
  984. 242
  985. 15
  986. 17)
  987. par1
  988. par2)))
  989. (defoplength movsd (par1 par2) ((and (xmmregp par1) (xmmregp par2)) (
  990. lth-xmmreg-effa
  991. '
  992. (
  993. 242
  994. 15
  995. 17)
  996. par1
  997. par2)) ((and (effap par1) (xmmregp par2)) (lth-xmmreg-effa '(242 15 16)
  998. par2 par1)) ((and (
  999. xmmregp
  1000. par1) (
  1001. effap
  1002. par2)) (
  1003. lth-xmmreg-effa
  1004. '
  1005. (
  1006. 242
  1007. 15
  1008. 17)
  1009. par1
  1010. par2)))
  1011. (defopcode movsx (par1 par2) ((and (regp par1) (regp par2)) (op-reg-effa-2 '(15
  1012. rex
  1013. 191) par1
  1014. par2
  1015. )))
  1016. (defoplength movsx (par1 par2) ((and (regp par1) (regp par2)) (lth-reg-effa-2 '
  1017. (
  1018. 15
  1019. rex
  1020. 191)
  1021. par1
  1022. par2)))
  1023. (defopcode movw (par1 par2) ((and (regp par1) (effap par2)) (op-reg-effa-2 '(
  1024. 102
  1025. rex
  1026. 137) par1
  1027. par2
  1028. )) ((and (effap par1) (regp par2)) (op-reg-effa-2 '(102 rex 139) par2
  1029. par1)))
  1030. (defoplength movw (par1 par2) ((and (regp par1) (effap par2)) (lth-reg-effa-2 '
  1031. (
  1032. 102
  1033. rex
  1034. 137)
  1035. par1
  1036. par2)) ((and (effap par1) (regp par2)) (lth-reg-effa-2 '(102 rex 139)
  1037. par2 par1)))
  1038. (defopcode movzx (par1 par2) ((and (regp par1) (regp par2)) (op-reg-effa-2 '(15
  1039. rex
  1040. 183) par1
  1041. par2
  1042. )))
  1043. (defoplength movzx (par1 par2) ((and (regp par1) (regp par2)) (lth-reg-effa-2 '
  1044. (
  1045. 15
  1046. rex
  1047. 183)
  1048. par1
  1049. par2)))
  1050. (defopcode mul (par1 par2) ((effap par1) (op-mul '(247 32) par1)))
  1051. (defoplength mul (par1 par2) ((effap par1) (lth-mul '(247 32) par1)))
  1052. (defopcode mulsd (par1 par2) ((and (effap par1) (xmmregp par2)) (op-xmmreg-effa
  1053. '
  1054. (
  1055. 242
  1056. 15
  1057. 89)
  1058. par2
  1059. par1)))
  1060. (defoplength mulsd (par1 par2) ((and (effap par1) (xmmregp par2)) (
  1061. lth-xmmreg-effa
  1062. '
  1063. (
  1064. 242
  1065. 15
  1066. 89)
  1067. par2
  1068. par1)))
  1069. (defopcode neg (par1 par2) ((regp par1) (op-effa '(247 24) par1)))
  1070. (defoplength neg (par1 par2) ((regp par1) (lth-effa '(247 24) par1)))
  1071. (defopcode nop (par1 par2) (t (op-byte '(144))))
  1072. (defoplength nop (par1 par2) (t (lth-byte '(144))))
  1073. (defopcode not (par1 par2) ((regp par1) (op-effa '(247 16) par1)))
  1074. (defoplength not (par1 par2) ((regp par1) (lth-effa '(247 16) par1)))
  1075. (defopcode or (par1 par2) ((and (regp par1) (regp par2)) (op-reg-effa '(11)
  1076. par2 par1)) ((
  1077. and
  1078. (
  1079. regp
  1080. par1)
  1081. (
  1082. effap
  1083. par2)) (
  1084. op-reg-effa
  1085. '
  1086. (
  1087. 9)
  1088. par1
  1089. par2)) ((and (effap par1) (regp par2)) (op-reg-effa '(11) par2 par1)) ((and
  1090. (
  1091. stdimmediatep
  1092. par1)
  1093. (
  1094. eaxp
  1095. par2)) (
  1096. op-imm-eax
  1097. '
  1098. (
  1099. 13)
  1100. par1
  1101. par2)) ((and (smallimmediatep par1) (regp par2)) (op-imm8-effa '(131 8)
  1102. par1 par2)) ((and
  1103. (
  1104. stdimmediatep
  1105. par1)
  1106. (
  1107. regp
  1108. par2)) (
  1109. op-imm-effa
  1110. '
  1111. (
  1112. 129
  1113. 8)
  1114. par1
  1115. par2)))
  1116. (defoplength or (par1 par2) ((and (regp par1) (regp par2)) (lth-reg-effa '(11)
  1117. par2 par1))
  1118. ((and (regp par1) (effap par2)) (lth-reg-effa '(9) par1 par2)) ((
  1119. and
  1120. (
  1121. effap
  1122. par1)
  1123. (
  1124. regp
  1125. par2)) (
  1126. lth-reg-effa
  1127. '
  1128. (
  1129. 11)
  1130. par2
  1131. par1)) ((and (stdimmediatep par1) (eaxp par2)) (lth-imm-eax '(13) par1
  1132. par2)) ((and (smallimmediatep par1) (regp par2)) (lth-imm8-effa '(131 8)
  1133. par1 par2)) ((
  1134. and
  1135. (
  1136. stdimmediatep
  1137. par1)
  1138. (
  1139. regp
  1140. par2)) (
  1141. lth-imm-effa
  1142. '
  1143. (
  1144. 129
  1145. 8)
  1146. par1
  1147. par2)))
  1148. (defopcode orpd (par1 par2) ((and (effap par1) (xmmregp par2)) (op-xmmreg-effa
  1149. '
  1150. (
  1151. 102
  1152. 15
  1153. 86)
  1154. par2
  1155. par1)) ((and (xmmregp par1) (effap par2)) (op-xmmreg-effa '(102 15 86) par1
  1156. par2)))
  1157. (defoplength orpd (par1 par2) ((and (effap par1) (xmmregp par2)) (
  1158. lth-xmmreg-effa
  1159. '
  1160. (
  1161. 102
  1162. 15
  1163. 86)
  1164. par2
  1165. par1)) ((and (xmmregp par1) (effap par2)) (lth-xmmreg-effa '(102 15 86)
  1166. par1 par2)))
  1167. (defopcode os: (par1 par2) (t (op-byte '(102))))
  1168. (defoplength os: (par1 par2) (t (lth-byte '(102))))
  1169. (defopcode pand (par1 par2) ((and (effap par1) (xmmregp par2)) (op-xmmreg-effa
  1170. '
  1171. (
  1172. 102
  1173. 15
  1174. 219)
  1175. par2
  1176. par1)) ((and (xmmregp par1) (effap par2)) (op-xmmreg-effa '(102 15 219)
  1177. par1 par2)))
  1178. (defoplength pand (par1 par2) ((and (effap par1) (xmmregp par2)) (
  1179. lth-xmmreg-effa
  1180. '
  1181. (
  1182. 102
  1183. 15
  1184. 219)
  1185. par2
  1186. par1)) ((and (xmmregp par1) (effap par2)) (lth-xmmreg-effa '(102 15 219)
  1187. par1 par2)))
  1188. (defopcode pandn (par1 par2) ((and (effap par1) (xmmregp par2)) (op-xmmreg-effa
  1189. '
  1190. (
  1191. 102
  1192. 15
  1193. 223)
  1194. par2
  1195. par1)) ((and (xmmregp par1) (effap par2)) (op-xmmreg-effa '(102 15 223)
  1196. par1 par2)))
  1197. (defoplength pandn (par1 par2) ((and (effap par1) (xmmregp par2)) (
  1198. lth-xmmreg-effa
  1199. '
  1200. (
  1201. 102
  1202. 15
  1203. 223)
  1204. par2
  1205. par1)) ((and (xmmregp par1) (effap par2)) (lth-xmmreg-effa '(102 15 223)
  1206. par1 par2)))
  1207. (defopcode pop (par1 par2) ((regp par1) (op-push-reg '(88) par1)) ((effap par1)
  1208. (op-effa '(
  1209. 143
  1210. 0)
  1211. par1)))
  1212. (defoplength pop (par1 par2) ((regp par1) (lth-push-reg '(88) par1)) ((effap
  1213. par1) (lth-effa
  1214. '
  1215. (
  1216. 143
  1217. 0)
  1218. par1)))
  1219. (defopcode popfd (par1 par2) (t (op-byte '(157))))
  1220. (defoplength popfd (par1 par2) (t (lth-byte '(157))))
  1221. (defopcode por (par1 par2) ((and (effap par1) (xmmregp par2)) (op-xmmreg-effa '
  1222. (
  1223. 102
  1224. 15
  1225. 235)
  1226. par2
  1227. par1)) ((and (xmmregp par1) (effap par2)) (op-xmmreg-effa '(102 15 235)
  1228. par1 par2)))
  1229. (defoplength por (par1 par2) ((and (effap par1) (xmmregp par2)) (
  1230. lth-xmmreg-effa
  1231. '
  1232. (
  1233. 102
  1234. 15
  1235. 235)
  1236. par2
  1237. par1)) ((and (xmmregp par1) (effap par2)) (lth-xmmreg-effa '(102 15 235)
  1238. par1 par2)))
  1239. (defopcode push (par1 par2) ((regp par1) (op-push-reg '(80) par1)) ((effap par1
  1240. ) (op-effa '(
  1241. 255
  1242. 48)
  1243. par1)) ((stdimmediatep par1) (op-imm '(104) par1)))
  1244. (defoplength push (par1 par2) ((regp par1) (lth-push-reg '(80) par1)) ((effap
  1245. par1) (
  1246. lth-effa
  1247. '
  1248. (
  1249. 255
  1250. 48)
  1251. par1)) ((stdimmediatep par1) (lth-imm '(104) par1)))
  1252. (defopcode pushfd (par1 par2) (t (op-byte '(156))))
  1253. (defoplength pushfd (par1 par2) (t (lth-byte '(156))))
  1254. (defopcode pxor (par1 par2) ((and (effap par1) (xmmregp par2)) (op-xmmreg-effa
  1255. '
  1256. (
  1257. 102
  1258. 15
  1259. 239)
  1260. par2
  1261. par1)) ((and (xmmregp par1) (effap par2)) (op-xmmreg-effa '(102 15 239)
  1262. par1 par2)))
  1263. (defoplength pxor (par1 par2) ((and (effap par1) (xmmregp par2)) (
  1264. lth-xmmreg-effa
  1265. '
  1266. (
  1267. 102
  1268. 15
  1269. 239)
  1270. par2
  1271. par1)) ((and (xmmregp par1) (effap par2)) (lth-xmmreg-effa '(102 15 239)
  1272. par1 par2)))
  1273. (defopcode rcl (par1 par2) ((and (equal '1 par1) (regp par2)) (op-shift '(209
  1274. 16) par2))
  1275. (
  1276. (
  1277. and
  1278. (
  1279. equal
  1280. '
  1281. (
  1282. reg
  1283. cl)
  1284. par1)
  1285. (
  1286. regp
  1287. par2))
  1288. (
  1289. op-shift
  1290. '
  1291. (
  1292. 211
  1293. 16)
  1294. par2)) ((and (stdimmediatep par1) (regp par2)) (op-shiftimm '(193 16) par1
  1295. par2)))
  1296. (defoplength rcl (par1 par2) ((and (equal '1 par1) (regp par2)) (lth-shift '(
  1297. 209
  1298. 16) par2
  1299. )) ((and (equal '(reg cl) par1) (regp par2)) (lth-shift '(211 16)
  1300. par2)) ((and (stdimmediatep par1) (regp par2)) (lth-shiftimm '(193 16)
  1301. par1 par2)))
  1302. (defopcode rcr (par1 par2) ((and (equal '1 par1) (regp par2)) (op-shift '(209
  1303. 24) par2))
  1304. (
  1305. (
  1306. and
  1307. (
  1308. equal
  1309. '
  1310. (
  1311. reg
  1312. cl)
  1313. par1)
  1314. (
  1315. regp
  1316. par2))
  1317. (
  1318. op-shift
  1319. '
  1320. (
  1321. 211
  1322. 24)
  1323. par2)) ((and (stdimmediatep par1) (regp par2)) (op-shiftimm '(193 24) par1
  1324. par2)))
  1325. (defoplength rcr (par1 par2) ((and (equal '1 par1) (regp par2)) (lth-shift '(
  1326. 209
  1327. 24) par2
  1328. )) ((and (equal '(reg cl) par1) (regp par2)) (lth-shift '(211 24)
  1329. par2)) ((and (stdimmediatep par1) (regp par2)) (lth-shiftimm '(193 24)
  1330. par1 par2)))
  1331. (defopcode ret (par1 par2) ((smallimmediatep par1) (op-ret-n '(194) par1)) (t (
  1332. op-byte
  1333. '
  1334. (
  1335. 195))))
  1336. (defoplength ret (par1 par2) ((smallimmediatep par1) (lth-ret-n '(194) par1)) (
  1337. t
  1338. (
  1339. lth-byte
  1340. '
  1341. (
  1342. 195))))
  1343. (defopcode rex (par1 par2) (t (op-byte '(72))))
  1344. (defoplength rex (par1 par2) (t (lth-byte '(72))))
  1345. (defopcode rol (par1 par2) ((and (equal '1 par1) (regp par2)) (op-shift '(209 0
  1346. ) par2))
  1347. (
  1348. (
  1349. and
  1350. (
  1351. equal
  1352. '
  1353. (
  1354. reg
  1355. cl)
  1356. par1)
  1357. (
  1358. regp
  1359. par2))
  1360. (
  1361. op-shift
  1362. '
  1363. (
  1364. 211
  1365. 0)
  1366. par2)) ((and (stdimmediatep par1) (regp par2)) (op-shiftimm '(193 0) par1
  1367. par2)))
  1368. (defoplength rol (par1 par2) ((and (equal '1 par1) (regp par2)) (lth-shift '(
  1369. 209
  1370. 0) par2
  1371. )) ((and (equal '(reg cl) par1) (regp par2)) (lth-shift '(211 0) par2
  1372. )) ((and (stdimmediatep par1) (regp par2)) (lth-shiftimm '(193 0)
  1373. par1 par2)))
  1374. (defopcode ror (par1 par2) ((and (equal '1 par1) (regp par2)) (op-shift '(209 8
  1375. ) par2))
  1376. (
  1377. (
  1378. and
  1379. (
  1380. equal
  1381. '
  1382. (
  1383. reg
  1384. cl)
  1385. par1)
  1386. (
  1387. regp
  1388. par2))
  1389. (
  1390. op-shift
  1391. '
  1392. (
  1393. 211
  1394. 8)
  1395. par2)) ((and (stdimmediatep par1) (regp par2)) (op-shiftimm '(193 8) par1
  1396. par2)))
  1397. (defoplength ror (par1 par2) ((and (equal '1 par1) (regp par2)) (lth-shift '(
  1398. 209
  1399. 8) par2
  1400. )) ((and (equal '(reg cl) par1) (regp par2)) (lth-shift '(211 8) par2
  1401. )) ((and (stdimmediatep par1) (regp par2)) (lth-shiftimm '(193 8)
  1402. par1 par2)))
  1403. (defopcode sahf (par1 par2) (t (op-byte '(158))))
  1404. (defoplength sahf (par1 par2) (t (lth-byte '(158))))
  1405. (defopcode sal (par1 par2) ((and (equal '1 par1) (regp par2)) (op-shift '(209
  1406. 32) par2))
  1407. (
  1408. (
  1409. and
  1410. (
  1411. equal
  1412. '
  1413. (
  1414. reg
  1415. cl)
  1416. par1)
  1417. (
  1418. regp
  1419. par2))
  1420. (
  1421. op-shift
  1422. '
  1423. (
  1424. 211
  1425. 32)
  1426. par2)) ((and (stdimmediatep par1) (regp par2)) (op-shiftimm '(193 32) par1
  1427. par2)))
  1428. (defoplength sal (par1 par2) ((and (equal '1 par1) (regp par2)) (lth-shift '(
  1429. 209
  1430. 32) par2
  1431. )) ((and (equal '(reg cl) par1) (regp par2)) (lth-shift '(211 32)
  1432. par2)) ((and (stdimmediatep par1) (regp par2)) (lth-shiftimm '(193 32)
  1433. par1 par2)))
  1434. (defopcode sar (par1 par2) ((and (equal '1 par1) (regp par2)) (op-shift '(209
  1435. 56) par2))
  1436. (
  1437. (
  1438. and
  1439. (
  1440. equal
  1441. '
  1442. (
  1443. reg
  1444. cl)
  1445. par1)
  1446. (
  1447. regp
  1448. par2))
  1449. (
  1450. op-shift
  1451. '
  1452. (
  1453. 211
  1454. 56)
  1455. par2)) ((and (stdimmediatep par1) (regp par2)) (op-shiftimm '(193 56) par1
  1456. par2)))
  1457. (defoplength sar (par1 par2) ((and (equal '1 par1) (regp par2)) (lth-shift '(
  1458. 209
  1459. 56) par2
  1460. )) ((and (equal '(reg cl) par1) (regp par2)) (lth-shift '(211 56)
  1461. par2)) ((and (stdimmediatep par1) (regp par2)) (lth-shiftimm '(193 56)
  1462. par1 par2)))
  1463. (defopcode sbb (par1 par2) ((and (regp par1) (effap par2)) (op-reg-effa '(25)
  1464. par1 par2))
  1465. (
  1466. (
  1467. and
  1468. (
  1469. effap
  1470. par1)
  1471. (
  1472. regp
  1473. par2))
  1474. (
  1475. op-reg-effa
  1476. '
  1477. (
  1478. 27)
  1479. par2
  1480. par1)) ((and (stdimmediatep par1) (eaxp par2)) (op-imm-eax '(29) par1 par2)
  1481. ) ((and (smallimmediatep par1) (regp par2)) (op-imm8-effa '(131 24)
  1482. par1 par2)) ((and
  1483. (
  1484. stdimmediatep
  1485. par1)
  1486. (
  1487. effap
  1488. par2)) (
  1489. op-imm-effa
  1490. '
  1491. (
  1492. 129
  1493. 24)
  1494. par1
  1495. par2)))
  1496. (defoplength sbb (par1 par2) ((and (regp par1) (effap par2)) (lth-reg-effa '(25
  1497. ) par1
  1498. par2
  1499. )) ((and (effap par1) (regp par2)) (lth-reg-effa '(27) par2 par1)) ((
  1500. and
  1501. (
  1502. stdimmediatep
  1503. par1)
  1504. (
  1505. eaxp
  1506. par2)) (
  1507. lth-imm-eax
  1508. '
  1509. (
  1510. 29)
  1511. par1
  1512. par2)) ((and (smallimmediatep par1) (regp par2)) (lth-imm8-effa '(131 24)
  1513. par1 par2
  1514. )) ((and (stdimmediatep par1) (effap par2)) (lth-imm-effa '(129 24)
  1515. par1 par2)))
  1516. (defopcode setc (par1 par2) ((effap par1) (op2-effa '(15 146 0) par1)))
  1517. (defoplength setc (par1 par2) ((effap par1) (lth2-effa '(15 146 0) par1)))
  1518. (defopcode shl (par1 par2) ((and (equal '1 par1) (regp par2)) (op-shift '(209
  1519. 32) par2))
  1520. (
  1521. (
  1522. and
  1523. (
  1524. equal
  1525. '
  1526. (
  1527. reg
  1528. cl)
  1529. par1)
  1530. (
  1531. regp
  1532. par2))
  1533. (
  1534. op-shift
  1535. '
  1536. (
  1537. 211
  1538. 32)
  1539. par2)) ((and (stdimmediatep par1) (regp par2)) (op-shiftimm '(193 32) par1
  1540. par2)))
  1541. (defoplength shl (par1 par2) ((and (equal '1 par1) (regp par2)) (lth-shift '(
  1542. 209
  1543. 32) par2
  1544. )) ((and (equal '(reg cl) par1) (regp par2)) (lth-shift '(211 32)
  1545. par2)) ((and (stdimmediatep par1) (regp par2)) (lth-shiftimm '(193 32)
  1546. par1 par2)))
  1547. (defopcode shld (par1 par2) ((and (stdimmediatep par1) (effap par2)) (
  1548. op-dshiftimm
  1549. '
  1550. (
  1551. 15
  1552. 164)
  1553. par1
  1554. par2)) ((and (equal '(reg cl) par1) (effap par2)) (op-dshift '(15 165) par2
  1555. )))
  1556. (defoplength shld (par1 par2) ((and (stdimmediatep par1) (effap par2)) (
  1557. lth-dshiftimm
  1558. '
  1559. (
  1560. 15
  1561. 164)
  1562. par1
  1563. par2)) ((and (equal '(reg cl) par1) (effap par2)) (lth-dshift '(15 165)
  1564. par2)))
  1565. (defopcode shr (par1 par2) ((and (equal '1 par1) (regp par2)) (op-shift '(209
  1566. 40) par2))
  1567. (
  1568. (
  1569. and
  1570. (
  1571. equal
  1572. '
  1573. (
  1574. reg
  1575. cl)
  1576. par1)
  1577. (
  1578. regp
  1579. par2))
  1580. (
  1581. op-shift
  1582. '
  1583. (
  1584. 211
  1585. 40)
  1586. par2)) ((and (stdimmediatep par1) (regp par2)) (op-shiftimm '(193 40) par1
  1587. par2)))
  1588. (defoplength shr (par1 par2) ((and (equal '1 par1) (regp par2)) (lth-shift '(
  1589. 209
  1590. 40) par2
  1591. )) ((and (equal '(reg cl) par1) (regp par2)) (lth-shift '(211 40)
  1592. par2)) ((and (stdimmediatep par1) (regp par2)) (lth-shiftimm '(193 40)
  1593. par1 par2)))
  1594. (defopcode shrd (par1 par2) ((and (stdimmediatep par1) (effap par2)) (
  1595. op-dshiftimm
  1596. '
  1597. (
  1598. 15
  1599. 172)
  1600. par1
  1601. par2)) ((and (equal '(reg cl) par1) (effap par2)) (op-dshift '(15 173) par2
  1602. )))
  1603. (defoplength shrd (par1 par2) ((and (stdimmediatep par1) (effap par2)) (
  1604. lth-dshiftimm
  1605. '
  1606. (
  1607. 15
  1608. 172)
  1609. par1
  1610. par2)) ((and (equal '(reg cl) par1) (effap par2)) (lth-dshift '(15 173)
  1611. par2)))
  1612. (defopcode sqrtsd (par1 par2) ((and (effap par1) (xmmregp par2)) (
  1613. op-xmmreg-effa
  1614. '
  1615. (
  1616. 242
  1617. 15
  1618. 81)
  1619. par2
  1620. par1)))
  1621. (defoplength sqrtsd (par1 par2) ((and (effap par1) (xmmregp par2)) (
  1622. lth-xmmreg-effa
  1623. '
  1624. (
  1625. 242
  1626. 15
  1627. 81)
  1628. par2
  1629. par1)))
  1630. (defopcode ss: (par1 par2) (t (op-byte '(54))))
  1631. (defoplength ss: (par1 par2) (t (lth-byte '(54))))
  1632. (defopcode stmxcsr (par1 par2) ((effap par1) (op2-effa '(15 174 24) par1)))
  1633. (defoplength stmxcsr (par1 par2) ((effap par1) (lth2-effa '(15 174 24) par1)))
  1634. (defopcode sub (par1 par2) ((and (regp par1) (effap par2)) (op-reg-effa '(41)
  1635. par1 par2))
  1636. (
  1637. (
  1638. and
  1639. (
  1640. effap
  1641. par1)
  1642. (
  1643. regp
  1644. par2))
  1645. (
  1646. op-reg-effa
  1647. '
  1648. (
  1649. 43)
  1650. par2
  1651. par1)) ((and (stdimmediatep par1) (eaxp par2)) (op-imm-eax '(45) par1 par2)
  1652. ) ((and (smallimmediatep par1) (regp par2)) (op-imm8-effa '(131 40)
  1653. par1 par2)) ((and
  1654. (
  1655. stdimmediatep
  1656. par1)
  1657. (
  1658. effap
  1659. par2)) (
  1660. op-imm-effa
  1661. '
  1662. (
  1663. 129
  1664. 40)
  1665. par1
  1666. par2)))
  1667. (defoplength sub (par1 par2) ((and (regp par1) (effap par2)) (lth-reg-effa '(41
  1668. ) par1
  1669. par2
  1670. )) ((and (effap par1) (regp par2)) (lth-reg-effa '(43) par2 par1)) ((
  1671. and
  1672. (
  1673. stdimmediatep
  1674. par1)
  1675. (
  1676. eaxp
  1677. par2)) (
  1678. lth-imm-eax
  1679. '
  1680. (
  1681. 45)
  1682. par1
  1683. par2)) ((and (smallimmediatep par1) (regp par2)) (lth-imm8-effa '(131 40)
  1684. par1 par2
  1685. )) ((and (stdimmediatep par1) (effap par2)) (lth-imm-effa '(129 40)
  1686. par1 par2)))
  1687. (defopcode subsd (par1 par2) ((and (effap par1) (xmmregp par2)) (op-xmmreg-effa
  1688. '
  1689. (
  1690. 242
  1691. 15
  1692. 92)
  1693. par2
  1694. par1)))
  1695. (defoplength subsd (par1 par2) ((and (effap par1) (xmmregp par2)) (
  1696. lth-xmmreg-effa
  1697. '
  1698. (
  1699. 242
  1700. 15
  1701. 92)
  1702. par2
  1703. par1)))
  1704. (defopcode ucomisd (par1 par2) ((and (effap par1) (xmmregp par2)) (
  1705. op-xmmreg-effa
  1706. '
  1707. (
  1708. 102
  1709. 15
  1710. 46)
  1711. par2
  1712. par1)))
  1713. (defoplength ucomisd (par1 par2) ((and (effap par1) (xmmregp par2)) (
  1714. lth-xmmreg-effa
  1715. '
  1716. (
  1717. 102
  1718. 15
  1719. 46)
  1720. par2
  1721. par1)))
  1722. (defopcode ucomiss (par1 par2) ((and (effap par1) (xmmregp par2)) (
  1723. op-xmmreg-effa
  1724. '
  1725. (
  1726. 15
  1727. 46)
  1728. par2
  1729. par1)))
  1730. (defoplength ucomiss (par1 par2) ((and (effap par1) (xmmregp par2)) (
  1731. lth-xmmreg-effa
  1732. '
  1733. (
  1734. 15
  1735. 46)
  1736. par2
  1737. par1)))
  1738. (defopcode wait (par1 par2) (t (op-byte '(155))))
  1739. (defoplength wait (par1 par2) (t (lth-byte '(155))))
  1740. (defopcode xchg (par1 par2) ((and (regp par1) (eaxp par2)) (op-push-reg '(144)
  1741. par1 par2))
  1742. (
  1743. (
  1744. and
  1745. (
  1746. eaxp
  1747. par1)
  1748. (
  1749. regp
  1750. par2))
  1751. (
  1752. op-push-reg
  1753. '
  1754. (
  1755. 144)
  1756. par2
  1757. par1)) ((and (effap par1) (regp par2)) (op-reg-effa '(135) par1 par2)) ((
  1758. and
  1759. (
  1760. regp
  1761. par1)
  1762. (
  1763. effap
  1764. par2)) (
  1765. op-reg-effa
  1766. '
  1767. (
  1768. 135)
  1769. par2
  1770. par1)))
  1771. (defoplength xchg (par1 par2) ((and (regp par1) (eaxp par2)) (lth-push-reg '(
  1772. 144) par1
  1773. par2
  1774. )) ((and (eaxp par1) (regp par2)) (lth-push-reg '(144) par2 par1)) ((
  1775. and
  1776. (
  1777. effap
  1778. par1)
  1779. (
  1780. regp
  1781. par2)) (
  1782. lth-reg-effa
  1783. '
  1784. (
  1785. 135)
  1786. par1
  1787. par2)) ((and (regp par1) (effap par2)) (lth-reg-effa '(135) par2 par1)))
  1788. (defopcode xor (par1 par2) ((and (regp par1) (regp par2)) (op-reg-effa '(51)
  1789. par2 par1)) (
  1790. (
  1791. and
  1792. (
  1793. regp
  1794. par1)
  1795. (
  1796. effap
  1797. par2))
  1798. (
  1799. op-reg-effa
  1800. '
  1801. (
  1802. 49)
  1803. par1
  1804. par2)) ((and (effap par1) (regp par2)) (op-reg-effa '(51) par2 par1)) ((and
  1805. (
  1806. stdimmediatep
  1807. par1)
  1808. (
  1809. eaxp
  1810. par2)) (
  1811. op-imm-eax
  1812. '
  1813. (
  1814. 53)
  1815. par1
  1816. par2)) ((and (smallimmediatep par1) (regp par2)) (op-imm8-effa '(131 48)
  1817. par1 par2)) ((and
  1818. (
  1819. stdimmediatep
  1820. par1)
  1821. (
  1822. regp
  1823. par2)) (
  1824. op-imm-effa
  1825. '
  1826. (
  1827. 129
  1828. 48)
  1829. par1
  1830. par2)))
  1831. (defoplength xor (par1 par2) ((and (regp par1) (regp par2)) (lth-reg-effa '(51)
  1832. par2
  1833. par1)) ((and (regp par1) (effap par2)) (lth-reg-effa '(49) par1 par2)) ((
  1834. and
  1835. (
  1836. effap
  1837. par1)
  1838. (
  1839. regp
  1840. par2)) (
  1841. lth-reg-effa
  1842. '
  1843. (
  1844. 51)
  1845. par2
  1846. par1)) ((and (stdimmediatep par1) (eaxp par2)) (lth-imm-eax '(53) par1
  1847. par2)) ((and (smallimmediatep par1) (regp par2)) (lth-imm8-effa '(131 48)
  1848. par1 par2
  1849. )) ((and (stdimmediatep par1) (regp par2)) (lth-imm-effa '(129 48)
  1850. par1 par2)))
  1851. (defopcode xorpd (par1 par2) ((and (effap par1) (xmmregp par2)) (op-xmmreg-effa
  1852. '
  1853. (
  1854. 102
  1855. 15
  1856. 87)
  1857. par2
  1858. par1)) ((and (xmmregp par1) (effap par2)) (op-xmmreg-effa '(102 15 87) par1
  1859. par2)))
  1860. (defoplength xorpd (par1 par2) ((and (effap par1) (xmmregp par2)) (
  1861. lth-xmmreg-effa
  1862. '
  1863. (
  1864. 102
  1865. 15
  1866. 87)
  1867. par2
  1868. par1)) ((and (xmmregp par1) (effap par2)) (lth-xmmreg-effa '(102 15 87)
  1869. par1 par2)))