armtype.inc 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. {
  2. Do not edit file manually!
  3. File is created automatically from armintr.dat by mkarminl.
  4. }
  5. in_arm_nop
  6. ,in_arm_yield
  7. ,in_arm_wfi
  8. ,in_arm_wfe
  9. ,in_arm_sev
  10. ,in_arm_clrex
  11. : //
  12. begin
  13. CheckParameters(0);
  14. resultdef:=voidtype;
  15. end;
  16. in_arm_setend
  17. : //endian:i32;
  18. begin
  19. CheckParameters(1);
  20. resultdef:=voidtype;
  21. end;
  22. in_arm_ldrex
  23. ,in_arm_ldrexb
  24. ,in_arm_ldrexh
  25. : //out rt:r32;ref:ptr32;
  26. begin
  27. CheckParameters(1);
  28. resultdef:=u32inttype;
  29. end;
  30. in_arm_strex
  31. ,in_arm_strexb
  32. ,in_arm_strexh
  33. : //out rd:r32;rt:r32;ref:ptr32;
  34. begin
  35. CheckParameters(2);
  36. resultdef:=u32inttype;
  37. end;
  38. in_arm_bfi
  39. : //var rd:r32;rn:r32;lsb:i32;msb:i32;
  40. begin
  41. CheckParameters(4);
  42. resultdef:=u32inttype;
  43. end;
  44. in_arm_bfc
  45. : //var rd:r32;lsb:i32;msb:i32;
  46. begin
  47. CheckParameters(3);
  48. resultdef:=u32inttype;
  49. end;
  50. in_arm_smmul
  51. ,in_arm_smuad
  52. ,in_arm_smuadx
  53. ,in_arm_smulbb
  54. ,in_arm_smulbt
  55. ,in_arm_smultb
  56. ,in_arm_smultt
  57. ,in_arm_smulwb
  58. ,in_arm_smulwt
  59. ,in_arm_smusd
  60. ,in_arm_smusdx
  61. ,in_arm_pkhbt
  62. ,in_arm_pkhtb
  63. : //out rd:r32;rn:r32;rm:r32;
  64. begin
  65. CheckParameters(2);
  66. resultdef:=u32inttype;
  67. end;
  68. in_arm_mla
  69. ,in_arm_mls
  70. ,in_arm_smlabb
  71. ,in_arm_smlabt
  72. ,in_arm_smlatb
  73. ,in_arm_smlatt
  74. ,in_arm_smlad
  75. ,in_arm_smladx
  76. ,in_arm_smlawb
  77. ,in_arm_smlawt
  78. ,in_arm_smlsd
  79. ,in_arm_smlsdx
  80. ,in_arm_smmla
  81. ,in_arm_smmlar
  82. ,in_arm_smmls
  83. ,in_arm_smmlsr
  84. ,in_arm_usada8
  85. : //out rd:r32;rn:r32;rm:r32;ra:r32;
  86. begin
  87. CheckParameters(3);
  88. resultdef:=u32inttype;
  89. end;
  90. in_arm_smull
  91. : //out ro:rs64;rn:r32;rm:r32;
  92. begin
  93. CheckParameters(2);
  94. resultdef:=s64inttype;
  95. end;
  96. in_arm_umull
  97. : //out ro:r64;rn:r32;rm:r32;
  98. begin
  99. CheckParameters(2);
  100. resultdef:=u64inttype;
  101. end;
  102. in_arm_smlal
  103. ,in_arm_smlalbb
  104. ,in_arm_smlalbt
  105. ,in_arm_smlaltb
  106. ,in_arm_smlaltt
  107. ,in_arm_smlald
  108. ,in_arm_smlaldx
  109. ,in_arm_smlsldx
  110. ,in_arm_umlal
  111. : //var rd:r64;rn:r32;rm:r32;
  112. begin
  113. CheckParameters(3);
  114. resultdef:=u64inttype;
  115. end;
  116. in_arm_umaal
  117. : //out rl-rh:r64;rl:r32;rh:r32;rn:r32;rm:r32;
  118. begin
  119. CheckParameters(4);
  120. resultdef:=u64inttype;
  121. end;
  122. in_arm_pkhbt_shift
  123. : //out rd:r32;rn:r32;rm:r32;ls:lsl5;
  124. begin
  125. CheckParameters(3);
  126. resultdef:=u32inttype;
  127. end;
  128. in_arm_pkhtb_shift
  129. : //out rd:r32;rn:r32;rm:r32;rs:asr5;
  130. begin
  131. CheckParameters(3);
  132. resultdef:=u32inttype;
  133. end;
  134. in_arm_qadd
  135. ,in_arm_qadd16
  136. ,in_arm_qadd8
  137. ,in_arm_qasx
  138. ,in_arm_qdadd
  139. ,in_arm_qdsub
  140. ,in_arm_qsax
  141. ,in_arm_qsub
  142. ,in_arm_qsub16
  143. ,in_arm_qsub8
  144. ,in_arm_sadd16
  145. ,in_arm_sadd8
  146. ,in_arm_sasx
  147. ,in_arm_shadd16
  148. ,in_arm_shadd8
  149. ,in_arm_shasx
  150. ,in_arm_shsax
  151. ,in_arm_shsub16
  152. ,in_arm_shsub8
  153. ,in_arm_ssax
  154. ,in_arm_ssub16
  155. ,in_arm_ssub8
  156. ,in_arm_uadd16
  157. ,in_arm_uadd8
  158. ,in_arm_uasx
  159. ,in_arm_uhadd16
  160. ,in_arm_uhadd8
  161. ,in_arm_uhasx
  162. ,in_arm_uhsax
  163. ,in_arm_uhsub16
  164. ,in_arm_uhsub8
  165. ,in_arm_uqadd16
  166. ,in_arm_uqadd8
  167. ,in_arm_uqasx
  168. ,in_arm_uqsax
  169. ,in_arm_uqsub16
  170. ,in_arm_uqsub8
  171. ,in_arm_usax
  172. ,in_arm_usub16
  173. ,in_arm_usub8
  174. ,in_arm_usad8
  175. ,in_arm_sxtab
  176. ,in_arm_sxtab16
  177. ,in_arm_sxtah
  178. ,in_arm_uxtab
  179. ,in_arm_uxtab16
  180. ,in_arm_uxtah
  181. : //out rd:r32;rm:r32;rn:r32;
  182. begin
  183. CheckParameters(2);
  184. resultdef:=u32inttype;
  185. end;
  186. in_arm_sxtab_ror
  187. ,in_arm_sxtab16_ror
  188. ,in_arm_sxtah_ror
  189. ,in_arm_uxtab_ror
  190. ,in_arm_uxtab16_ror
  191. ,in_arm_uxtah_ror
  192. : //out rd:r32;rm:r32;rn:r32;ror:ror3;
  193. begin
  194. CheckParameters(3);
  195. resultdef:=u32inttype;
  196. end;
  197. in_arm_sxtb
  198. ,in_arm_sxtb16
  199. ,in_arm_sxth
  200. ,in_arm_uxtb
  201. ,in_arm_uxtb16
  202. ,in_arm_uxth
  203. ,in_arm_clz
  204. ,in_arm_rbit
  205. ,in_arm_rev
  206. ,in_arm_rev16
  207. ,in_arm_revsh
  208. : //out rd:r32;rm:r32;
  209. begin
  210. CheckParameters(1);
  211. resultdef:=u32inttype;
  212. end;
  213. in_arm_sxtb_ror
  214. ,in_arm_sxtb16_ror
  215. ,in_arm_sxth_ror
  216. ,in_arm_uxtb_ror
  217. ,in_arm_uxtb16_ror
  218. ,in_arm_uxth_ror
  219. : //out rd:r32;rm:r32;ror:ror3;
  220. begin
  221. CheckParameters(2);
  222. resultdef:=u32inttype;
  223. end;
  224. in_arm_sbfx
  225. ,in_arm_ubfx
  226. : //out rd:r32;rn:r32;lsb:i32;width:i32;
  227. begin
  228. CheckParameters(3);
  229. resultdef:=u32inttype;
  230. end;
  231. in_arm_ssat
  232. ,in_arm_usat
  233. ,in_arm_ssat16
  234. ,in_arm_usat16
  235. : //out rd:r32;sat:i32;rn:r32;
  236. begin
  237. CheckParameters(2);
  238. resultdef:=u32inttype;
  239. end;