regflags.c 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249
  1. /* automatically generated from ./x86/regs.dat - do not edit */
  2. #include "tables.h"
  3. #include "nasm.h"
  4. const opflags_t nasm_reg_flags[] = {
  5. 0,
  6. REG_HIGH, /* ah */
  7. REG_AL, /* al */
  8. REG_AX, /* ax */
  9. REG_HIGH, /* bh */
  10. REG8NA, /* bl */
  11. BNDREG, /* bnd0 */
  12. BNDREG, /* bnd1 */
  13. BNDREG, /* bnd2 */
  14. BNDREG, /* bnd3 */
  15. REG16NA, /* bp */
  16. REG8NA, /* bpl */
  17. REG16NA, /* bx */
  18. REG_HIGH, /* ch */
  19. REG_CL, /* cl */
  20. REG_CREG, /* cr0 */
  21. REG_CREG, /* cr1 */
  22. REG_CREG, /* cr10 */
  23. REG_CREG, /* cr11 */
  24. REG_CREG, /* cr12 */
  25. REG_CREG, /* cr13 */
  26. REG_CREG, /* cr14 */
  27. REG_CREG, /* cr15 */
  28. REG_CREG, /* cr2 */
  29. REG_CREG, /* cr3 */
  30. REG_CREG, /* cr4 */
  31. REG_CREG, /* cr5 */
  32. REG_CREG, /* cr6 */
  33. REG_CREG, /* cr7 */
  34. REG_CREG, /* cr8 */
  35. REG_CREG, /* cr9 */
  36. REG_CS, /* cs */
  37. REG_CX, /* cx */
  38. REG_HIGH, /* dh */
  39. REG16NA, /* di */
  40. REG8NA, /* dil */
  41. REG_DL, /* dl */
  42. REG_DREG, /* dr0 */
  43. REG_DREG, /* dr1 */
  44. REG_DREG, /* dr10 */
  45. REG_DREG, /* dr11 */
  46. REG_DREG, /* dr12 */
  47. REG_DREG, /* dr13 */
  48. REG_DREG, /* dr14 */
  49. REG_DREG, /* dr15 */
  50. REG_DREG, /* dr2 */
  51. REG_DREG, /* dr3 */
  52. REG_DREG, /* dr4 */
  53. REG_DREG, /* dr5 */
  54. REG_DREG, /* dr6 */
  55. REG_DREG, /* dr7 */
  56. REG_DREG, /* dr8 */
  57. REG_DREG, /* dr9 */
  58. REG_DS, /* ds */
  59. REG_DX, /* dx */
  60. REG_EAX, /* eax */
  61. REG32NA, /* ebp */
  62. REG32NA, /* ebx */
  63. REG_ECX, /* ecx */
  64. REG32NA, /* edi */
  65. REG_EDX, /* edx */
  66. REG_ES, /* es */
  67. REG32NA, /* esi */
  68. REG32NA, /* esp */
  69. REG_FS, /* fs */
  70. REG_GS, /* gs */
  71. OPMASK0, /* k0 */
  72. OPMASKREG, /* k1 */
  73. OPMASKREG, /* k2 */
  74. OPMASKREG, /* k3 */
  75. OPMASKREG, /* k4 */
  76. OPMASKREG, /* k5 */
  77. OPMASKREG, /* k6 */
  78. OPMASKREG, /* k7 */
  79. MMXREG, /* mm0 */
  80. MMXREG, /* mm1 */
  81. MMXREG, /* mm2 */
  82. MMXREG, /* mm3 */
  83. MMXREG, /* mm4 */
  84. MMXREG, /* mm5 */
  85. MMXREG, /* mm6 */
  86. MMXREG, /* mm7 */
  87. REG64NA, /* r10 */
  88. REG8NA, /* r10b */
  89. REG32NA, /* r10d */
  90. REG16NA, /* r10w */
  91. REG64NA, /* r11 */
  92. REG8NA, /* r11b */
  93. REG32NA, /* r11d */
  94. REG16NA, /* r11w */
  95. REG64NA, /* r12 */
  96. REG8NA, /* r12b */
  97. REG32NA, /* r12d */
  98. REG16NA, /* r12w */
  99. REG64NA, /* r13 */
  100. REG8NA, /* r13b */
  101. REG32NA, /* r13d */
  102. REG16NA, /* r13w */
  103. REG64NA, /* r14 */
  104. REG8NA, /* r14b */
  105. REG32NA, /* r14d */
  106. REG16NA, /* r14w */
  107. REG64NA, /* r15 */
  108. REG8NA, /* r15b */
  109. REG32NA, /* r15d */
  110. REG16NA, /* r15w */
  111. REG64NA, /* r8 */
  112. REG8NA, /* r8b */
  113. REG32NA, /* r8d */
  114. REG16NA, /* r8w */
  115. REG64NA, /* r9 */
  116. REG8NA, /* r9b */
  117. REG32NA, /* r9d */
  118. REG16NA, /* r9w */
  119. REG_RAX, /* rax */
  120. REG64NA, /* rbp */
  121. REG64NA, /* rbx */
  122. REG_RCX, /* rcx */
  123. REG64NA, /* rdi */
  124. REG_RDX, /* rdx */
  125. REG64NA, /* rsi */
  126. REG64NA, /* rsp */
  127. REG_SEG67, /* segr6 */
  128. REG_SEG67, /* segr7 */
  129. REG16NA, /* si */
  130. REG8NA, /* sil */
  131. REG16NA, /* sp */
  132. REG8NA, /* spl */
  133. REG_SS, /* ss */
  134. FPU0, /* st0 */
  135. FPUREG, /* st1 */
  136. FPUREG, /* st2 */
  137. FPUREG, /* st3 */
  138. FPUREG, /* st4 */
  139. FPUREG, /* st5 */
  140. FPUREG, /* st6 */
  141. FPUREG, /* st7 */
  142. REG_TREG, /* tr0 */
  143. REG_TREG, /* tr1 */
  144. REG_TREG, /* tr2 */
  145. REG_TREG, /* tr3 */
  146. REG_TREG, /* tr4 */
  147. REG_TREG, /* tr5 */
  148. REG_TREG, /* tr6 */
  149. REG_TREG, /* tr7 */
  150. XMM0, /* xmm0 */
  151. XMM_L16, /* xmm1 */
  152. XMM_L16, /* xmm10 */
  153. XMM_L16, /* xmm11 */
  154. XMM_L16, /* xmm12 */
  155. XMM_L16, /* xmm13 */
  156. XMM_L16, /* xmm14 */
  157. XMM_L16, /* xmm15 */
  158. XMMREG, /* xmm16 */
  159. XMMREG, /* xmm17 */
  160. XMMREG, /* xmm18 */
  161. XMMREG, /* xmm19 */
  162. XMM_L16, /* xmm2 */
  163. XMMREG, /* xmm20 */
  164. XMMREG, /* xmm21 */
  165. XMMREG, /* xmm22 */
  166. XMMREG, /* xmm23 */
  167. XMMREG, /* xmm24 */
  168. XMMREG, /* xmm25 */
  169. XMMREG, /* xmm26 */
  170. XMMREG, /* xmm27 */
  171. XMMREG, /* xmm28 */
  172. XMMREG, /* xmm29 */
  173. XMM_L16, /* xmm3 */
  174. XMMREG, /* xmm30 */
  175. XMMREG, /* xmm31 */
  176. XMM_L16, /* xmm4 */
  177. XMM_L16, /* xmm5 */
  178. XMM_L16, /* xmm6 */
  179. XMM_L16, /* xmm7 */
  180. XMM_L16, /* xmm8 */
  181. XMM_L16, /* xmm9 */
  182. YMM0, /* ymm0 */
  183. YMM_L16, /* ymm1 */
  184. YMM_L16, /* ymm10 */
  185. YMM_L16, /* ymm11 */
  186. YMM_L16, /* ymm12 */
  187. YMM_L16, /* ymm13 */
  188. YMM_L16, /* ymm14 */
  189. YMM_L16, /* ymm15 */
  190. YMMREG, /* ymm16 */
  191. YMMREG, /* ymm17 */
  192. YMMREG, /* ymm18 */
  193. YMMREG, /* ymm19 */
  194. YMM_L16, /* ymm2 */
  195. YMMREG, /* ymm20 */
  196. YMMREG, /* ymm21 */
  197. YMMREG, /* ymm22 */
  198. YMMREG, /* ymm23 */
  199. YMMREG, /* ymm24 */
  200. YMMREG, /* ymm25 */
  201. YMMREG, /* ymm26 */
  202. YMMREG, /* ymm27 */
  203. YMMREG, /* ymm28 */
  204. YMMREG, /* ymm29 */
  205. YMM_L16, /* ymm3 */
  206. YMMREG, /* ymm30 */
  207. YMMREG, /* ymm31 */
  208. YMM_L16, /* ymm4 */
  209. YMM_L16, /* ymm5 */
  210. YMM_L16, /* ymm6 */
  211. YMM_L16, /* ymm7 */
  212. YMM_L16, /* ymm8 */
  213. YMM_L16, /* ymm9 */
  214. ZMM0, /* zmm0 */
  215. ZMM_L16, /* zmm1 */
  216. ZMM_L16, /* zmm10 */
  217. ZMM_L16, /* zmm11 */
  218. ZMM_L16, /* zmm12 */
  219. ZMM_L16, /* zmm13 */
  220. ZMM_L16, /* zmm14 */
  221. ZMM_L16, /* zmm15 */
  222. ZMMREG, /* zmm16 */
  223. ZMMREG, /* zmm17 */
  224. ZMMREG, /* zmm18 */
  225. ZMMREG, /* zmm19 */
  226. ZMM_L16, /* zmm2 */
  227. ZMMREG, /* zmm20 */
  228. ZMMREG, /* zmm21 */
  229. ZMMREG, /* zmm22 */
  230. ZMMREG, /* zmm23 */
  231. ZMMREG, /* zmm24 */
  232. ZMMREG, /* zmm25 */
  233. ZMMREG, /* zmm26 */
  234. ZMMREG, /* zmm27 */
  235. ZMMREG, /* zmm28 */
  236. ZMMREG, /* zmm29 */
  237. ZMM_L16, /* zmm3 */
  238. ZMMREG, /* zmm30 */
  239. ZMMREG, /* zmm31 */
  240. ZMM_L16, /* zmm4 */
  241. ZMM_L16, /* zmm5 */
  242. ZMM_L16, /* zmm6 */
  243. ZMM_L16, /* zmm7 */
  244. ZMM_L16, /* zmm8 */
  245. ZMM_L16, /* zmm9 */
  246. };