x86mmtype.inc 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825
  1. in_x86_movss
  2. ,in_x86_movapd
  3. ,in_x86_movhpd
  4. ,in_x86_movlpd
  5. ,in_x86_movupd
  6. ,in_x86_movsd_from_mem
  7. ,in_x86_movd_from_mem
  8. ,in_x86_pmovsxbd_from_mem
  9. ,in_x86_pmovzxbd_from_mem
  10. ,in_x86_pmovsxwq_from_mem
  11. ,in_x86_pmovzxwq_from_mem
  12. : //out r0:xmm;r1:ptr32;
  13. begin
  14. CheckParameters(1);
  15. resultdef:=x86_m128type;
  16. end;
  17. in_x86_movaps
  18. ,in_x86_movups
  19. ,in_x86_sqrtpd_from_mem
  20. ,in_x86_movdqa_from_mem
  21. ,in_x86_movdqu_from_mem
  22. ,in_x86_movsldup_from_mem
  23. ,in_x86_movshdup_from_mem
  24. ,in_x86_lddqu
  25. ,in_x86_pabsb_from_mem
  26. ,in_x86_pabsw_from_mem
  27. ,in_x86_pabsd_from_mem
  28. ,in_x86_movntdqa
  29. : //out r0:xmm;r1:ptr128;
  30. begin
  31. CheckParameters(1);
  32. resultdef:=x86_m128type;
  33. end;
  34. in_x86_movss_to_mem
  35. ,in_x86_movapd_to_mem
  36. ,in_x86_movntpd_to_mem
  37. ,in_x86_movhpd_to_mem
  38. ,in_x86_movlpd_to_mem
  39. ,in_x86_movupd_to_mem
  40. ,in_x86_movsd_to_mem
  41. ,in_x86_movd_to_mem
  42. : //r0:ptr32;r1:xmm;
  43. begin
  44. CheckParameters(2);
  45. resultdef:=voidtype;
  46. end;
  47. in_x86_movaps_to_mem
  48. ,in_x86_movups_to_mem
  49. ,in_x86_movdqa
  50. ,in_x86_movdqu
  51. ,in_x86_movntdq
  52. : //r0:ptr128;r1:xmm;
  53. begin
  54. CheckParameters(2);
  55. resultdef:=voidtype;
  56. end;
  57. in_x86_movss_to_val
  58. : //out r0:f32;r1:xmm;
  59. begin
  60. CheckParameters(1);
  61. resultdef:=s32floattype;
  62. end;
  63. in_x86_movss_from_val
  64. : //out r0:xmm;r1:f32;
  65. begin
  66. CheckParameters(1);
  67. resultdef:=x86_m128type;
  68. end;
  69. in_x86_movlps
  70. ,in_x86_movhps
  71. ,in_x86_cvtpi2ps_from_mem
  72. ,in_x86_addsd_from_mem
  73. ,in_x86_divsd_from_mem
  74. ,in_x86_maxsd_from_mem
  75. ,in_x86_minsd_from_mem
  76. ,in_x86_mulsd_from_mem
  77. ,in_x86_subsd_from_mem
  78. ,in_x86_comisd_from_mem
  79. ,in_x86_ucomisd_from_mem
  80. ,in_x86_cvtdq2pd_from_mem
  81. ,in_x86_cvtpi2pd_from_mem
  82. ,in_x86_cvtps2pd_from_mem
  83. ,in_x86_cvtsd2ss_from_mem
  84. : //var r0:xmm;r1:ptr64;
  85. begin
  86. CheckParameters(2);
  87. resultdef:=x86_m128type;
  88. end;
  89. in_x86_movlps_to_mem
  90. ,in_x86_movhps_to_mem
  91. ,in_x86_movq_to_mem
  92. : //r0:ptr64;r1:xmm;
  93. begin
  94. CheckParameters(2);
  95. resultdef:=voidtype;
  96. end;
  97. in_x86_movlhps
  98. ,in_x86_movhlps
  99. ,in_x86_addss
  100. ,in_x86_subss
  101. ,in_x86_mulss
  102. ,in_x86_divss
  103. ,in_x86_rcpss
  104. ,in_x86_sqrtss
  105. ,in_x86_maxss
  106. ,in_x86_minss
  107. ,in_x86_rsqrtss
  108. ,in_x86_addps
  109. ,in_x86_subps
  110. ,in_x86_mulps
  111. ,in_x86_divps
  112. ,in_x86_rcpps
  113. ,in_x86_sqrtps
  114. ,in_x86_maxps
  115. ,in_x86_minps
  116. ,in_x86_rsqrtps
  117. ,in_x86_andps
  118. ,in_x86_orps
  119. ,in_x86_xorps
  120. ,in_x86_andnps
  121. ,in_x86_unpckhps
  122. ,in_x86_unpcklps
  123. ,in_x86_addpd
  124. ,in_x86_addsd
  125. ,in_x86_divpd
  126. ,in_x86_divsd
  127. ,in_x86_maxpd
  128. ,in_x86_maxsd
  129. ,in_x86_minpd
  130. ,in_x86_minsd
  131. ,in_x86_mulpd
  132. ,in_x86_mulsd
  133. ,in_x86_subpd
  134. ,in_x86_subsd
  135. ,in_x86_andpd
  136. ,in_x86_andnpd
  137. ,in_x86_orpd
  138. ,in_x86_xorpd
  139. ,in_x86_comisd
  140. ,in_x86_ucomisd
  141. ,in_x86_unpckhpd
  142. ,in_x86_unpcklpd
  143. ,in_x86_cvtdq2pd
  144. ,in_x86_cvtdq2ps
  145. ,in_x86_cvtpd2dq
  146. ,in_x86_cvtpd2ps
  147. ,in_x86_cvtps2dq
  148. ,in_x86_cvtps2pd
  149. ,in_x86_cvtsd2ss
  150. ,in_x86_cvtss2sd
  151. ,in_x86_cvttpd2dq
  152. ,in_x86_cvttps2dq
  153. ,in_x86_packssdw
  154. ,in_x86_packsswb
  155. ,in_x86_packuswb
  156. ,in_x86_paddb
  157. ,in_x86_paddw
  158. ,in_x86_paddd
  159. ,in_x86_paddq
  160. ,in_x86_paddsb
  161. ,in_x86_paddsw
  162. ,in_x86_paddusb
  163. ,in_x86_paddusw
  164. ,in_x86_pand
  165. ,in_x86_pandn
  166. ,in_x86_por
  167. ,in_x86_pxor
  168. ,in_x86_pcmpeqb
  169. ,in_x86_pcmpeqw
  170. ,in_x86_pcmpeqd
  171. ,in_x86_pcmpgtb
  172. ,in_x86_pcmpgtw
  173. ,in_x86_pcmpgtd
  174. ,in_x86_pmullw
  175. ,in_x86_pmulhw
  176. ,in_x86_pmulhuw_sse2
  177. ,in_x86_pmuludq
  178. ,in_x86_psllw_sse2
  179. ,in_x86_pslld_sse2
  180. ,in_x86_psllq_sse2
  181. ,in_x86_psrad_sse2
  182. ,in_x86_psraw_sse2
  183. ,in_x86_psrlw_sse2
  184. ,in_x86_psrld_sse2
  185. ,in_x86_psrlq_sse2
  186. ,in_x86_psubb
  187. ,in_x86_psubw
  188. ,in_x86_psubd
  189. ,in_x86_psubq
  190. ,in_x86_psubsb
  191. ,in_x86_psubsw
  192. ,in_x86_pmaddwd
  193. ,in_x86_psubusb
  194. ,in_x86_psubusw
  195. ,in_x86_punpckhbw
  196. ,in_x86_punpckhwd
  197. ,in_x86_punpckhdq
  198. ,in_x86_punpcklbw
  199. ,in_x86_punpcklwd
  200. ,in_x86_punpckldq
  201. ,in_x86_pavgb_sse2
  202. ,in_x86_pavgw_sse2
  203. ,in_x86_pminub_sse2
  204. ,in_x86_pminsw_sse2
  205. ,in_x86_pmaxsw_sse2
  206. ,in_x86_pmaxub_sse2
  207. ,in_x86_psadbw_sse2
  208. ,in_x86_punpckhqdq
  209. ,in_x86_punpcklqdq
  210. ,in_x86_addsubps
  211. ,in_x86_addsubpd
  212. ,in_x86_haddps
  213. ,in_x86_haddpd
  214. ,in_x86_hsubps
  215. ,in_x86_hsubpd
  216. ,in_x86_psignb
  217. ,in_x86_psignw
  218. ,in_x86_psignd
  219. ,in_x86_pshufb
  220. ,in_x86_pmulhrsw
  221. ,in_x86_pmaddubsw
  222. ,in_x86_phsubw
  223. ,in_x86_phsubsw
  224. ,in_x86_phsubd
  225. ,in_x86_phaddsw
  226. ,in_x86_phaddw
  227. ,in_x86_phaddd
  228. ,in_x86_phminposuw
  229. ,in_x86_pmulld
  230. ,in_x86_pmuldq
  231. ,in_x86_pminsb
  232. ,in_x86_pminuw
  233. ,in_x86_pminsd
  234. ,in_x86_pminud
  235. ,in_x86_pmaxsb
  236. ,in_x86_pmaxuw
  237. ,in_x86_pmaxsd
  238. ,in_x86_pmaxud
  239. ,in_x86_ptest
  240. ,in_x86_pcmpeqq
  241. ,in_x86_packusdw
  242. ,in_x86_pcmpgtq
  243. : //var r0:xmm;r1:xmm;
  244. begin
  245. CheckParameters(2);
  246. resultdef:=x86_m128type;
  247. end;
  248. in_x86_addss_from_mem
  249. ,in_x86_subss_from_mem
  250. ,in_x86_mulss_from_mem
  251. ,in_x86_divss_from_mem
  252. ,in_x86_rcpss_from_mem
  253. ,in_x86_sqrtss_from_mem
  254. ,in_x86_maxss_from_mem
  255. ,in_x86_minss_from_mem
  256. ,in_x86_rsqrtss_from_mem
  257. ,in_x86_cvtsi2ss_from_mem
  258. ,in_x86_cvtsi2sd_from_mem
  259. ,in_x86_cvtss2sd_from_mem
  260. : //var r0:xmm;r1:ptr32;
  261. begin
  262. CheckParameters(2);
  263. resultdef:=x86_m128type;
  264. end;
  265. in_x86_addps_from_mem
  266. ,in_x86_subps_from_mem
  267. ,in_x86_mulps_from_mem
  268. ,in_x86_divps_from_mem
  269. ,in_x86_rcpps_from_mem
  270. ,in_x86_sqrtps_from_mem
  271. ,in_x86_maxps_from_mem
  272. ,in_x86_minps_from_mem
  273. ,in_x86_rsqrtps_from_mem
  274. ,in_x86_andps_from_mem
  275. ,in_x86_orps_from_mem
  276. ,in_x86_xorps_from_mem
  277. ,in_x86_andnps_from_mem
  278. ,in_x86_unpckhps_from_mem
  279. ,in_x86_unpcklps_from_mem
  280. ,in_x86_addpd_from_mem
  281. ,in_x86_divpd_from_mem
  282. ,in_x86_maxpd_from_mem
  283. ,in_x86_minpd_from_mem
  284. ,in_x86_mulpd_from_mem
  285. ,in_x86_subpd_from_mem
  286. ,in_x86_andpd_from_mem
  287. ,in_x86_andnpd_from_mem
  288. ,in_x86_orpd_from_mem
  289. ,in_x86_xorpd_from_mem
  290. ,in_x86_unpckhpd_from_mem
  291. ,in_x86_unpcklpd_from_mem
  292. ,in_x86_cvtdq2ps_from_mem
  293. ,in_x86_cvtpd2dq_from_mem
  294. ,in_x86_cvtpd2ps_from_mem
  295. ,in_x86_cvtps2dq_from_mem
  296. ,in_x86_cvttpd2dq_from_mem
  297. ,in_x86_cvttps2dq_from_mem
  298. ,in_x86_packssdw_from_mem
  299. ,in_x86_packsswb_from_mem
  300. ,in_x86_packuswb_from_mem
  301. ,in_x86_paddb_from_mem
  302. ,in_x86_paddw_from_mem
  303. ,in_x86_paddd_from_mem
  304. ,in_x86_paddq_from_mem
  305. ,in_x86_paddsb_from_mem
  306. ,in_x86_paddsw_from_mem
  307. ,in_x86_paddusb_from_mem
  308. ,in_x86_paddusw_from_mem
  309. ,in_x86_pand_from_mem
  310. ,in_x86_pandn_from_mem
  311. ,in_x86_por_from_mem
  312. ,in_x86_pxor_from_mem
  313. ,in_x86_pcmpeqb_from_mem
  314. ,in_x86_pcmpeqw_from_mem
  315. ,in_x86_pcmpeqd_from_mem
  316. ,in_x86_pcmpgtb_from_mem
  317. ,in_x86_pcmpgtw_from_mem
  318. ,in_x86_pcmpgtd_from_mem
  319. ,in_x86_pmullw_from_mem
  320. ,in_x86_pmulhw_from_mem
  321. ,in_x86_pmulhuw_from_mem
  322. ,in_x86_pmuludq_from_mem
  323. ,in_x86_psllw_from_mem
  324. ,in_x86_pslld_from_mem
  325. ,in_x86_psllq_from_mem
  326. ,in_x86_psrad_from_mem
  327. ,in_x86_psraw_from_mem
  328. ,in_x86_psrlw_from_mem
  329. ,in_x86_psrld_from_mem
  330. ,in_x86_psrlq_from_mem
  331. ,in_x86_psubb_from_mem
  332. ,in_x86_psubw_from_mem
  333. ,in_x86_psubd_from_mem
  334. ,in_x86_psubq_from_mem
  335. ,in_x86_psubsb_from_mem
  336. ,in_x86_psubsw_from_mem
  337. ,in_x86_pmaddwd_from_mem
  338. ,in_x86_psubusb_from_mem
  339. ,in_x86_psubusw_from_mem
  340. ,in_x86_punpckhbw_from_mem
  341. ,in_x86_punpckhwd_from_mem
  342. ,in_x86_punpckhdq_from_mem
  343. ,in_x86_punpcklbw_from_mem
  344. ,in_x86_punpcklwd_from_mem
  345. ,in_x86_punpckldq_from_mem
  346. ,in_x86_pavgb_from_mem
  347. ,in_x86_pavgw_from_mem
  348. ,in_x86_pminub_from_mem
  349. ,in_x86_pminsw_from_mem
  350. ,in_x86_pmaxsw_from_mem
  351. ,in_x86_pmaxub_from_mem
  352. ,in_x86_psadbw_from_mem
  353. ,in_x86_punpckhqdq_from_mem
  354. ,in_x86_punpcklqdq_from_mem
  355. ,in_x86_addsubps_from_mem
  356. ,in_x86_addsubpd_from_mem
  357. ,in_x86_haddps_from_mem
  358. ,in_x86_haddpd_from_mem
  359. ,in_x86_hsubps_from_mem
  360. ,in_x86_hsubpd_from_mem
  361. ,in_x86_psignb_from_mem
  362. ,in_x86_psignw_from_mem
  363. ,in_x86_psignd_from_mem
  364. ,in_x86_pshufb_from_mem
  365. ,in_x86_pmulhrsw_from_mem
  366. ,in_x86_pmaddubsw_from_mem
  367. ,in_x86_phsubw_from_mem
  368. ,in_x86_phsubsw_from_mem
  369. ,in_x86_phsubd_from_mem
  370. ,in_x86_phaddsw_from_mem
  371. ,in_x86_phaddw_from_mem
  372. ,in_x86_phaddd_from_mem
  373. ,in_x86_phminposuw_from_mem
  374. ,in_x86_pmulld_from_mem
  375. ,in_x86_pmuldq_from_mem
  376. ,in_x86_pminsb_from_mem
  377. ,in_x86_pminuw_from_mem
  378. ,in_x86_pminsd_from_mem
  379. ,in_x86_pminud_from_mem
  380. ,in_x86_pmaxsb_from_mem
  381. ,in_x86_pmaxuw_from_mem
  382. ,in_x86_pmaxsd_from_mem
  383. ,in_x86_pmaxud_from_mem
  384. ,in_x86_ptest_from_mem
  385. ,in_x86_pcmpeqq_from_mem
  386. ,in_x86_packusdw_from_mem
  387. ,in_x86_pcmpgtq_from_mem
  388. : //var r0:xmm;r1:ptr128;
  389. begin
  390. CheckParameters(2);
  391. resultdef:=x86_m128type;
  392. end;
  393. in_x86_cmpss
  394. ,in_x86_cmpps
  395. ,in_x86_shufps
  396. ,in_x86_cmppd
  397. ,in_x86_cmpsd
  398. ,in_x86_shufpd
  399. ,in_x86_palignr
  400. ,in_x86_dpps
  401. ,in_x86_dppd
  402. ,in_x86_blendps
  403. ,in_x86_blendpd
  404. ,in_x86_insertps
  405. ,in_x86_mpsadbw
  406. ,in_x86_pblendw
  407. ,in_x86_pcmpestri
  408. ,in_x86_pcmpestrm
  409. ,in_x86_pcmpistri
  410. ,in_x86_pcmpistrm
  411. : //var r0:xmm;r1:xmm;imm:i32;
  412. begin
  413. CheckParameters(3);
  414. resultdef:=x86_m128type;
  415. end;
  416. in_x86_cmpss_from_mem
  417. ,in_x86_insertps_from_mem
  418. ,in_x86_pinsrd_from_mem
  419. : //var r0:xmm;r1:ptr32;imm:i32;
  420. begin
  421. CheckParameters(3);
  422. resultdef:=x86_m128type;
  423. end;
  424. in_x86_cmpps_from_mem
  425. ,in_x86_shufps_from_mem
  426. ,in_x86_cmppd_from_mem
  427. ,in_x86_shufpd_from_mem
  428. ,in_x86_palignr_from_mem
  429. ,in_x86_dpps_from_mem
  430. ,in_x86_dppd_from_mem
  431. ,in_x86_blendps_from_mem
  432. ,in_x86_blendpd_from_mem
  433. ,in_x86_mpsadbw_from_mem
  434. ,in_x86_pblendw_from_mem
  435. ,in_x86_pcmpestri_from_mem
  436. ,in_x86_pcmpestrm_from_mem
  437. ,in_x86_pcmpistri_from_mem
  438. ,in_x86_pcmpistrm_from_mem
  439. : //var r0:xmm;r1:ptr128;imm:i32;
  440. begin
  441. CheckParameters(3);
  442. resultdef:=x86_m128type;
  443. end;
  444. in_x86_cvtsi2ss
  445. : //var r0:xmm;r1:reg;
  446. begin
  447. CheckParameters(2);
  448. resultdef:=x86_m128type;
  449. end;
  450. in_x86_cvtss2si
  451. ,in_x86_cvttss2si
  452. : //out r0:reg;r1:xmm;
  453. begin
  454. CheckParameters(1);
  455. resultdef:=uinttype;
  456. end;
  457. in_x86_cvtss2si_from_mem
  458. ,in_x86_cvttss2si_from_mem
  459. : //out r0:reg;r1:ptr32;
  460. begin
  461. CheckParameters(1);
  462. resultdef:=uinttype;
  463. end;
  464. in_x86_cvtpi2ps
  465. ,in_x86_cvtpi2pd
  466. : //var r0:xmm;r1:mm;
  467. begin
  468. CheckParameters(2);
  469. resultdef:=x86_m128type;
  470. end;
  471. in_x86_cvtps2pi
  472. ,in_x86_cvttps2pi
  473. ,in_x86_movdq2q
  474. : //out r0:mm;r1:xmm;
  475. begin
  476. CheckParameters(1);
  477. resultdef:=x86_m64type;
  478. end;
  479. in_x86_cvtps2pi_from_mem
  480. ,in_x86_cvttps2pi_from_mem
  481. : //out r0:mm;r1:ptr64;
  482. begin
  483. CheckParameters(1);
  484. resultdef:=x86_m64type;
  485. end;
  486. in_x86_pmulhuw_mmx
  487. ,in_x86_psadbw_mmx
  488. ,in_x86_pavgb_mmx
  489. ,in_x86_pavgw_mmx
  490. ,in_x86_pmaxub_mmx
  491. ,in_x86_pminub_mmx
  492. ,in_x86_pmaxsw_mmx
  493. ,in_x86_pminsw_mmx
  494. : //var r0:mm;r1:mm;
  495. begin
  496. CheckParameters(2);
  497. resultdef:=x86_m64type;
  498. end;
  499. in_x86_pmulhuw_mmx_from_mem
  500. ,in_x86_psadbw_mmx_from_mem
  501. ,in_x86_pavgb_mmx_from_mem
  502. ,in_x86_pavgw_mmx_from_mem
  503. ,in_x86_pmaxub_mmx_from_mem
  504. ,in_x86_pminub_mmx_from_mem
  505. ,in_x86_pmaxsw_mmx_from_mem
  506. ,in_x86_pminsw_mmx_from_mem
  507. : //var r0:mm;r1:ptr64;
  508. begin
  509. CheckParameters(2);
  510. resultdef:=x86_m64type;
  511. end;
  512. in_x86_pextrw_mmx
  513. : //out r0:reg;r1:mm;imm:i32;
  514. begin
  515. CheckParameters(2);
  516. resultdef:=uinttype;
  517. end;
  518. in_x86_pinsrw_mmx
  519. : //var r0:mm;r1:reg;imm:i32;
  520. begin
  521. CheckParameters(3);
  522. resultdef:=x86_m64type;
  523. end;
  524. in_x86_pmovmskb_mmx
  525. : //out r0:reg;r1:mm;
  526. begin
  527. CheckParameters(1);
  528. resultdef:=uinttype;
  529. end;
  530. in_x86_pshufw
  531. : //out r0:mm;r1:mm;imm:i32;
  532. begin
  533. CheckParameters(2);
  534. resultdef:=x86_m64type;
  535. end;
  536. in_x86_pshufw_from_mem
  537. : //out r0:mm;r1:ptr64;imm:i32;
  538. begin
  539. CheckParameters(2);
  540. resultdef:=x86_m64type;
  541. end;
  542. in_x86_movmskpd
  543. ,in_x86_movd_to_reg
  544. : //out r0:r32;r1:xmm;
  545. begin
  546. CheckParameters(1);
  547. resultdef:=u32inttype;
  548. end;
  549. in_x86_movsd_to_val
  550. : //out r0:f64;r1:xmm;
  551. begin
  552. CheckParameters(1);
  553. resultdef:=s64floattype;
  554. end;
  555. in_x86_movsd_from_val
  556. : //out r0:xmm;r1:f64;
  557. begin
  558. CheckParameters(1);
  559. resultdef:=x86_m128type;
  560. end;
  561. in_x86_sqrtpd
  562. ,in_x86_sqrtsd
  563. ,in_x86_movddup
  564. ,in_x86_movsldup
  565. ,in_x86_movshdup
  566. ,in_x86_pabsb
  567. ,in_x86_pabsw
  568. ,in_x86_pabsd
  569. ,in_x86_pmovsxbw
  570. ,in_x86_pmovzxbw
  571. ,in_x86_pmovsxbd
  572. ,in_x86_pmovzxbd
  573. ,in_x86_pmovsxbq
  574. ,in_x86_pmovzxbq
  575. ,in_x86_pmovsxwd
  576. ,in_x86_pmovzxwd
  577. ,in_x86_pmovsxwq
  578. ,in_x86_pmovzxwq
  579. ,in_x86_pmovsxdq
  580. ,in_x86_pmovzxdq
  581. : //out r0:xmm;r1:xmm;
  582. begin
  583. CheckParameters(1);
  584. resultdef:=x86_m128type;
  585. end;
  586. in_x86_sqrtsd_from_mem
  587. ,in_x86_movq_from_mem
  588. ,in_x86_movddup_from_mem
  589. ,in_x86_pmovsxbw_from_mem
  590. ,in_x86_pmovzxbw_from_mem
  591. ,in_x86_pmovsxwd_from_mem
  592. ,in_x86_pmovzxwd_from_mem
  593. ,in_x86_pmovsxdq_from_mem
  594. ,in_x86_pmovzxdq_from_mem
  595. : //out r0:xmm;r1:ptr64;
  596. begin
  597. CheckParameters(1);
  598. resultdef:=x86_m128type;
  599. end;
  600. in_x86_cmpsd_from_mem
  601. : //var r0:xmm;r1:ptr64;imm:i32;
  602. begin
  603. CheckParameters(3);
  604. resultdef:=x86_m128type;
  605. end;
  606. in_x86_cvtpd2pi
  607. ,in_x86_cvttpd2pi
  608. : //var r0:mm;r1:xmm;
  609. begin
  610. CheckParameters(2);
  611. resultdef:=x86_m64type;
  612. end;
  613. in_x86_cvtpd2pi_from_mem
  614. ,in_x86_cvttpd2pi_from_mem
  615. : //var r0:mm;r1:ptr128;
  616. begin
  617. CheckParameters(2);
  618. resultdef:=x86_m64type;
  619. end;
  620. in_x86_cvtsd2si
  621. ,in_x86_cvttsd2si
  622. : //var r0:sreg;r1:xmm;
  623. begin
  624. CheckParameters(2);
  625. resultdef:=sinttype;
  626. end;
  627. in_x86_cvtsd2si_from_mem
  628. ,in_x86_cvttsd2si_from_mem
  629. : //var r0:sreg;r1:ptr64;
  630. begin
  631. CheckParameters(2);
  632. resultdef:=sinttype;
  633. end;
  634. in_x86_cvtsi2sd
  635. : //var r0:xmm;r1:r32;
  636. begin
  637. CheckParameters(2);
  638. resultdef:=x86_m128type;
  639. end;
  640. in_x86_movd_from_reg
  641. : //out r0:xmm;r1:r32;
  642. begin
  643. CheckParameters(1);
  644. resultdef:=x86_m128type;
  645. end;
  646. in_x86_pmovmskb
  647. : //var r0:r32;r1:xmm;
  648. begin
  649. CheckParameters(2);
  650. resultdef:=u32inttype;
  651. end;
  652. in_x86_pextrw_sse2
  653. : //out r0:r16;r1:xmm;imm:i32;
  654. begin
  655. CheckParameters(2);
  656. resultdef:=u16inttype;
  657. end;
  658. in_x86_pinsrw_sse2
  659. ,in_x86_pinsrb
  660. ,in_x86_pinsrd
  661. : //var r0:xmm;r1:r32;imm:i32;
  662. begin
  663. CheckParameters(3);
  664. resultdef:=x86_m128type;
  665. end;
  666. in_x86_pinsrw_from_mem
  667. : //var r0:xmm;r1:ptr16;imm:i32;
  668. begin
  669. CheckParameters(3);
  670. resultdef:=x86_m128type;
  671. end;
  672. in_x86_psllw_sse2_imm
  673. ,in_x86_pslld_sse2_imm
  674. ,in_x86_psllq_sse2_imm
  675. ,in_x86_psrad_sse2_imm
  676. ,in_x86_psraw_sse2_imm
  677. ,in_x86_psrlw_sse2_imm
  678. ,in_x86_psrld_sse2_imm
  679. ,in_x86_psrlq_sse2_imm
  680. ,in_x86_pslldq
  681. ,in_x86_psrldq
  682. : //var r0:xmm;imm:i32;
  683. begin
  684. CheckParameters(2);
  685. resultdef:=x86_m128type;
  686. end;
  687. in_x86_maskmovdqu
  688. : //addr:edi_ptr;r0:xmm;r1:xmm;
  689. begin
  690. CheckParameters(3);
  691. resultdef:=voidtype;
  692. end;
  693. in_x86_movq2dq
  694. : //out r0:xmm;r1:mm;
  695. begin
  696. CheckParameters(1);
  697. resultdef:=x86_m128type;
  698. end;
  699. in_x86_pshufhw
  700. ,in_x86_pshuflw
  701. ,in_x86_pshufd
  702. ,in_x86_roundps
  703. ,in_x86_roundss
  704. ,in_x86_roundpd
  705. ,in_x86_roundsd
  706. : //out r0:xmm;r1:xmm;imm:i32;
  707. begin
  708. CheckParameters(2);
  709. resultdef:=x86_m128type;
  710. end;
  711. in_x86_pshufhw_from_mem
  712. ,in_x86_pshuflw_from_mem
  713. ,in_x86_pshufd_from_mem
  714. ,in_x86_roundps_from_mem
  715. ,in_x86_roundpd_from_mem
  716. : //out r0:xmm;r1:ptr128;imm:i32;
  717. begin
  718. CheckParameters(2);
  719. resultdef:=x86_m128type;
  720. end;
  721. in_x86_blendvps
  722. ,in_x86_blendvpd
  723. ,in_x86_pblendvb
  724. : //var r0:xmm;r1:xmm;mask:implicit_xmm0;
  725. begin
  726. CheckParameters(3);
  727. resultdef:=x86_m128type;
  728. end;
  729. in_x86_blendvps_from_mem
  730. ,in_x86_blendvpd_from_mem
  731. ,in_x86_pblendvb_from_mem
  732. : //var r0:xmm;r1:ptr128;mask:implicit_xmm0;
  733. begin
  734. CheckParameters(3);
  735. resultdef:=x86_m128type;
  736. end;
  737. in_x86_roundss_from_mem
  738. : //out r0:xmm;r1:ptr32;imm:i32;
  739. begin
  740. CheckParameters(2);
  741. resultdef:=x86_m128type;
  742. end;
  743. in_x86_roundsd_from_mem
  744. : //out r0:xmm;r1:ptr64;imm:i32;
  745. begin
  746. CheckParameters(2);
  747. resultdef:=x86_m128type;
  748. end;
  749. in_x86_extractps
  750. ,in_x86_pextrd
  751. : //out r0:r32;r1:xmm;imm:i32;
  752. begin
  753. CheckParameters(2);
  754. resultdef:=u32inttype;
  755. end;
  756. in_x86_extractps_from_mem
  757. ,in_x86_pextrd_to_mem
  758. : //r0:ptr32;r1:xmm;imm:i32;
  759. begin
  760. CheckParameters(3);
  761. resultdef:=voidtype;
  762. end;
  763. in_x86_pinsrb_from_mem
  764. : //var r0:xmm;r1:ptr8;imm:i32;
  765. begin
  766. CheckParameters(3);
  767. resultdef:=x86_m128type;
  768. end;
  769. {$ifdef X86_64}
  770. in_x86_pinsrq
  771. : //var r0:xmm;r1:reg;imm:i32;
  772. begin
  773. CheckParameters(3);
  774. resultdef:=x86_m128type;
  775. end;
  776. {$endif}
  777. {$ifdef X86_64}
  778. in_x86_pinsrq_from_mem
  779. : //var r0:xmm;r1:ptr64;imm:i32;
  780. begin
  781. CheckParameters(3);
  782. resultdef:=x86_m128type;
  783. end;
  784. {$endif}
  785. in_x86_pextrb
  786. : //out r0:r8;r1:xmm;imm:i32;
  787. begin
  788. CheckParameters(2);
  789. resultdef:=u8inttype;
  790. end;
  791. in_x86_pextrb_to_mem
  792. : //r0:ptr8;r1:xmm;imm:i32;
  793. begin
  794. CheckParameters(3);
  795. resultdef:=voidtype;
  796. end;
  797. in_x86_pextrw_sse41_to_mem
  798. : //r0:ptr16;r1:xmm;imm:i32;
  799. begin
  800. CheckParameters(3);
  801. resultdef:=voidtype;
  802. end;
  803. {$ifdef X86_64}
  804. in_x86_pextrq
  805. : //out r0:r32;r1:xmm;imm:i32;
  806. begin
  807. CheckParameters(2);
  808. resultdef:=u32inttype;
  809. end;
  810. {$endif}
  811. {$ifdef X86_64}
  812. in_x86_pextrq_to_mem
  813. : //r0:ptr64;r1:xmm;imm:i32;
  814. begin
  815. CheckParameters(3);
  816. resultdef:=voidtype;
  817. end;
  818. {$endif}
  819. in_x86_pmovsxbq_from_mem
  820. ,in_x86_pmovzxbq_from_mem
  821. : //out r0:xmm;r1:ptr16;
  822. begin
  823. CheckParameters(1);
  824. resultdef:=x86_m128type;
  825. end;