x86mmtype.inc 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. in_x86_movss
  2. ,in_x86_movaps
  3. ,in_x86_movups
  4. : //out r0:xmm;r1:ptr32;
  5. begin
  6. CheckParameters(1);
  7. resultdef:=x86_m128type;
  8. end;
  9. in_x86_movss_to_mem
  10. ,in_x86_movaps_to_mem
  11. ,in_x86_movups_to_mem
  12. : //r0:ptr32;r1:xmm;
  13. begin
  14. CheckParameters(2);
  15. resultdef:=voidtype;
  16. end;
  17. in_x86_movss_to_val
  18. : //out r0:f32;r1:xmm;
  19. begin
  20. CheckParameters(1);
  21. resultdef:=s32floattype;
  22. end;
  23. in_x86_movss_from_val
  24. : //out r0:xmm;r1:f32;
  25. begin
  26. CheckParameters(1);
  27. resultdef:=x86_m128type;
  28. end;
  29. in_x86_movlps
  30. ,in_x86_movhps
  31. : //var r0:xmm;r1:ptr32;
  32. begin
  33. CheckParameters(2);
  34. resultdef:=x86_m128type;
  35. end;
  36. in_x86_movlhps
  37. ,in_x86_movhlps
  38. ,in_x86_addss
  39. ,in_x86_subss
  40. ,in_x86_mulss
  41. ,in_x86_divss
  42. ,in_x86_rcpss
  43. ,in_x86_sqrtss
  44. ,in_x86_maxss
  45. ,in_x86_minss
  46. ,in_x86_rsqrtss
  47. ,in_x86_addps
  48. ,in_x86_subps
  49. ,in_x86_mulps
  50. ,in_x86_divps
  51. ,in_x86_rcpps
  52. ,in_x86_sqrtps
  53. ,in_x86_maxps
  54. ,in_x86_minps
  55. ,in_x86_rsqrtps
  56. ,in_x86_andps
  57. ,in_x86_orps
  58. ,in_x86_xorps
  59. ,in_x86_andnps
  60. ,in_x86_unpckhps
  61. ,in_x86_unpcklps
  62. ,in_x86_pmulhuw
  63. ,in_x86_psadbw
  64. ,in_x86_pavgb
  65. ,in_x86_pavgw
  66. ,in_x86_pmaxub
  67. ,in_x86_pminub
  68. ,in_x86_pmaxsw
  69. ,in_x86_pminsw
  70. : //var r0:xmm;r1:xmm;
  71. begin
  72. CheckParameters(2);
  73. resultdef:=x86_m128type;
  74. end;
  75. in_x86_cmpss
  76. ,in_x86_cmpps
  77. ,in_x86_shufps
  78. : //var r0:xmm;r1:xmm;imm:i32;
  79. begin
  80. CheckParameters(3);
  81. resultdef:=x86_m128type;
  82. end;
  83. in_x86_cvtsi2ss
  84. : //var r0:xmm;r1:r32;
  85. begin
  86. CheckParameters(2);
  87. resultdef:=x86_m128type;
  88. end;
  89. in_x86_cvtss2si
  90. ,in_x86_cvttss2si
  91. : //out r0:r32;r1:xmm;
  92. begin
  93. CheckParameters(1);
  94. resultdef:=u32inttype;
  95. end;
  96. in_x86_cvtpi2ps
  97. : //var r0:xmm;r1:mm;
  98. begin
  99. CheckParameters(2);
  100. resultdef:=x86_m128type;
  101. end;
  102. in_x86_cvtps2pi
  103. ,in_x86_cvttps2pi
  104. : //out r0:mm;r1:xmm;
  105. begin
  106. CheckParameters(1);
  107. resultdef:=x86_m64type;
  108. end;
  109. in_x86_pmulhuw_mmx
  110. ,in_x86_psadbw_mmx
  111. ,in_x86_pavgb_mmx
  112. ,in_x86_pavgw_mmx
  113. ,in_x86_pmaxub_mmx
  114. ,in_x86_pminub_mmx
  115. ,in_x86_pmaxsw_mmx
  116. ,in_x86_pminsw_mmx
  117. : //var r0:mm;r1:mm;
  118. begin
  119. CheckParameters(2);
  120. resultdef:=x86_m64type;
  121. end;
  122. in_x86_pextrw_mmx
  123. : //out r0:r32;r1:mm;imm:i32;
  124. begin
  125. CheckParameters(2);
  126. resultdef:=u32inttype;
  127. end;
  128. in_x86_pinsrw_mmx
  129. : //var r0:mm;r1:r32;imm:i32;
  130. begin
  131. CheckParameters(3);
  132. resultdef:=x86_m64type;
  133. end;
  134. in_x86_pmovmskb
  135. : //out r0:r32;r1:mm;
  136. begin
  137. CheckParameters(1);
  138. resultdef:=u32inttype;
  139. end;
  140. in_x86_pshufw
  141. : //out r0:mm;r1:mm;imm:i32;
  142. begin
  143. CheckParameters(2);
  144. resultdef:=x86_m64type;
  145. end;
  146. in_x86_pextrw
  147. : //out r0:r32;r1:xmm;imm:i32;
  148. begin
  149. CheckParameters(2);
  150. resultdef:=u32inttype;
  151. end;
  152. in_x86_pinsrw
  153. : //var r0:xmm;r1:r32;imm:i32;
  154. begin
  155. CheckParameters(3);
  156. resultdef:=x86_m128type;
  157. end;