nios2r2.h 48 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082
  1. /* Nios II R2 opcode list for GAS, the GNU assembler.
  2. Copyright (C) 2013-2015 Free Software Foundation, Inc.
  3. Contributed by Mentor Graphics, Inc.
  4. This file is part of GAS, the GNU Assembler, and GDB, the GNU disassembler.
  5. GAS/GDB is free software; you can redistribute it and/or modify
  6. it under the terms of the GNU General Public License as published by
  7. the Free Software Foundation; either version 3, or (at your option)
  8. any later version.
  9. GAS/GDB is distributed in the hope that it will be useful,
  10. but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. GNU General Public License for more details.
  13. You should have received a copy of the GNU General Public License
  14. along with GAS or GDB; see the file COPYING3. If not, write to
  15. the Free Software Foundation, 51 Franklin Street - Fifth Floor,
  16. Boston, MA 02110-1301, USA. */
  17. #ifndef _NIOS2R2_H_
  18. #define _NIOS2R2_H_
  19. /* Fields for 32-bit R2 instructions. */
  20. #define IW_R2_OP_LSB 0
  21. #define IW_R2_OP_SIZE 6
  22. #define IW_R2_OP_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_R2_OP_SIZE))
  23. #define IW_R2_OP_SHIFTED_MASK (IW_R2_OP_UNSHIFTED_MASK << IW_R2_OP_LSB)
  24. #define GET_IW_R2_OP(W) (((W) >> IW_R2_OP_LSB) & IW_R2_OP_UNSHIFTED_MASK)
  25. #define SET_IW_R2_OP(V) (((V) & IW_R2_OP_UNSHIFTED_MASK) << IW_R2_OP_LSB)
  26. #define IW_L26_IMM26_LSB 6
  27. #define IW_L26_IMM26_SIZE 26
  28. #define IW_L26_IMM26_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_L26_IMM26_SIZE))
  29. #define IW_L26_IMM26_SHIFTED_MASK (IW_L26_IMM26_UNSHIFTED_MASK << IW_L26_IMM26_LSB)
  30. #define GET_IW_L26_IMM26(W) (((W) >> IW_L26_IMM26_LSB) & IW_L26_IMM26_UNSHIFTED_MASK)
  31. #define SET_IW_L26_IMM26(V) (((V) & IW_L26_IMM26_UNSHIFTED_MASK) << IW_L26_IMM26_LSB)
  32. #define IW_F2I16_A_LSB 6
  33. #define IW_F2I16_A_SIZE 5
  34. #define IW_F2I16_A_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_F2I16_A_SIZE))
  35. #define IW_F2I16_A_SHIFTED_MASK (IW_F2I16_A_UNSHIFTED_MASK << IW_F2I16_A_LSB)
  36. #define GET_IW_F2I16_A(W) (((W) >> IW_F2I16_A_LSB) & IW_F2I16_A_UNSHIFTED_MASK)
  37. #define SET_IW_F2I16_A(V) (((V) & IW_F2I16_A_UNSHIFTED_MASK) << IW_F2I16_A_LSB)
  38. #define IW_F2I16_B_LSB 11
  39. #define IW_F2I16_B_SIZE 5
  40. #define IW_F2I16_B_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_F2I16_B_SIZE))
  41. #define IW_F2I16_B_SHIFTED_MASK (IW_F2I16_B_UNSHIFTED_MASK << IW_F2I16_B_LSB)
  42. #define GET_IW_F2I16_B(W) (((W) >> IW_F2I16_B_LSB) & IW_F2I16_B_UNSHIFTED_MASK)
  43. #define SET_IW_F2I16_B(V) (((V) & IW_F2I16_B_UNSHIFTED_MASK) << IW_F2I16_B_LSB)
  44. #define IW_F2I16_IMM16_LSB 16
  45. #define IW_F2I16_IMM16_SIZE 16
  46. #define IW_F2I16_IMM16_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_F2I16_IMM16_SIZE))
  47. #define IW_F2I16_IMM16_SHIFTED_MASK (IW_F2I16_IMM16_UNSHIFTED_MASK << IW_F2I16_IMM16_LSB)
  48. #define GET_IW_F2I16_IMM16(W) (((W) >> IW_F2I16_IMM16_LSB) & IW_F2I16_IMM16_UNSHIFTED_MASK)
  49. #define SET_IW_F2I16_IMM16(V) (((V) & IW_F2I16_IMM16_UNSHIFTED_MASK) << IW_F2I16_IMM16_LSB)
  50. /* Common to all three I12-group formats F2X4I12, F1X4I12, F1X4L17. */
  51. #define IW_I12_X_LSB 28
  52. #define IW_I12_X_SIZE 4
  53. #define IW_I12_X_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_I12_X_SIZE))
  54. #define IW_I12_X_SHIFTED_MASK (IW_I12_X_UNSHIFTED_MASK << IW_I12_X_LSB)
  55. #define GET_IW_I12_X(W) (((W) >> IW_I12_X_LSB) & IW_I12_X_UNSHIFTED_MASK)
  56. #define SET_IW_I12_X(V) (((V) & IW_I12_X_UNSHIFTED_MASK) << IW_I12_X_LSB)
  57. #define IW_F2X4I12_A_LSB 6
  58. #define IW_F2X4I12_A_SIZE 5
  59. #define IW_F2X4I12_A_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_F2X4I12_A_SIZE))
  60. #define IW_F2X4I12_A_SHIFTED_MASK (IW_F2X4I12_A_UNSHIFTED_MASK << IW_F2X4I12_A_LSB)
  61. #define GET_IW_F2X4I12_A(W) (((W) >> IW_F2X4I12_A_LSB) & IW_F2X4I12_A_UNSHIFTED_MASK)
  62. #define SET_IW_F2X4I12_A(V) (((V) & IW_F2X4I12_A_UNSHIFTED_MASK) << IW_F2X4I12_A_LSB)
  63. #define IW_F2X4I12_B_LSB 11
  64. #define IW_F2X4I12_B_SIZE 5
  65. #define IW_F2X4I12_B_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_F2X4I12_B_SIZE))
  66. #define IW_F2X4I12_B_SHIFTED_MASK (IW_F2X4I12_B_UNSHIFTED_MASK << IW_F2X4I12_B_LSB)
  67. #define GET_IW_F2X4I12_B(W) (((W) >> IW_F2X4I12_B_LSB) & IW_F2X4I12_B_UNSHIFTED_MASK)
  68. #define SET_IW_F2X4I12_B(V) (((V) & IW_F2X4I12_B_UNSHIFTED_MASK) << IW_F2X4I12_B_LSB)
  69. #define IW_F2X4I12_IMM12_LSB 16
  70. #define IW_F2X4I12_IMM12_SIZE 12
  71. #define IW_F2X4I12_IMM12_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_F2X4I12_IMM12_SIZE))
  72. #define IW_F2X4I12_IMM12_SHIFTED_MASK (IW_F2X4I12_IMM12_UNSHIFTED_MASK << IW_F2X4I12_IMM12_LSB)
  73. #define GET_IW_F2X4I12_IMM12(W) (((W) >> IW_F2X4I12_IMM12_LSB) & IW_F2X4I12_IMM12_UNSHIFTED_MASK)
  74. #define SET_IW_F2X4I12_IMM12(V) (((V) & IW_F2X4I12_IMM12_UNSHIFTED_MASK) << IW_F2X4I12_IMM12_LSB)
  75. #define IW_F1X4I12_A_LSB 6
  76. #define IW_F1X4I12_A_SIZE 5
  77. #define IW_F1X4I12_A_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_F1X4I12_A_SIZE))
  78. #define IW_F1X4I12_A_SHIFTED_MASK (IW_F1X4I12_A_UNSHIFTED_MASK << IW_F1X4I12_A_LSB)
  79. #define GET_IW_F1X4I12_A(W) (((W) >> IW_F1X4I12_A_LSB) & IW_F1X4I12_A_UNSHIFTED_MASK)
  80. #define SET_IW_F1X4I12_A(V) (((V) & IW_F1X4I12_A_UNSHIFTED_MASK) << IW_F1X4I12_A_LSB)
  81. #define IW_F1X4I12_X_LSB 11
  82. #define IW_F1X4I12_X_SIZE 5
  83. #define IW_F1X4I12_X_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_F1X4I12_X_SIZE))
  84. #define IW_F1X4I12_X_SHIFTED_MASK (IW_F1X4I12_X_UNSHIFTED_MASK << IW_F1X4I12_X_LSB)
  85. #define GET_IW_F1X4I12_X(W) (((W) >> IW_F1X4I12_X_LSB) & IW_F1X4I12_X_UNSHIFTED_MASK)
  86. #define SET_IW_F1X4I12_X(V) (((V) & IW_F1X4I12_X_UNSHIFTED_MASK) << IW_F1X4I12_X_LSB)
  87. #define IW_F1X4I12_IMM12_LSB 16
  88. #define IW_F1X4I12_IMM12_SIZE 12
  89. #define IW_F1X4I12_IMM12_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_F1X4I12_IMM12_SIZE))
  90. #define IW_F1X4I12_IMM12_SHIFTED_MASK (IW_F1X4I12_IMM12_UNSHIFTED_MASK << IW_F1X4I12_IMM12_LSB)
  91. #define GET_IW_F1X4I12_IMM12(W) (((W) >> IW_F1X4I12_IMM12_LSB) & IW_F1X4I12_IMM12_UNSHIFTED_MASK)
  92. #define SET_IW_F1X4I12_IMM12(V) (((V) & IW_F1X4I12_IMM12_UNSHIFTED_MASK) << IW_F1X4I12_IMM12_LSB)
  93. #define IW_F1X4L17_A_LSB 6
  94. #define IW_F1X4L17_A_SIZE 5
  95. #define IW_F1X4L17_A_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_F1X4L17_A_SIZE))
  96. #define IW_F1X4L17_A_SHIFTED_MASK (IW_F1X4L17_A_UNSHIFTED_MASK << IW_F1X4L17_A_LSB)
  97. #define GET_IW_F1X4L17_A(W) (((W) >> IW_F1X4L17_A_LSB) & IW_F1X4L17_A_UNSHIFTED_MASK)
  98. #define SET_IW_F1X4L17_A(V) (((V) & IW_F1X4L17_A_UNSHIFTED_MASK) << IW_F1X4L17_A_LSB)
  99. #define IW_F1X4L17_ID_LSB 11
  100. #define IW_F1X4L17_ID_SIZE 1
  101. #define IW_F1X4L17_ID_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_F1X4L17_ID_SIZE))
  102. #define IW_F1X4L17_ID_SHIFTED_MASK (IW_F1X4L17_ID_UNSHIFTED_MASK << IW_F1X4L17_ID_LSB)
  103. #define GET_IW_F1X4L17_ID(W) (((W) >> IW_F1X4L17_ID_LSB) & IW_F1X4L17_ID_UNSHIFTED_MASK)
  104. #define SET_IW_F1X4L17_ID(V) (((V) & IW_F1X4L17_ID_UNSHIFTED_MASK) << IW_F1X4L17_ID_LSB)
  105. #define IW_F1X4L17_WB_LSB 12
  106. #define IW_F1X4L17_WB_SIZE 1
  107. #define IW_F1X4L17_WB_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_F1X4L17_WB_SIZE))
  108. #define IW_F1X4L17_WB_SHIFTED_MASK (IW_F1X4L17_WB_UNSHIFTED_MASK << IW_F1X4L17_WB_LSB)
  109. #define GET_IW_F1X4L17_WB(W) (((W) >> IW_F1X4L17_WB_LSB) & IW_F1X4L17_WB_UNSHIFTED_MASK)
  110. #define SET_IW_F1X4L17_WB(V) (((V) & IW_F1X4L17_WB_UNSHIFTED_MASK) << IW_F1X4L17_WB_LSB)
  111. #define IW_F1X4L17_RS_LSB 13
  112. #define IW_F1X4L17_RS_SIZE 1
  113. #define IW_F1X4L17_RS_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_F1X4L17_RS_SIZE))
  114. #define IW_F1X4L17_RS_SHIFTED_MASK (IW_F1X4L17_RS_UNSHIFTED_MASK << IW_F1X4L17_RS_LSB)
  115. #define GET_IW_F1X4L17_RS(W) (((W) >> IW_F1X4L17_RS_LSB) & IW_F1X4L17_RS_UNSHIFTED_MASK)
  116. #define SET_IW_F1X4L17_RS(V) (((V) & IW_F1X4L17_RS_UNSHIFTED_MASK) << IW_F1X4L17_RS_LSB)
  117. #define IW_F1X4L17_PC_LSB 14
  118. #define IW_F1X4L17_PC_SIZE 1
  119. #define IW_F1X4L17_PC_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_F1X4L17_PC_SIZE))
  120. #define IW_F1X4L17_PC_SHIFTED_MASK (IW_F1X4L17_PC_UNSHIFTED_MASK << IW_F1X4L17_PC_LSB)
  121. #define GET_IW_F1X4L17_PC(W) (((W) >> IW_F1X4L17_PC_LSB) & IW_F1X4L17_PC_UNSHIFTED_MASK)
  122. #define SET_IW_F1X4L17_PC(V) (((V) & IW_F1X4L17_PC_UNSHIFTED_MASK) << IW_F1X4L17_PC_LSB)
  123. #define IW_F1X4L17_RSV_LSB 15
  124. #define IW_F1X4L17_RSV_SIZE 1
  125. #define IW_F1X4L17_RSV_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_F1X4L17_RSV_SIZE))
  126. #define IW_F1X4L17_RSV_SHIFTED_MASK (IW_F1X4L17_RSV_UNSHIFTED_MASK << IW_F1X4L17_RSV_LSB)
  127. #define GET_IW_F1X4L17_RSV(W) (((W) >> IW_F1X4L17_RSV_LSB) & IW_F1X4L17_RSV_UNSHIFTED_MASK)
  128. #define SET_IW_F1X4L17_RSV(V) (((V) & IW_F1X4L17_RSV_UNSHIFTED_MASK) << IW_F1X4L17_RSV_LSB)
  129. #define IW_F1X4L17_REGMASK_LSB 16
  130. #define IW_F1X4L17_REGMASK_SIZE 12
  131. #define IW_F1X4L17_REGMASK_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_F1X4L17_REGMASK_SIZE))
  132. #define IW_F1X4L17_REGMASK_SHIFTED_MASK (IW_F1X4L17_REGMASK_UNSHIFTED_MASK << IW_F1X4L17_REGMASK_LSB)
  133. #define GET_IW_F1X4L17_REGMASK(W) (((W) >> IW_F1X4L17_REGMASK_LSB) & IW_F1X4L17_REGMASK_UNSHIFTED_MASK)
  134. #define SET_IW_F1X4L17_REGMASK(V) (((V) & IW_F1X4L17_REGMASK_UNSHIFTED_MASK) << IW_F1X4L17_REGMASK_LSB)
  135. /* Shared by OPX-group formats F3X6L5, F2X6L10, F3X6. */
  136. #define IW_OPX_X_LSB 26
  137. #define IW_OPX_X_SIZE 6
  138. #define IW_OPX_X_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_OPX_X_SIZE))
  139. #define IW_OPX_X_SHIFTED_MASK (IW_OPX_X_UNSHIFTED_MASK << IW_OPX_X_LSB)
  140. #define GET_IW_OPX_X(W) (((W) >> IW_OPX_X_LSB) & IW_OPX_X_UNSHIFTED_MASK)
  141. #define SET_IW_OPX_X(V) (((V) & IW_OPX_X_UNSHIFTED_MASK) << IW_OPX_X_LSB)
  142. /* F3X6L5 accessors are also used for F3X6 formats. */
  143. #define IW_F3X6L5_A_LSB 6
  144. #define IW_F3X6L5_A_SIZE 5
  145. #define IW_F3X6L5_A_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_F3X6L5_A_SIZE))
  146. #define IW_F3X6L5_A_SHIFTED_MASK (IW_F3X6L5_A_UNSHIFTED_MASK << IW_F3X6L5_A_LSB)
  147. #define GET_IW_F3X6L5_A(W) (((W) >> IW_F3X6L5_A_LSB) & IW_F3X6L5_A_UNSHIFTED_MASK)
  148. #define SET_IW_F3X6L5_A(V) (((V) & IW_F3X6L5_A_UNSHIFTED_MASK) << IW_F3X6L5_A_LSB)
  149. #define IW_F3X6L5_B_LSB 11
  150. #define IW_F3X6L5_B_SIZE 5
  151. #define IW_F3X6L5_B_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_F3X6L5_B_SIZE))
  152. #define IW_F3X6L5_B_SHIFTED_MASK (IW_F3X6L5_B_UNSHIFTED_MASK << IW_F3X6L5_B_LSB)
  153. #define GET_IW_F3X6L5_B(W) (((W) >> IW_F3X6L5_B_LSB) & IW_F3X6L5_B_UNSHIFTED_MASK)
  154. #define SET_IW_F3X6L5_B(V) (((V) & IW_F3X6L5_B_UNSHIFTED_MASK) << IW_F3X6L5_B_LSB)
  155. #define IW_F3X6L5_C_LSB 16
  156. #define IW_F3X6L5_C_SIZE 5
  157. #define IW_F3X6L5_C_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_F3X6L5_C_SIZE))
  158. #define IW_F3X6L5_C_SHIFTED_MASK (IW_F3X6L5_C_UNSHIFTED_MASK << IW_F3X6L5_C_LSB)
  159. #define GET_IW_F3X6L5_C(W) (((W) >> IW_F3X6L5_C_LSB) & IW_F3X6L5_C_UNSHIFTED_MASK)
  160. #define SET_IW_F3X6L5_C(V) (((V) & IW_F3X6L5_C_UNSHIFTED_MASK) << IW_F3X6L5_C_LSB)
  161. #define IW_F3X6L5_IMM5_LSB 21
  162. #define IW_F3X6L5_IMM5_SIZE 5
  163. #define IW_F3X6L5_IMM5_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_F3X6L5_IMM5_SIZE))
  164. #define IW_F3X6L5_IMM5_SHIFTED_MASK (IW_F3X6L5_IMM5_UNSHIFTED_MASK << IW_F3X6L5_IMM5_LSB)
  165. #define GET_IW_F3X6L5_IMM5(W) (((W) >> IW_F3X6L5_IMM5_LSB) & IW_F3X6L5_IMM5_UNSHIFTED_MASK)
  166. #define SET_IW_F3X6L5_IMM5(V) (((V) & IW_F3X6L5_IMM5_UNSHIFTED_MASK) << IW_F3X6L5_IMM5_LSB)
  167. #define IW_F2X6L10_A_LSB 6
  168. #define IW_F2X6L10_A_SIZE 5
  169. #define IW_F2X6L10_A_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_F2X6L10_A_SIZE))
  170. #define IW_F2X6L10_A_SHIFTED_MASK (IW_F2X6L10_A_UNSHIFTED_MASK << IW_F2X6L10_A_LSB)
  171. #define GET_IW_F2X6L10_A(W) (((W) >> IW_F2X6L10_A_LSB) & IW_F2X6L10_A_UNSHIFTED_MASK)
  172. #define SET_IW_F2X6L10_A(V) (((V) & IW_F2X6L10_A_UNSHIFTED_MASK) << IW_F2X6L10_A_LSB)
  173. #define IW_F2X6L10_B_LSB 11
  174. #define IW_F2X6L10_B_SIZE 5
  175. #define IW_F2X6L10_B_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_F2X6L10_B_SIZE))
  176. #define IW_F2X6L10_B_SHIFTED_MASK (IW_F2X6L10_B_UNSHIFTED_MASK << IW_F2X6L10_B_LSB)
  177. #define GET_IW_F2X6L10_B(W) (((W) >> IW_F2X6L10_B_LSB) & IW_F2X6L10_B_UNSHIFTED_MASK)
  178. #define SET_IW_F2X6L10_B(V) (((V) & IW_F2X6L10_B_UNSHIFTED_MASK) << IW_F2X6L10_B_LSB)
  179. #define IW_F2X6L10_LSB_LSB 16
  180. #define IW_F2X6L10_LSB_SIZE 5
  181. #define IW_F2X6L10_LSB_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_F2X6L10_LSB_SIZE))
  182. #define IW_F2X6L10_LSB_SHIFTED_MASK (IW_F2X6L10_LSB_UNSHIFTED_MASK << IW_F2X6L10_LSB_LSB)
  183. #define GET_IW_F2X6L10_LSB(W) (((W) >> IW_F2X6L10_LSB_LSB) & IW_F2X6L10_LSB_UNSHIFTED_MASK)
  184. #define SET_IW_F2X6L10_LSB(V) (((V) & IW_F2X6L10_LSB_UNSHIFTED_MASK) << IW_F2X6L10_LSB_LSB)
  185. #define IW_F2X6L10_MSB_LSB 21
  186. #define IW_F2X6L10_MSB_SIZE 5
  187. #define IW_F2X6L10_MSB_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_F2X6L10_MSB_SIZE))
  188. #define IW_F2X6L10_MSB_SHIFTED_MASK (IW_F2X6L10_MSB_UNSHIFTED_MASK << IW_F2X6L10_MSB_LSB)
  189. #define GET_IW_F2X6L10_MSB(W) (((W) >> IW_F2X6L10_MSB_LSB) & IW_F2X6L10_MSB_UNSHIFTED_MASK)
  190. #define SET_IW_F2X6L10_MSB(V) (((V) & IW_F2X6L10_MSB_UNSHIFTED_MASK) << IW_F2X6L10_MSB_LSB)
  191. #define IW_F3X8_A_LSB 6
  192. #define IW_F3X8_A_SIZE 5
  193. #define IW_F3X8_A_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_F3X8_A_SIZE))
  194. #define IW_F3X8_A_SHIFTED_MASK (IW_F3X8_A_UNSHIFTED_MASK << IW_F3X8_A_LSB)
  195. #define GET_IW_F3X8_A(W) (((W) >> IW_F3X8_A_LSB) & IW_F3X8_A_UNSHIFTED_MASK)
  196. #define SET_IW_F3X8_A(V) (((V) & IW_F3X8_A_UNSHIFTED_MASK) << IW_F3X8_A_LSB)
  197. #define IW_F3X8_B_LSB 11
  198. #define IW_F3X8_B_SIZE 5
  199. #define IW_F3X8_B_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_F3X8_B_SIZE))
  200. #define IW_F3X8_B_SHIFTED_MASK (IW_F3X8_B_UNSHIFTED_MASK << IW_F3X8_B_LSB)
  201. #define GET_IW_F3X8_B(W) (((W) >> IW_F3X8_B_LSB) & IW_F3X8_B_UNSHIFTED_MASK)
  202. #define SET_IW_F3X8_B(V) (((V) & IW_F3X8_B_UNSHIFTED_MASK) << IW_F3X8_B_LSB)
  203. #define IW_F3X8_C_LSB 16
  204. #define IW_F3X8_C_SIZE 5
  205. #define IW_F3X8_C_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_F3X8_C_SIZE))
  206. #define IW_F3X8_C_SHIFTED_MASK (IW_F3X8_C_UNSHIFTED_MASK << IW_F3X8_C_LSB)
  207. #define GET_IW_F3X8_C(W) (((W) >> IW_F3X8_C_LSB) & IW_F3X8_C_UNSHIFTED_MASK)
  208. #define SET_IW_F3X8_C(V) (((V) & IW_F3X8_C_UNSHIFTED_MASK) << IW_F3X8_C_LSB)
  209. #define IW_F3X8_READA_LSB 21
  210. #define IW_F3X8_READA_SIZE 1
  211. #define IW_F3X8_READA_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_F3X8_READA_SIZE))
  212. #define IW_F3X8_READA_SHIFTED_MASK (IW_F3X8_READA_UNSHIFTED_MASK << IW_F3X8_READA_LSB)
  213. #define GET_IW_F3X8_READA(W) (((W) >> IW_F3X8_READA_LSB) & IW_F3X8_READA_UNSHIFTED_MASK)
  214. #define SET_IW_F3X8_READA(V) (((V) & IW_F3X8_READA_UNSHIFTED_MASK) << IW_F3X8_READA_LSB)
  215. #define IW_F3X8_READB_LSB 22
  216. #define IW_F3X8_READB_SIZE 1
  217. #define IW_F3X8_READB_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_F3X8_READB_SIZE))
  218. #define IW_F3X8_READB_SHIFTED_MASK (IW_F3X8_READB_UNSHIFTED_MASK << IW_F3X8_READB_LSB)
  219. #define GET_IW_F3X8_READB(W) (((W) >> IW_F3X8_READB_LSB) & IW_F3X8_READB_UNSHIFTED_MASK)
  220. #define SET_IW_F3X8_READB(V) (((V) & IW_F3X8_READB_UNSHIFTED_MASK) << IW_F3X8_READB_LSB)
  221. #define IW_F3X8_READC_LSB 23
  222. #define IW_F3X8_READC_SIZE 1
  223. #define IW_F3X8_READC_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_F3X8_READC_SIZE))
  224. #define IW_F3X8_READC_SHIFTED_MASK (IW_F3X8_READC_UNSHIFTED_MASK << IW_F3X8_READC_LSB)
  225. #define GET_IW_F3X8_READC(W) (((W) >> IW_F3X8_READC_LSB) & IW_F3X8_READC_UNSHIFTED_MASK)
  226. #define SET_IW_F3X8_READC(V) (((V) & IW_F3X8_READC_UNSHIFTED_MASK) << IW_F3X8_READC_LSB)
  227. #define IW_F3X8_N_LSB 24
  228. #define IW_F3X8_N_SIZE 8
  229. #define IW_F3X8_N_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_F3X8_N_SIZE))
  230. #define IW_F3X8_N_SHIFTED_MASK (IW_F3X8_N_UNSHIFTED_MASK << IW_F3X8_N_LSB)
  231. #define GET_IW_F3X8_N(W) (((W) >> IW_F3X8_N_LSB) & IW_F3X8_N_UNSHIFTED_MASK)
  232. #define SET_IW_F3X8_N(V) (((V) & IW_F3X8_N_UNSHIFTED_MASK) << IW_F3X8_N_LSB)
  233. /* 16-bit R2 fields. */
  234. #define IW_I10_IMM10_LSB 6
  235. #define IW_I10_IMM10_SIZE 10
  236. #define IW_I10_IMM10_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_I10_IMM10_SIZE))
  237. #define IW_I10_IMM10_SHIFTED_MASK (IW_I10_IMM10_UNSHIFTED_MASK << IW_I10_IMM10_LSB)
  238. #define GET_IW_I10_IMM10(W) (((W) >> IW_I10_IMM10_LSB) & IW_I10_IMM10_UNSHIFTED_MASK)
  239. #define SET_IW_I10_IMM10(V) (((V) & IW_I10_IMM10_UNSHIFTED_MASK) << IW_I10_IMM10_LSB)
  240. #define IW_T1I7_A3_LSB 6
  241. #define IW_T1I7_A3_SIZE 3
  242. #define IW_T1I7_A3_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_T1I7_A3_SIZE))
  243. #define IW_T1I7_A3_SHIFTED_MASK (IW_T1I7_A3_UNSHIFTED_MASK << IW_T1I7_A3_LSB)
  244. #define GET_IW_T1I7_A3(W) (((W) >> IW_T1I7_A3_LSB) & IW_T1I7_A3_UNSHIFTED_MASK)
  245. #define SET_IW_T1I7_A3(V) (((V) & IW_T1I7_A3_UNSHIFTED_MASK) << IW_T1I7_A3_LSB)
  246. #define IW_T1I7_IMM7_LSB 9
  247. #define IW_T1I7_IMM7_SIZE 7
  248. #define IW_T1I7_IMM7_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_T1I7_IMM7_SIZE))
  249. #define IW_T1I7_IMM7_SHIFTED_MASK (IW_T1I7_IMM7_UNSHIFTED_MASK << IW_T1I7_IMM7_LSB)
  250. #define GET_IW_T1I7_IMM7(W) (((W) >> IW_T1I7_IMM7_LSB) & IW_T1I7_IMM7_UNSHIFTED_MASK)
  251. #define SET_IW_T1I7_IMM7(V) (((V) & IW_T1I7_IMM7_UNSHIFTED_MASK) << IW_T1I7_IMM7_LSB)
  252. #define IW_T2I4_A3_LSB 6
  253. #define IW_T2I4_A3_SIZE 3
  254. #define IW_T2I4_A3_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_T2I4_A3_SIZE))
  255. #define IW_T2I4_A3_SHIFTED_MASK (IW_T2I4_A3_UNSHIFTED_MASK << IW_T2I4_A3_LSB)
  256. #define GET_IW_T2I4_A3(W) (((W) >> IW_T2I4_A3_LSB) & IW_T2I4_A3_UNSHIFTED_MASK)
  257. #define SET_IW_T2I4_A3(V) (((V) & IW_T2I4_A3_UNSHIFTED_MASK) << IW_T2I4_A3_LSB)
  258. #define IW_T2I4_B3_LSB 9
  259. #define IW_T2I4_B3_SIZE 3
  260. #define IW_T2I4_B3_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_T2I4_B3_SIZE))
  261. #define IW_T2I4_B3_SHIFTED_MASK (IW_T2I4_B3_UNSHIFTED_MASK << IW_T2I4_B3_LSB)
  262. #define GET_IW_T2I4_B3(W) (((W) >> IW_T2I4_B3_LSB) & IW_T2I4_B3_UNSHIFTED_MASK)
  263. #define SET_IW_T2I4_B3(V) (((V) & IW_T2I4_B3_UNSHIFTED_MASK) << IW_T2I4_B3_LSB)
  264. #define IW_T2I4_IMM4_LSB 12
  265. #define IW_T2I4_IMM4_SIZE 4
  266. #define IW_T2I4_IMM4_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_T2I4_IMM4_SIZE))
  267. #define IW_T2I4_IMM4_SHIFTED_MASK (IW_T2I4_IMM4_UNSHIFTED_MASK << IW_T2I4_IMM4_LSB)
  268. #define GET_IW_T2I4_IMM4(W) (((W) >> IW_T2I4_IMM4_LSB) & IW_T2I4_IMM4_UNSHIFTED_MASK)
  269. #define SET_IW_T2I4_IMM4(V) (((V) & IW_T2I4_IMM4_UNSHIFTED_MASK) << IW_T2I4_IMM4_LSB)
  270. #define IW_T1X1I6_A3_LSB 6
  271. #define IW_T1X1I6_A3_SIZE 3
  272. #define IW_T1X1I6_A3_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_T1X1I6_A3_SIZE))
  273. #define IW_T1X1I6_A3_SHIFTED_MASK (IW_T1X1I6_A3_UNSHIFTED_MASK << IW_T1X1I6_A3_LSB)
  274. #define GET_IW_T1X1I6_A3(W) (((W) >> IW_T1X1I6_A3_LSB) & IW_T1X1I6_A3_UNSHIFTED_MASK)
  275. #define SET_IW_T1X1I6_A3(V) (((V) & IW_T1X1I6_A3_UNSHIFTED_MASK) << IW_T1X1I6_A3_LSB)
  276. #define IW_T1X1I6_IMM6_LSB 9
  277. #define IW_T1X1I6_IMM6_SIZE 6
  278. #define IW_T1X1I6_IMM6_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_T1X1I6_IMM6_SIZE))
  279. #define IW_T1X1I6_IMM6_SHIFTED_MASK (IW_T1X1I6_IMM6_UNSHIFTED_MASK << IW_T1X1I6_IMM6_LSB)
  280. #define GET_IW_T1X1I6_IMM6(W) (((W) >> IW_T1X1I6_IMM6_LSB) & IW_T1X1I6_IMM6_UNSHIFTED_MASK)
  281. #define SET_IW_T1X1I6_IMM6(V) (((V) & IW_T1X1I6_IMM6_UNSHIFTED_MASK) << IW_T1X1I6_IMM6_LSB)
  282. #define IW_T1X1I6_X_LSB 15
  283. #define IW_T1X1I6_X_SIZE 1
  284. #define IW_T1X1I6_X_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_T1X1I6_X_SIZE))
  285. #define IW_T1X1I6_X_SHIFTED_MASK (IW_T1X1I6_X_UNSHIFTED_MASK << IW_T1X1I6_X_LSB)
  286. #define GET_IW_T1X1I6_X(W) (((W) >> IW_T1X1I6_X_LSB) & IW_T1X1I6_X_UNSHIFTED_MASK)
  287. #define SET_IW_T1X1I6_X(V) (((V) & IW_T1X1I6_X_UNSHIFTED_MASK) << IW_T1X1I6_X_LSB)
  288. #define IW_X1I7_IMM7_LSB 6
  289. #define IW_X1I7_IMM7_SIZE 7
  290. #define IW_X1I7_IMM7_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_X1I7_IMM7_SIZE))
  291. #define IW_X1I7_IMM7_SHIFTED_MASK (IW_X1I7_IMM7_UNSHIFTED_MASK << IW_X1I7_IMM7_LSB)
  292. #define GET_IW_X1I7_IMM7(W) (((W) >> IW_X1I7_IMM7_LSB) & IW_X1I7_IMM7_UNSHIFTED_MASK)
  293. #define SET_IW_X1I7_IMM7(V) (((V) & IW_X1I7_IMM7_UNSHIFTED_MASK) << IW_X1I7_IMM7_LSB)
  294. #define IW_X1I7_RSV_LSB 13
  295. #define IW_X1I7_RSV_SIZE 2
  296. #define IW_X1I7_RSV_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_X1I7_RSV_SIZE))
  297. #define IW_X1I7_RSV_SHIFTED_MASK (IW_X1I7_RSV_UNSHIFTED_MASK << IW_X1I7_RSV_LSB)
  298. #define GET_IW_X1I7_RSV(W) (((W) >> IW_X1I7_RSV_LSB) & IW_X1I7_RSV_UNSHIFTED_MASK)
  299. #define SET_IW_X1I7_RSV(V) (((V) & IW_X1I7_RSV_UNSHIFTED_MASK) << IW_X1I7_RSV_LSB)
  300. #define IW_X1I7_X_LSB 15
  301. #define IW_X1I7_X_SIZE 1
  302. #define IW_X1I7_X_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_X1I7_X_SIZE))
  303. #define IW_X1I7_X_SHIFTED_MASK (IW_X1I7_X_UNSHIFTED_MASK << IW_X1I7_X_LSB)
  304. #define GET_IW_X1I7_X(W) (((W) >> IW_X1I7_X_LSB) & IW_X1I7_X_UNSHIFTED_MASK)
  305. #define SET_IW_X1I7_X(V) (((V) & IW_X1I7_X_UNSHIFTED_MASK) << IW_X1I7_X_LSB)
  306. #define IW_L5I4X1_IMM4_LSB 6
  307. #define IW_L5I4X1_IMM4_SIZE 4
  308. #define IW_L5I4X1_IMM4_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_L5I4X1_IMM4_SIZE))
  309. #define IW_L5I4X1_IMM4_SHIFTED_MASK (IW_L5I4X1_IMM4_UNSHIFTED_MASK << IW_L5I4X1_IMM4_LSB)
  310. #define GET_IW_L5I4X1_IMM4(W) (((W) >> IW_L5I4X1_IMM4_LSB) & IW_L5I4X1_IMM4_UNSHIFTED_MASK)
  311. #define SET_IW_L5I4X1_IMM4(V) (((V) & IW_L5I4X1_IMM4_UNSHIFTED_MASK) << IW_L5I4X1_IMM4_LSB)
  312. #define IW_L5I4X1_REGRANGE_LSB 10
  313. #define IW_L5I4X1_REGRANGE_SIZE 3
  314. #define IW_L5I4X1_REGRANGE_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_L5I4X1_REGRANGE_SIZE))
  315. #define IW_L5I4X1_REGRANGE_SHIFTED_MASK (IW_L5I4X1_REGRANGE_UNSHIFTED_MASK << IW_L5I4X1_REGRANGE_LSB)
  316. #define GET_IW_L5I4X1_REGRANGE(W) (((W) >> IW_L5I4X1_REGRANGE_LSB) & IW_L5I4X1_REGRANGE_UNSHIFTED_MASK)
  317. #define SET_IW_L5I4X1_REGRANGE(V) (((V) & IW_L5I4X1_REGRANGE_UNSHIFTED_MASK) << IW_L5I4X1_REGRANGE_LSB)
  318. #define IW_L5I4X1_FP_LSB 13
  319. #define IW_L5I4X1_FP_SIZE 1
  320. #define IW_L5I4X1_FP_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_L5I4X1_FP_SIZE))
  321. #define IW_L5I4X1_FP_SHIFTED_MASK (IW_L5I4X1_FP_UNSHIFTED_MASK << IW_L5I4X1_FP_LSB)
  322. #define GET_IW_L5I4X1_FP(W) (((W) >> IW_L5I4X1_FP_LSB) & IW_L5I4X1_FP_UNSHIFTED_MASK)
  323. #define SET_IW_L5I4X1_FP(V) (((V) & IW_L5I4X1_FP_UNSHIFTED_MASK) << IW_L5I4X1_FP_LSB)
  324. #define IW_L5I4X1_CS_LSB 14
  325. #define IW_L5I4X1_CS_SIZE 1
  326. #define IW_L5I4X1_CS_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_L5I4X1_CS_SIZE))
  327. #define IW_L5I4X1_CS_SHIFTED_MASK (IW_L5I4X1_CS_UNSHIFTED_MASK << IW_L5I4X1_CS_LSB)
  328. #define GET_IW_L5I4X1_CS(W) (((W) >> IW_L5I4X1_CS_LSB) & IW_L5I4X1_CS_UNSHIFTED_MASK)
  329. #define SET_IW_L5I4X1_CS(V) (((V) & IW_L5I4X1_CS_UNSHIFTED_MASK) << IW_L5I4X1_CS_LSB)
  330. #define IW_L5I4X1_X_LSB 15
  331. #define IW_L5I4X1_X_SIZE 1
  332. #define IW_L5I4X1_X_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_L5I4X1_X_SIZE))
  333. #define IW_L5I4X1_X_SHIFTED_MASK (IW_L5I4X1_X_UNSHIFTED_MASK << IW_L5I4X1_X_LSB)
  334. #define GET_IW_L5I4X1_X(W) (((W) >> IW_L5I4X1_X_LSB) & IW_L5I4X1_X_UNSHIFTED_MASK)
  335. #define SET_IW_L5I4X1_X(V) (((V) & IW_L5I4X1_X_UNSHIFTED_MASK) << IW_L5I4X1_X_LSB)
  336. #define IW_T2X1L3_A3_LSB 6
  337. #define IW_T2X1L3_A3_SIZE 3
  338. #define IW_T2X1L3_A3_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_T2X1L3_A3_SIZE))
  339. #define IW_T2X1L3_A3_SHIFTED_MASK (IW_T2X1L3_A3_UNSHIFTED_MASK << IW_T2X1L3_A3_LSB)
  340. #define GET_IW_T2X1L3_A3(W) (((W) >> IW_T2X1L3_A3_LSB) & IW_T2X1L3_A3_UNSHIFTED_MASK)
  341. #define SET_IW_T2X1L3_A3(V) (((V) & IW_T2X1L3_A3_UNSHIFTED_MASK) << IW_T2X1L3_A3_LSB)
  342. #define IW_T2X1L3_B3_LSB 9
  343. #define IW_T2X1L3_B3_SIZE 3
  344. #define IW_T2X1L3_B3_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_T2X1L3_B3_SIZE))
  345. #define IW_T2X1L3_B3_SHIFTED_MASK (IW_T2X1L3_B3_UNSHIFTED_MASK << IW_T2X1L3_B3_LSB)
  346. #define GET_IW_T2X1L3_B3(W) (((W) >> IW_T2X1L3_B3_LSB) & IW_T2X1L3_B3_UNSHIFTED_MASK)
  347. #define SET_IW_T2X1L3_B3(V) (((V) & IW_T2X1L3_B3_UNSHIFTED_MASK) << IW_T2X1L3_B3_LSB)
  348. #define IW_T2X1L3_SHAMT_LSB 12
  349. #define IW_T2X1L3_SHAMT_SIZE 3
  350. #define IW_T2X1L3_SHAMT_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_T2X1L3_SHAMT_SIZE))
  351. #define IW_T2X1L3_SHAMT_SHIFTED_MASK (IW_T2X1L3_SHAMT_UNSHIFTED_MASK << IW_T2X1L3_SHAMT_LSB)
  352. #define GET_IW_T2X1L3_SHAMT(W) (((W) >> IW_T2X1L3_SHAMT_LSB) & IW_T2X1L3_SHAMT_UNSHIFTED_MASK)
  353. #define SET_IW_T2X1L3_SHAMT(V) (((V) & IW_T2X1L3_SHAMT_UNSHIFTED_MASK) << IW_T2X1L3_SHAMT_LSB)
  354. #define IW_T2X1L3_X_LSB 15
  355. #define IW_T2X1L3_X_SIZE 1
  356. #define IW_T2X1L3_X_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_T2X1L3_X_SIZE))
  357. #define IW_T2X1L3_X_SHIFTED_MASK (IW_T2X1L3_X_UNSHIFTED_MASK << IW_T2X1L3_X_LSB)
  358. #define GET_IW_T2X1L3_X(W) (((W) >> IW_T2X1L3_X_LSB) & IW_T2X1L3_X_UNSHIFTED_MASK)
  359. #define SET_IW_T2X1L3_X(V) (((V) & IW_T2X1L3_X_UNSHIFTED_MASK) << IW_T2X1L3_X_LSB)
  360. #define IW_T2X1I3_A3_LSB 6
  361. #define IW_T2X1I3_A3_SIZE 3
  362. #define IW_T2X1I3_A3_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_T2X1I3_A3_SIZE))
  363. #define IW_T2X1I3_A3_SHIFTED_MASK (IW_T2X1I3_A3_UNSHIFTED_MASK << IW_T2X1I3_A3_LSB)
  364. #define GET_IW_T2X1I3_A3(W) (((W) >> IW_T2X1I3_A3_LSB) & IW_T2X1I3_A3_UNSHIFTED_MASK)
  365. #define SET_IW_T2X1I3_A3(V) (((V) & IW_T2X1I3_A3_UNSHIFTED_MASK) << IW_T2X1I3_A3_LSB)
  366. #define IW_T2X1I3_B3_LSB 9
  367. #define IW_T2X1I3_B3_SIZE 3
  368. #define IW_T2X1I3_B3_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_T2X1I3_B3_SIZE))
  369. #define IW_T2X1I3_B3_SHIFTED_MASK (IW_T2X1I3_B3_UNSHIFTED_MASK << IW_T2X1I3_B3_LSB)
  370. #define GET_IW_T2X1I3_B3(W) (((W) >> IW_T2X1I3_B3_LSB) & IW_T2X1I3_B3_UNSHIFTED_MASK)
  371. #define SET_IW_T2X1I3_B3(V) (((V) & IW_T2X1I3_B3_UNSHIFTED_MASK) << IW_T2X1I3_B3_LSB)
  372. #define IW_T2X1I3_IMM3_LSB 12
  373. #define IW_T2X1I3_IMM3_SIZE 3
  374. #define IW_T2X1I3_IMM3_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_T2X1I3_IMM3_SIZE))
  375. #define IW_T2X1I3_IMM3_SHIFTED_MASK (IW_T2X1I3_IMM3_UNSHIFTED_MASK << IW_T2X1I3_IMM3_LSB)
  376. #define GET_IW_T2X1I3_IMM3(W) (((W) >> IW_T2X1I3_IMM3_LSB) & IW_T2X1I3_IMM3_UNSHIFTED_MASK)
  377. #define SET_IW_T2X1I3_IMM3(V) (((V) & IW_T2X1I3_IMM3_UNSHIFTED_MASK) << IW_T2X1I3_IMM3_LSB)
  378. #define IW_T2X1I3_X_LSB 15
  379. #define IW_T2X1I3_X_SIZE 1
  380. #define IW_T2X1I3_X_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_T2X1I3_X_SIZE))
  381. #define IW_T2X1I3_X_SHIFTED_MASK (IW_T2X1I3_X_UNSHIFTED_MASK << IW_T2X1I3_X_LSB)
  382. #define GET_IW_T2X1I3_X(W) (((W) >> IW_T2X1I3_X_LSB) & IW_T2X1I3_X_UNSHIFTED_MASK)
  383. #define SET_IW_T2X1I3_X(V) (((V) & IW_T2X1I3_X_UNSHIFTED_MASK) << IW_T2X1I3_X_LSB)
  384. #define IW_T3X1_A3_LSB 6
  385. #define IW_T3X1_A3_SIZE 3
  386. #define IW_T3X1_A3_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_T3X1_A3_SIZE))
  387. #define IW_T3X1_A3_SHIFTED_MASK (IW_T3X1_A3_UNSHIFTED_MASK << IW_T3X1_A3_LSB)
  388. #define GET_IW_T3X1_A3(W) (((W) >> IW_T3X1_A3_LSB) & IW_T3X1_A3_UNSHIFTED_MASK)
  389. #define SET_IW_T3X1_A3(V) (((V) & IW_T3X1_A3_UNSHIFTED_MASK) << IW_T3X1_A3_LSB)
  390. #define IW_T3X1_B3_LSB 9
  391. #define IW_T3X1_B3_SIZE 3
  392. #define IW_T3X1_B3_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_T3X1_B3_SIZE))
  393. #define IW_T3X1_B3_SHIFTED_MASK (IW_T3X1_B3_UNSHIFTED_MASK << IW_T3X1_B3_LSB)
  394. #define GET_IW_T3X1_B3(W) (((W) >> IW_T3X1_B3_LSB) & IW_T3X1_B3_UNSHIFTED_MASK)
  395. #define SET_IW_T3X1_B3(V) (((V) & IW_T3X1_B3_UNSHIFTED_MASK) << IW_T3X1_B3_LSB)
  396. #define IW_T3X1_C3_LSB 12
  397. #define IW_T3X1_C3_SIZE 3
  398. #define IW_T3X1_C3_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_T3X1_C3_SIZE))
  399. #define IW_T3X1_C3_SHIFTED_MASK (IW_T3X1_C3_UNSHIFTED_MASK << IW_T3X1_C3_LSB)
  400. #define GET_IW_T3X1_C3(W) (((W) >> IW_T3X1_C3_LSB) & IW_T3X1_C3_UNSHIFTED_MASK)
  401. #define SET_IW_T3X1_C3(V) (((V) & IW_T3X1_C3_UNSHIFTED_MASK) << IW_T3X1_C3_LSB)
  402. #define IW_T3X1_X_LSB 15
  403. #define IW_T3X1_X_SIZE 1
  404. #define IW_T3X1_X_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_T3X1_X_SIZE))
  405. #define IW_T3X1_X_SHIFTED_MASK (IW_T3X1_X_UNSHIFTED_MASK << IW_T3X1_X_LSB)
  406. #define GET_IW_T3X1_X(W) (((W) >> IW_T3X1_X_LSB) & IW_T3X1_X_UNSHIFTED_MASK)
  407. #define SET_IW_T3X1_X(V) (((V) & IW_T3X1_X_UNSHIFTED_MASK) << IW_T3X1_X_LSB)
  408. /* The X field for all three R.N-class instruction formats is represented
  409. here as 4 bits, including the bits defined as constant 0 or 1 that
  410. determine which of the formats T2X3, F1X1, or X2L5 it is. */
  411. #define IW_R_N_X_LSB 12
  412. #define IW_R_N_X_SIZE 4
  413. #define IW_R_N_X_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_R_N_X_SIZE))
  414. #define IW_R_N_X_SHIFTED_MASK (IW_R_N_X_UNSHIFTED_MASK << IW_R_N_X_LSB)
  415. #define GET_IW_R_N_X(W) (((W) >> IW_R_N_X_LSB) & IW_R_N_X_UNSHIFTED_MASK)
  416. #define SET_IW_R_N_X(V) (((V) & IW_R_N_X_UNSHIFTED_MASK) << IW_R_N_X_LSB)
  417. #define IW_T2X3_A3_LSB 6
  418. #define IW_T2X3_A3_SIZE 3
  419. #define IW_T2X3_A3_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_T2X3_A3_SIZE))
  420. #define IW_T2X3_A3_SHIFTED_MASK (IW_T2X3_A3_UNSHIFTED_MASK << IW_T2X3_A3_LSB)
  421. #define GET_IW_T2X3_A3(W) (((W) >> IW_T2X3_A3_LSB) & IW_T2X3_A3_UNSHIFTED_MASK)
  422. #define SET_IW_T2X3_A3(V) (((V) & IW_T2X3_A3_UNSHIFTED_MASK) << IW_T2X3_A3_LSB)
  423. #define IW_T2X3_B3_LSB 9
  424. #define IW_T2X3_B3_SIZE 3
  425. #define IW_T2X3_B3_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_T2X3_B3_SIZE))
  426. #define IW_T2X3_B3_SHIFTED_MASK (IW_T2X3_B3_UNSHIFTED_MASK << IW_T2X3_B3_LSB)
  427. #define GET_IW_T2X3_B3(W) (((W) >> IW_T2X3_B3_LSB) & IW_T2X3_B3_UNSHIFTED_MASK)
  428. #define SET_IW_T2X3_B3(V) (((V) & IW_T2X3_B3_UNSHIFTED_MASK) << IW_T2X3_B3_LSB)
  429. #define IW_F1X1_A_LSB 6
  430. #define IW_F1X1_A_SIZE 5
  431. #define IW_F1X1_A_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_F1X1_A_SIZE))
  432. #define IW_F1X1_A_SHIFTED_MASK (IW_F1X1_A_UNSHIFTED_MASK << IW_F1X1_A_LSB)
  433. #define GET_IW_F1X1_A(W) (((W) >> IW_F1X1_A_LSB) & IW_F1X1_A_UNSHIFTED_MASK)
  434. #define SET_IW_F1X1_A(V) (((V) & IW_F1X1_A_UNSHIFTED_MASK) << IW_F1X1_A_LSB)
  435. #define IW_F1X1_RSV_LSB 11
  436. #define IW_F1X1_RSV_SIZE 1
  437. #define IW_F1X1_RSV_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_F1X1_RSV_SIZE))
  438. #define IW_F1X1_RSV_SHIFTED_MASK (IW_F1X1_RSV_UNSHIFTED_MASK << IW_F1X1_RSV_LSB)
  439. #define GET_IW_F1X1_RSV(W) (((W) >> IW_F1X1_RSV_LSB) & IW_F1X1_RSV_UNSHIFTED_MASK)
  440. #define SET_IW_F1X1_RSV(V) (((V) & IW_F1X1_RSV_UNSHIFTED_MASK) << IW_F1X1_RSV_LSB)
  441. #define IW_X2L5_IMM5_LSB 6
  442. #define IW_X2L5_IMM5_SIZE 5
  443. #define IW_X2L5_IMM5_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_X2L5_IMM5_SIZE))
  444. #define IW_X2L5_IMM5_SHIFTED_MASK (IW_X2L5_IMM5_UNSHIFTED_MASK << IW_X2L5_IMM5_LSB)
  445. #define GET_IW_X2L5_IMM5(W) (((W) >> IW_X2L5_IMM5_LSB) & IW_X2L5_IMM5_UNSHIFTED_MASK)
  446. #define SET_IW_X2L5_IMM5(V) (((V) & IW_X2L5_IMM5_UNSHIFTED_MASK) << IW_X2L5_IMM5_LSB)
  447. #define IW_X2L5_RSV_LSB 11
  448. #define IW_X2L5_RSV_SIZE 1
  449. #define IW_X2L5_RSV_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_X2L5_RSV_SIZE))
  450. #define IW_X2L5_RSV_SHIFTED_MASK (IW_X2L5_RSV_UNSHIFTED_MASK << IW_X2L5_RSV_LSB)
  451. #define GET_IW_X2L5_RSV(W) (((W) >> IW_X2L5_RSV_LSB) & IW_X2L5_RSV_UNSHIFTED_MASK)
  452. #define SET_IW_X2L5_RSV(V) (((V) & IW_X2L5_RSV_UNSHIFTED_MASK) << IW_X2L5_RSV_LSB)
  453. #define IW_F1I5_IMM5_LSB 6
  454. #define IW_F1I5_IMM5_SIZE 5
  455. #define IW_F1I5_IMM5_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_F1I5_IMM5_SIZE))
  456. #define IW_F1I5_IMM5_SHIFTED_MASK (IW_F1I5_IMM5_UNSHIFTED_MASK << IW_F1I5_IMM5_LSB)
  457. #define GET_IW_F1I5_IMM5(W) (((W) >> IW_F1I5_IMM5_LSB) & IW_F1I5_IMM5_UNSHIFTED_MASK)
  458. #define SET_IW_F1I5_IMM5(V) (((V) & IW_F1I5_IMM5_UNSHIFTED_MASK) << IW_F1I5_IMM5_LSB)
  459. #define IW_F1I5_B_LSB 11
  460. #define IW_F1I5_B_SIZE 5
  461. #define IW_F1I5_B_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_F1I5_B_SIZE))
  462. #define IW_F1I5_B_SHIFTED_MASK (IW_F1I5_B_UNSHIFTED_MASK << IW_F1I5_B_LSB)
  463. #define GET_IW_F1I5_B(W) (((W) >> IW_F1I5_B_LSB) & IW_F1I5_B_UNSHIFTED_MASK)
  464. #define SET_IW_F1I5_B(V) (((V) & IW_F1I5_B_UNSHIFTED_MASK) << IW_F1I5_B_LSB)
  465. #define IW_F2_A_LSB 6
  466. #define IW_F2_A_SIZE 5
  467. #define IW_F2_A_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_F2_A_SIZE))
  468. #define IW_F2_A_SHIFTED_MASK (IW_F2_A_UNSHIFTED_MASK << IW_F2_A_LSB)
  469. #define GET_IW_F2_A(W) (((W) >> IW_F2_A_LSB) & IW_F2_A_UNSHIFTED_MASK)
  470. #define SET_IW_F2_A(V) (((V) & IW_F2_A_UNSHIFTED_MASK) << IW_F2_A_LSB)
  471. #define IW_F2_B_LSB 11
  472. #define IW_F2_B_SIZE 5
  473. #define IW_F2_B_UNSHIFTED_MASK (0xffffffffu >> (32 - IW_F2_B_SIZE))
  474. #define IW_F2_B_SHIFTED_MASK (IW_F2_B_UNSHIFTED_MASK << IW_F2_B_LSB)
  475. #define GET_IW_F2_B(W) (((W) >> IW_F2_B_LSB) & IW_F2_B_UNSHIFTED_MASK)
  476. #define SET_IW_F2_B(V) (((V) & IW_F2_B_UNSHIFTED_MASK) << IW_F2_B_LSB)
  477. /* R2 opcodes. */
  478. #define R2_OP_CALL 0
  479. #define R2_OP_AS_N 1
  480. #define R2_OP_BR 2
  481. #define R2_OP_BR_N 3
  482. #define R2_OP_ADDI 4
  483. #define R2_OP_LDBU_N 5
  484. #define R2_OP_LDBU 6
  485. #define R2_OP_LDB 7
  486. #define R2_OP_JMPI 8
  487. #define R2_OP_R_N 9
  488. #define R2_OP_ANDI_N 11
  489. #define R2_OP_ANDI 12
  490. #define R2_OP_LDHU_N 13
  491. #define R2_OP_LDHU 14
  492. #define R2_OP_LDH 15
  493. #define R2_OP_ASI_N 17
  494. #define R2_OP_BGE 18
  495. #define R2_OP_LDWSP_N 19
  496. #define R2_OP_ORI 20
  497. #define R2_OP_LDW_N 21
  498. #define R2_OP_CMPGEI 22
  499. #define R2_OP_LDW 23
  500. #define R2_OP_SHI_N 25
  501. #define R2_OP_BLT 26
  502. #define R2_OP_MOVI_N 27
  503. #define R2_OP_XORI 28
  504. #define R2_OP_STZ_N 29
  505. #define R2_OP_CMPLTI 30
  506. #define R2_OP_ANDCI 31
  507. #define R2_OP_OPX 32
  508. #define R2_OP_PP_N 33
  509. #define R2_OP_BNE 34
  510. #define R2_OP_BNEZ_N 35
  511. #define R2_OP_MULI 36
  512. #define R2_OP_STB_N 37
  513. #define R2_OP_CMPNEI 38
  514. #define R2_OP_STB 39
  515. #define R2_OP_I12 40
  516. #define R2_OP_SPI_N 41
  517. #define R2_OP_BEQ 42
  518. #define R2_OP_BEQZ_N 43
  519. #define R2_OP_ANDHI 44
  520. #define R2_OP_STH_N 45
  521. #define R2_OP_CMPEQI 46
  522. #define R2_OP_STH 47
  523. #define R2_OP_CUSTOM 48
  524. #define R2_OP_BGEU 50
  525. #define R2_OP_STWSP_N 51
  526. #define R2_OP_ORHI 52
  527. #define R2_OP_STW_N 53
  528. #define R2_OP_CMPGEUI 54
  529. #define R2_OP_STW 55
  530. #define R2_OP_BLTU 58
  531. #define R2_OP_MOV_N 59
  532. #define R2_OP_XORHI 60
  533. #define R2_OP_SPADDI_N 61
  534. #define R2_OP_CMPLTUI 62
  535. #define R2_OP_ANDCHI 63
  536. #define R2_OPX_WRPIE 0
  537. #define R2_OPX_ERET 1
  538. #define R2_OPX_ROLI 2
  539. #define R2_OPX_ROL 3
  540. #define R2_OPX_FLUSHP 4
  541. #define R2_OPX_RET 5
  542. #define R2_OPX_NOR 6
  543. #define R2_OPX_MULXUU 7
  544. #define R2_OPX_ENI 8
  545. #define R2_OPX_BRET 9
  546. #define R2_OPX_ROR 11
  547. #define R2_OPX_FLUSHI 12
  548. #define R2_OPX_JMP 13
  549. #define R2_OPX_AND 14
  550. #define R2_OPX_CMPGE 16
  551. #define R2_OPX_SLLI 18
  552. #define R2_OPX_SLL 19
  553. #define R2_OPX_WRPRS 20
  554. #define R2_OPX_OR 22
  555. #define R2_OPX_MULXSU 23
  556. #define R2_OPX_CMPLT 24
  557. #define R2_OPX_SRLI 26
  558. #define R2_OPX_SRL 27
  559. #define R2_OPX_NEXTPC 28
  560. #define R2_OPX_CALLR 29
  561. #define R2_OPX_XOR 30
  562. #define R2_OPX_MULXSS 31
  563. #define R2_OPX_CMPNE 32
  564. #define R2_OPX_INSERT 35
  565. #define R2_OPX_DIVU 36
  566. #define R2_OPX_DIV 37
  567. #define R2_OPX_RDCTL 38
  568. #define R2_OPX_MUL 39
  569. #define R2_OPX_CMPEQ 40
  570. #define R2_OPX_INITI 41
  571. #define R2_OPX_MERGE 43
  572. #define R2_OPX_HBREAK 44
  573. #define R2_OPX_TRAP 45
  574. #define R2_OPX_WRCTL 46
  575. #define R2_OPX_CMPGEU 48
  576. #define R2_OPX_ADD 49
  577. #define R2_OPX_EXTRACT 51
  578. #define R2_OPX_BREAK 52
  579. #define R2_OPX_LDEX 53
  580. #define R2_OPX_SYNC 54
  581. #define R2_OPX_LDSEX 55
  582. #define R2_OPX_CMPLTU 56
  583. #define R2_OPX_SUB 57
  584. #define R2_OPX_SRAI 58
  585. #define R2_OPX_SRA 59
  586. #define R2_OPX_STEX 61
  587. #define R2_OPX_STSEX 63
  588. #define R2_I12_LDBIO 0
  589. #define R2_I12_STBIO 1
  590. #define R2_I12_LDBUIO 2
  591. #define R2_I12_DCACHE 3
  592. #define R2_I12_LDHIO 4
  593. #define R2_I12_STHIO 5
  594. #define R2_I12_LDHUIO 6
  595. #define R2_I12_RDPRS 7
  596. #define R2_I12_LDWIO 8
  597. #define R2_I12_STWIO 9
  598. #define R2_I12_LDWM 12
  599. #define R2_I12_STWM 13
  600. #define R2_DCACHE_INITD 0
  601. #define R2_DCACHE_INITDA 1
  602. #define R2_DCACHE_FLUSHD 2
  603. #define R2_DCACHE_FLUSHDA 3
  604. #define R2_AS_N_ADD_N 0
  605. #define R2_AS_N_SUB_N 1
  606. #define R2_R_N_AND_N 0
  607. #define R2_R_N_OR_N 2
  608. #define R2_R_N_XOR_N 3
  609. #define R2_R_N_SLL_N 4
  610. #define R2_R_N_SRL_N 5
  611. #define R2_R_N_NOT_N 6
  612. #define R2_R_N_NEG_N 7
  613. #define R2_R_N_CALLR_N 8
  614. #define R2_R_N_JMPR_N 10
  615. #define R2_R_N_BREAK_N 12
  616. #define R2_R_N_TRAP_N 13
  617. #define R2_R_N_RET_N 14
  618. #define R2_SPI_N_SPINCI_N 0
  619. #define R2_SPI_N_SPDECI_N 1
  620. #define R2_ASI_N_ADDI_N 0
  621. #define R2_ASI_N_SUBI_N 1
  622. #define R2_SHI_N_SLLI_N 0
  623. #define R2_SHI_N_SRLI_N 1
  624. #define R2_PP_N_POP_N 0
  625. #define R2_PP_N_PUSH_N 1
  626. #define R2_STZ_N_STWZ_N 0
  627. #define R2_STZ_N_STBZ_N 1
  628. /* Convenience macros for R2 encodings. */
  629. #define MATCH_R2_OP(NAME) \
  630. (SET_IW_R2_OP (R2_OP_##NAME))
  631. #define MASK_R2_OP \
  632. IW_R2_OP_SHIFTED_MASK
  633. #define MATCH_R2_OPX0(NAME) \
  634. (SET_IW_R2_OP (R2_OP_OPX) | SET_IW_OPX_X (R2_OPX_##NAME))
  635. #define MASK_R2_OPX0 \
  636. (IW_R2_OP_SHIFTED_MASK | IW_OPX_X_SHIFTED_MASK \
  637. | IW_F3X6L5_IMM5_SHIFTED_MASK)
  638. #define MATCH_R2_OPX(NAME, A, B, C) \
  639. (MATCH_R2_OPX0 (NAME) | SET_IW_F3X6L5_A (A) | SET_IW_F3X6L5_B (B) \
  640. | SET_IW_F3X6L5_C (C))
  641. #define MASK_R2_OPX(A, B, C, N) \
  642. (IW_R2_OP_SHIFTED_MASK | IW_OPX_X_SHIFTED_MASK \
  643. | (A ? IW_F3X6L5_A_SHIFTED_MASK : 0) \
  644. | (B ? IW_F3X6L5_B_SHIFTED_MASK : 0) \
  645. | (C ? IW_F3X6L5_C_SHIFTED_MASK : 0) \
  646. | (N ? IW_F3X6L5_IMM5_SHIFTED_MASK : 0))
  647. #define MATCH_R2_I12(NAME) \
  648. (SET_IW_R2_OP (R2_OP_I12) | SET_IW_I12_X (R2_I12_##NAME))
  649. #define MASK_R2_I12 \
  650. (IW_R2_OP_SHIFTED_MASK | IW_I12_X_SHIFTED_MASK )
  651. #define MATCH_R2_DCACHE(NAME) \
  652. (MATCH_R2_I12(DCACHE) | SET_IW_F1X4I12_X (R2_DCACHE_##NAME))
  653. #define MASK_R2_DCACHE \
  654. (MASK_R2_I12 | IW_F1X4I12_X_SHIFTED_MASK)
  655. #define MATCH_R2_R_N(NAME) \
  656. (SET_IW_R2_OP (R2_OP_R_N) | SET_IW_R_N_X (R2_R_N_##NAME))
  657. #define MASK_R2_R_N \
  658. (IW_R2_OP_SHIFTED_MASK | IW_R_N_X_SHIFTED_MASK )
  659. /* Match/mask macros for R2 instructions. */
  660. #define MATCH_R2_ADD MATCH_R2_OPX0 (ADD)
  661. #define MASK_R2_ADD MASK_R2_OPX0
  662. #define MATCH_R2_ADDI MATCH_R2_OP (ADDI)
  663. #define MASK_R2_ADDI MASK_R2_OP
  664. #define MATCH_R2_ADD_N (MATCH_R2_OP (AS_N) | SET_IW_T3X1_X (R2_AS_N_ADD_N))
  665. #define MASK_R2_ADD_N (MASK_R2_OP | IW_T3X1_X_SHIFTED_MASK)
  666. #define MATCH_R2_ADDI_N (MATCH_R2_OP (ASI_N) | SET_IW_T2X1I3_X (R2_ASI_N_ADDI_N))
  667. #define MASK_R2_ADDI_N (MASK_R2_OP | IW_T2X1I3_X_SHIFTED_MASK)
  668. #define MATCH_R2_AND MATCH_R2_OPX0 (AND)
  669. #define MASK_R2_AND MASK_R2_OPX0
  670. #define MATCH_R2_ANDCHI MATCH_R2_OP (ANDCHI)
  671. #define MASK_R2_ANDCHI MASK_R2_OP
  672. #define MATCH_R2_ANDCI MATCH_R2_OP (ANDCI)
  673. #define MASK_R2_ANDCI MASK_R2_OP
  674. #define MATCH_R2_ANDHI MATCH_R2_OP (ANDHI)
  675. #define MASK_R2_ANDHI MASK_R2_OP
  676. #define MATCH_R2_ANDI MATCH_R2_OP (ANDI)
  677. #define MASK_R2_ANDI MASK_R2_OP
  678. #define MATCH_R2_ANDI_N MATCH_R2_OP (ANDI_N)
  679. #define MASK_R2_ANDI_N MASK_R2_OP
  680. #define MATCH_R2_AND_N MATCH_R2_R_N (AND_N)
  681. #define MASK_R2_AND_N MASK_R2_R_N
  682. #define MATCH_R2_BEQ MATCH_R2_OP (BEQ)
  683. #define MASK_R2_BEQ MASK_R2_OP
  684. #define MATCH_R2_BEQZ_N MATCH_R2_OP (BEQZ_N)
  685. #define MASK_R2_BEQZ_N MASK_R2_OP
  686. #define MATCH_R2_BGE MATCH_R2_OP (BGE)
  687. #define MASK_R2_BGE MASK_R2_OP
  688. #define MATCH_R2_BGEU MATCH_R2_OP (BGEU)
  689. #define MASK_R2_BGEU MASK_R2_OP
  690. #define MATCH_R2_BGT MATCH_R2_OP (BLT)
  691. #define MASK_R2_BGT MASK_R2_OP
  692. #define MATCH_R2_BGTU MATCH_R2_OP (BLTU)
  693. #define MASK_R2_BGTU MASK_R2_OP
  694. #define MATCH_R2_BLE MATCH_R2_OP (BGE)
  695. #define MASK_R2_BLE MASK_R2_OP
  696. #define MATCH_R2_BLEU MATCH_R2_OP (BGEU)
  697. #define MASK_R2_BLEU MASK_R2_OP
  698. #define MATCH_R2_BLT MATCH_R2_OP (BLT)
  699. #define MASK_R2_BLT MASK_R2_OP
  700. #define MATCH_R2_BLTU MATCH_R2_OP (BLTU)
  701. #define MASK_R2_BLTU MASK_R2_OP
  702. #define MATCH_R2_BNE MATCH_R2_OP (BNE)
  703. #define MASK_R2_BNE MASK_R2_OP
  704. #define MATCH_R2_BNEZ_N MATCH_R2_OP (BNEZ_N)
  705. #define MASK_R2_BNEZ_N MASK_R2_OP
  706. #define MATCH_R2_BR MATCH_R2_OP (BR)
  707. #define MASK_R2_BR MASK_R2_OP | IW_F2I16_A_SHIFTED_MASK | IW_F2I16_B_SHIFTED_MASK
  708. #define MATCH_R2_BREAK MATCH_R2_OPX (BREAK, 0, 0, 0x1e)
  709. #define MASK_R2_BREAK MASK_R2_OPX (1, 1, 1, 0)
  710. #define MATCH_R2_BREAK_N MATCH_R2_R_N (BREAK_N)
  711. #define MASK_R2_BREAK_N MASK_R2_R_N
  712. #define MATCH_R2_BRET MATCH_R2_OPX (BRET, 0x1e, 0, 0)
  713. #define MASK_R2_BRET MASK_R2_OPX (1, 1, 1, 1)
  714. #define MATCH_R2_BR_N MATCH_R2_OP (BR_N)
  715. #define MASK_R2_BR_N MASK_R2_OP
  716. #define MATCH_R2_CALL MATCH_R2_OP (CALL)
  717. #define MASK_R2_CALL MASK_R2_OP
  718. #define MATCH_R2_CALLR MATCH_R2_OPX (CALLR, 0, 0, 0x1f)
  719. #define MASK_R2_CALLR MASK_R2_OPX (0, 1, 1, 1)
  720. #define MATCH_R2_CALLR_N MATCH_R2_R_N (CALLR_N)
  721. #define MASK_R2_CALLR_N MASK_R2_R_N
  722. #define MATCH_R2_CMPEQ MATCH_R2_OPX0 (CMPEQ)
  723. #define MASK_R2_CMPEQ MASK_R2_OPX0
  724. #define MATCH_R2_CMPEQI MATCH_R2_OP (CMPEQI)
  725. #define MASK_R2_CMPEQI MASK_R2_OP
  726. #define MATCH_R2_CMPGE MATCH_R2_OPX0 (CMPGE)
  727. #define MASK_R2_CMPGE MASK_R2_OPX0
  728. #define MATCH_R2_CMPGEI MATCH_R2_OP (CMPGEI)
  729. #define MASK_R2_CMPGEI MASK_R2_OP
  730. #define MATCH_R2_CMPGEU MATCH_R2_OPX0 (CMPGEU)
  731. #define MASK_R2_CMPGEU MASK_R2_OPX0
  732. #define MATCH_R2_CMPGEUI MATCH_R2_OP (CMPGEUI)
  733. #define MASK_R2_CMPGEUI MASK_R2_OP
  734. #define MATCH_R2_CMPGT MATCH_R2_OPX0 (CMPLT)
  735. #define MASK_R2_CMPGT MASK_R2_OPX0
  736. #define MATCH_R2_CMPGTI MATCH_R2_OP (CMPGEI)
  737. #define MASK_R2_CMPGTI MASK_R2_OP
  738. #define MATCH_R2_CMPGTU MATCH_R2_OPX0 (CMPLTU)
  739. #define MASK_R2_CMPGTU MASK_R2_OPX0
  740. #define MATCH_R2_CMPGTUI MATCH_R2_OP (CMPGEUI)
  741. #define MASK_R2_CMPGTUI MASK_R2_OP
  742. #define MATCH_R2_CMPLE MATCH_R2_OPX0 (CMPGE)
  743. #define MASK_R2_CMPLE MASK_R2_OPX0
  744. #define MATCH_R2_CMPLEI MATCH_R2_OP (CMPLTI)
  745. #define MASK_R2_CMPLEI MASK_R2_OP
  746. #define MATCH_R2_CMPLEU MATCH_R2_OPX0 (CMPGEU)
  747. #define MASK_R2_CMPLEU MASK_R2_OPX0
  748. #define MATCH_R2_CMPLEUI MATCH_R2_OP (CMPLTUI)
  749. #define MASK_R2_CMPLEUI MASK_R2_OP
  750. #define MATCH_R2_CMPLT MATCH_R2_OPX0 (CMPLT)
  751. #define MASK_R2_CMPLT MASK_R2_OPX0
  752. #define MATCH_R2_CMPLTI MATCH_R2_OP (CMPLTI)
  753. #define MASK_R2_CMPLTI MASK_R2_OP
  754. #define MATCH_R2_CMPLTU MATCH_R2_OPX0 (CMPLTU)
  755. #define MASK_R2_CMPLTU MASK_R2_OPX0
  756. #define MATCH_R2_CMPLTUI MATCH_R2_OP (CMPLTUI)
  757. #define MASK_R2_CMPLTUI MASK_R2_OP
  758. #define MATCH_R2_CMPNE MATCH_R2_OPX0 (CMPNE)
  759. #define MASK_R2_CMPNE MASK_R2_OPX0
  760. #define MATCH_R2_CMPNEI MATCH_R2_OP (CMPNEI)
  761. #define MASK_R2_CMPNEI MASK_R2_OP
  762. #define MATCH_R2_CUSTOM MATCH_R2_OP (CUSTOM)
  763. #define MASK_R2_CUSTOM MASK_R2_OP
  764. #define MATCH_R2_DIV MATCH_R2_OPX0 (DIV)
  765. #define MASK_R2_DIV MASK_R2_OPX0
  766. #define MATCH_R2_DIVU MATCH_R2_OPX0 (DIVU)
  767. #define MASK_R2_DIVU MASK_R2_OPX0
  768. #define MATCH_R2_ENI MATCH_R2_OPX (ENI, 0, 0, 0)
  769. #define MASK_R2_ENI MASK_R2_OPX (1, 1, 1, 0)
  770. #define MATCH_R2_ERET MATCH_R2_OPX (ERET, 0x1d, 0x1e, 0)
  771. #define MASK_R2_ERET MASK_R2_OPX (1, 1, 1, 1)
  772. #define MATCH_R2_EXTRACT MATCH_R2_OPX (EXTRACT, 0, 0, 0)
  773. #define MASK_R2_EXTRACT MASK_R2_OPX (0, 0, 0, 0)
  774. #define MATCH_R2_FLUSHD MATCH_R2_DCACHE (FLUSHD)
  775. #define MASK_R2_FLUSHD MASK_R2_DCACHE
  776. #define MATCH_R2_FLUSHDA MATCH_R2_DCACHE (FLUSHDA)
  777. #define MASK_R2_FLUSHDA MASK_R2_DCACHE
  778. #define MATCH_R2_FLUSHI MATCH_R2_OPX (FLUSHI, 0, 0, 0)
  779. #define MASK_R2_FLUSHI MASK_R2_OPX (0, 1, 1, 1)
  780. #define MATCH_R2_FLUSHP MATCH_R2_OPX (FLUSHP, 0, 0, 0)
  781. #define MASK_R2_FLUSHP MASK_R2_OPX (1, 1, 1, 1)
  782. #define MATCH_R2_INITD MATCH_R2_DCACHE (INITD)
  783. #define MASK_R2_INITD MASK_R2_DCACHE
  784. #define MATCH_R2_INITDA MATCH_R2_DCACHE (INITDA)
  785. #define MASK_R2_INITDA MASK_R2_DCACHE
  786. #define MATCH_R2_INITI MATCH_R2_OPX (INITI, 0, 0, 0)
  787. #define MASK_R2_INITI MASK_R2_OPX (0, 1, 1, 1)
  788. #define MATCH_R2_INSERT MATCH_R2_OPX (INSERT, 0, 0, 0)
  789. #define MASK_R2_INSERT MASK_R2_OPX (0, 0, 0, 0)
  790. #define MATCH_R2_JMP MATCH_R2_OPX (JMP, 0, 0, 0)
  791. #define MASK_R2_JMP MASK_R2_OPX (0, 1, 1, 1)
  792. #define MATCH_R2_JMPI MATCH_R2_OP (JMPI)
  793. #define MASK_R2_JMPI MASK_R2_OP
  794. #define MATCH_R2_JMPR_N MATCH_R2_R_N (JMPR_N)
  795. #define MASK_R2_JMPR_N MASK_R2_R_N
  796. #define MATCH_R2_LDB MATCH_R2_OP (LDB)
  797. #define MASK_R2_LDB MASK_R2_OP
  798. #define MATCH_R2_LDBIO MATCH_R2_I12 (LDBIO)
  799. #define MASK_R2_LDBIO MASK_R2_I12
  800. #define MATCH_R2_LDBU MATCH_R2_OP (LDBU)
  801. #define MASK_R2_LDBU MASK_R2_OP
  802. #define MATCH_R2_LDBUIO MATCH_R2_I12 (LDBUIO)
  803. #define MASK_R2_LDBUIO MASK_R2_I12
  804. #define MATCH_R2_LDBU_N MATCH_R2_OP (LDBU_N)
  805. #define MASK_R2_LDBU_N MASK_R2_OP
  806. #define MATCH_R2_LDEX MATCH_R2_OPX (LDEX, 0, 0, 0)
  807. #define MASK_R2_LDEX MASK_R2_OPX (0, 1, 0, 1)
  808. #define MATCH_R2_LDH MATCH_R2_OP (LDH)
  809. #define MASK_R2_LDH MASK_R2_OP
  810. #define MATCH_R2_LDHIO MATCH_R2_I12 (LDHIO)
  811. #define MASK_R2_LDHIO MASK_R2_I12
  812. #define MATCH_R2_LDHU MATCH_R2_OP (LDHU)
  813. #define MASK_R2_LDHU MASK_R2_OP
  814. #define MATCH_R2_LDHUIO MATCH_R2_I12 (LDHUIO)
  815. #define MASK_R2_LDHUIO MASK_R2_I12
  816. #define MATCH_R2_LDHU_N MATCH_R2_OP (LDHU_N)
  817. #define MASK_R2_LDHU_N MASK_R2_OP
  818. #define MATCH_R2_LDSEX MATCH_R2_OPX (LDSEX, 0, 0, 0)
  819. #define MASK_R2_LDSEX MASK_R2_OPX (0, 1, 0, 1)
  820. #define MATCH_R2_LDW MATCH_R2_OP (LDW)
  821. #define MASK_R2_LDW MASK_R2_OP
  822. #define MATCH_R2_LDWIO MATCH_R2_I12 (LDWIO)
  823. #define MASK_R2_LDWIO MASK_R2_I12
  824. #define MATCH_R2_LDWM MATCH_R2_I12 (LDWM)
  825. #define MASK_R2_LDWM MASK_R2_I12
  826. #define MATCH_R2_LDWSP_N MATCH_R2_OP (LDWSP_N)
  827. #define MASK_R2_LDWSP_N MASK_R2_OP
  828. #define MATCH_R2_LDW_N MATCH_R2_OP (LDW_N)
  829. #define MASK_R2_LDW_N MASK_R2_OP
  830. #define MATCH_R2_MERGE MATCH_R2_OPX (MERGE, 0, 0, 0)
  831. #define MASK_R2_MERGE MASK_R2_OPX (0, 0, 0, 0)
  832. #define MATCH_R2_MOV MATCH_R2_OPX (ADD, 0, 0, 0)
  833. #define MASK_R2_MOV MASK_R2_OPX (0, 1, 0, 1)
  834. #define MATCH_R2_MOVHI MATCH_R2_OP (ORHI) | SET_IW_F2I16_A (0)
  835. #define MASK_R2_MOVHI MASK_R2_OP | IW_F2I16_A_SHIFTED_MASK
  836. #define MATCH_R2_MOVI MATCH_R2_OP (ADDI) | SET_IW_F2I16_A (0)
  837. #define MASK_R2_MOVI MASK_R2_OP | IW_F2I16_A_SHIFTED_MASK
  838. #define MATCH_R2_MOVUI MATCH_R2_OP (ORI) | SET_IW_F2I16_A (0)
  839. #define MASK_R2_MOVUI MASK_R2_OP | IW_F2I16_A_SHIFTED_MASK
  840. #define MATCH_R2_MOV_N MATCH_R2_OP (MOV_N)
  841. #define MASK_R2_MOV_N MASK_R2_OP
  842. #define MATCH_R2_MOVI_N MATCH_R2_OP (MOVI_N)
  843. #define MASK_R2_MOVI_N MASK_R2_OP
  844. #define MATCH_R2_MUL MATCH_R2_OPX0 (MUL)
  845. #define MASK_R2_MUL MASK_R2_OPX0
  846. #define MATCH_R2_MULI MATCH_R2_OP (MULI)
  847. #define MASK_R2_MULI MASK_R2_OP
  848. #define MATCH_R2_MULXSS MATCH_R2_OPX0 (MULXSS)
  849. #define MASK_R2_MULXSS MASK_R2_OPX0
  850. #define MATCH_R2_MULXSU MATCH_R2_OPX0 (MULXSU)
  851. #define MASK_R2_MULXSU MASK_R2_OPX0
  852. #define MATCH_R2_MULXUU MATCH_R2_OPX0 (MULXUU)
  853. #define MASK_R2_MULXUU MASK_R2_OPX0
  854. #define MATCH_R2_NEG_N MATCH_R2_R_N (NEG_N)
  855. #define MASK_R2_NEG_N MASK_R2_R_N
  856. #define MATCH_R2_NEXTPC MATCH_R2_OPX (NEXTPC, 0, 0, 0)
  857. #define MASK_R2_NEXTPC MASK_R2_OPX (1, 1, 0, 1)
  858. #define MATCH_R2_NOP MATCH_R2_OPX (ADD, 0, 0, 0)
  859. #define MASK_R2_NOP MASK_R2_OPX (1, 1, 1, 1)
  860. #define MATCH_R2_NOP_N (MATCH_R2_OP (MOV_N) | SET_IW_F2_A (0) | SET_IW_F2_B (0))
  861. #define MASK_R2_NOP_N (MASK_R2_OP | IW_F2_A_SHIFTED_MASK | IW_F2_B_SHIFTED_MASK)
  862. #define MATCH_R2_NOR MATCH_R2_OPX0 (NOR)
  863. #define MASK_R2_NOR MASK_R2_OPX0
  864. #define MATCH_R2_NOT_N MATCH_R2_R_N (NOT_N)
  865. #define MASK_R2_NOT_N MASK_R2_R_N
  866. #define MATCH_R2_OR MATCH_R2_OPX0 (OR)
  867. #define MASK_R2_OR MASK_R2_OPX0
  868. #define MATCH_R2_OR_N MATCH_R2_R_N (OR_N)
  869. #define MASK_R2_OR_N MASK_R2_R_N
  870. #define MATCH_R2_ORHI MATCH_R2_OP (ORHI)
  871. #define MASK_R2_ORHI MASK_R2_OP
  872. #define MATCH_R2_ORI MATCH_R2_OP (ORI)
  873. #define MASK_R2_ORI MASK_R2_OP
  874. #define MATCH_R2_POP_N (MATCH_R2_OP (PP_N) | SET_IW_L5I4X1_X (R2_PP_N_POP_N))
  875. #define MASK_R2_POP_N (MASK_R2_OP | IW_L5I4X1_X_SHIFTED_MASK)
  876. #define MATCH_R2_PUSH_N (MATCH_R2_OP (PP_N) | SET_IW_L5I4X1_X (R2_PP_N_PUSH_N))
  877. #define MASK_R2_PUSH_N (MASK_R2_OP | IW_L5I4X1_X_SHIFTED_MASK)
  878. #define MATCH_R2_RDCTL MATCH_R2_OPX (RDCTL, 0, 0, 0)
  879. #define MASK_R2_RDCTL MASK_R2_OPX (1, 1, 0, 0)
  880. #define MATCH_R2_RDPRS MATCH_R2_I12 (RDPRS)
  881. #define MASK_R2_RDPRS MASK_R2_I12
  882. #define MATCH_R2_RET MATCH_R2_OPX (RET, 0x1f, 0, 0)
  883. #define MASK_R2_RET MASK_R2_OPX (1, 1, 1, 1)
  884. #define MATCH_R2_RET_N (MATCH_R2_R_N (RET_N) | SET_IW_X2L5_IMM5 (0))
  885. #define MASK_R2_RET_N (MASK_R2_R_N | IW_X2L5_IMM5_SHIFTED_MASK)
  886. #define MATCH_R2_ROL MATCH_R2_OPX0 (ROL)
  887. #define MASK_R2_ROL MASK_R2_OPX0
  888. #define MATCH_R2_ROLI MATCH_R2_OPX (ROLI, 0, 0, 0)
  889. #define MASK_R2_ROLI MASK_R2_OPX (0, 1, 0, 0)
  890. #define MATCH_R2_ROR MATCH_R2_OPX0 (ROR)
  891. #define MASK_R2_ROR MASK_R2_OPX0
  892. #define MATCH_R2_SLL MATCH_R2_OPX0 (SLL)
  893. #define MASK_R2_SLL MASK_R2_OPX0
  894. #define MATCH_R2_SLLI MATCH_R2_OPX (SLLI, 0, 0, 0)
  895. #define MASK_R2_SLLI MASK_R2_OPX (0, 1, 0, 0)
  896. #define MATCH_R2_SLL_N MATCH_R2_R_N (SLL_N)
  897. #define MASK_R2_SLL_N MASK_R2_R_N
  898. #define MATCH_R2_SLLI_N (MATCH_R2_OP (SHI_N) | SET_IW_T2X1L3_X (R2_SHI_N_SLLI_N))
  899. #define MASK_R2_SLLI_N (MASK_R2_OP | IW_T2X1L3_X_SHIFTED_MASK)
  900. #define MATCH_R2_SPADDI_N MATCH_R2_OP (SPADDI_N)
  901. #define MASK_R2_SPADDI_N MASK_R2_OP
  902. #define MATCH_R2_SPDECI_N (MATCH_R2_OP (SPI_N) | SET_IW_X1I7_X (R2_SPI_N_SPDECI_N))
  903. #define MASK_R2_SPDECI_N (MASK_R2_OP | IW_X1I7_X_SHIFTED_MASK)
  904. #define MATCH_R2_SPINCI_N (MATCH_R2_OP (SPI_N) | SET_IW_X1I7_X (R2_SPI_N_SPINCI_N))
  905. #define MASK_R2_SPINCI_N (MASK_R2_OP | IW_X1I7_X_SHIFTED_MASK)
  906. #define MATCH_R2_SRA MATCH_R2_OPX0 (SRA)
  907. #define MASK_R2_SRA MASK_R2_OPX0
  908. #define MATCH_R2_SRAI MATCH_R2_OPX (SRAI, 0, 0, 0)
  909. #define MASK_R2_SRAI MASK_R2_OPX (0, 1, 0, 0)
  910. #define MATCH_R2_SRL MATCH_R2_OPX0 (SRL)
  911. #define MASK_R2_SRL MASK_R2_OPX0
  912. #define MATCH_R2_SRLI MATCH_R2_OPX (SRLI, 0, 0, 0)
  913. #define MASK_R2_SRLI MASK_R2_OPX (0, 1, 0, 0)
  914. #define MATCH_R2_SRL_N MATCH_R2_R_N (SRL_N)
  915. #define MASK_R2_SRL_N MASK_R2_R_N
  916. #define MATCH_R2_SRLI_N (MATCH_R2_OP (SHI_N) | SET_IW_T2X1L3_X (R2_SHI_N_SRLI_N))
  917. #define MASK_R2_SRLI_N (MASK_R2_OP | IW_T2X1L3_X_SHIFTED_MASK)
  918. #define MATCH_R2_STB MATCH_R2_OP (STB)
  919. #define MASK_R2_STB MASK_R2_OP
  920. #define MATCH_R2_STBIO MATCH_R2_I12 (STBIO)
  921. #define MASK_R2_STBIO MASK_R2_I12
  922. #define MATCH_R2_STB_N MATCH_R2_OP (STB_N)
  923. #define MASK_R2_STB_N MASK_R2_OP
  924. #define MATCH_R2_STBZ_N (MATCH_R2_OP (STZ_N) | SET_IW_T1X1I6_X (R2_STZ_N_STBZ_N))
  925. #define MASK_R2_STBZ_N (MASK_R2_OP | IW_T1X1I6_X_SHIFTED_MASK)
  926. #define MATCH_R2_STEX MATCH_R2_OPX0 (STEX)
  927. #define MASK_R2_STEX MASK_R2_OPX0
  928. #define MATCH_R2_STH MATCH_R2_OP (STH)
  929. #define MASK_R2_STH MASK_R2_OP
  930. #define MATCH_R2_STHIO MATCH_R2_I12 (STHIO)
  931. #define MASK_R2_STHIO MASK_R2_I12
  932. #define MATCH_R2_STH_N MATCH_R2_OP (STH_N)
  933. #define MASK_R2_STH_N MASK_R2_OP
  934. #define MATCH_R2_STSEX MATCH_R2_OPX0 (STSEX)
  935. #define MASK_R2_STSEX MASK_R2_OPX0
  936. #define MATCH_R2_STW MATCH_R2_OP (STW)
  937. #define MASK_R2_STW MASK_R2_OP
  938. #define MATCH_R2_STWIO MATCH_R2_I12 (STWIO)
  939. #define MASK_R2_STWIO MASK_R2_I12
  940. #define MATCH_R2_STWM MATCH_R2_I12 (STWM)
  941. #define MASK_R2_STWM MASK_R2_I12
  942. #define MATCH_R2_STWSP_N MATCH_R2_OP (STWSP_N)
  943. #define MASK_R2_STWSP_N MASK_R2_OP
  944. #define MATCH_R2_STW_N MATCH_R2_OP (STW_N)
  945. #define MASK_R2_STW_N MASK_R2_OP
  946. #define MATCH_R2_STWZ_N MATCH_R2_OP (STZ_N)
  947. #define MASK_R2_STWZ_N MASK_R2_OP
  948. #define MATCH_R2_SUB MATCH_R2_OPX0 (SUB)
  949. #define MASK_R2_SUB MASK_R2_OPX0
  950. #define MATCH_R2_SUBI MATCH_R2_OP (ADDI)
  951. #define MASK_R2_SUBI MASK_R2_OP
  952. #define MATCH_R2_SUB_N (MATCH_R2_OP (AS_N) | SET_IW_T3X1_X (R2_AS_N_SUB_N))
  953. #define MASK_R2_SUB_N (MASK_R2_OP | IW_T3X1_X_SHIFTED_MASK)
  954. #define MATCH_R2_SUBI_N (MATCH_R2_OP (ASI_N) | SET_IW_T2X1I3_X (R2_ASI_N_SUBI_N))
  955. #define MASK_R2_SUBI_N (MASK_R2_OP | IW_T2X1I3_X_SHIFTED_MASK)
  956. #define MATCH_R2_SYNC MATCH_R2_OPX (SYNC, 0, 0, 0)
  957. #define MASK_R2_SYNC MASK_R2_OPX (1, 1, 1, 1)
  958. #define MATCH_R2_TRAP MATCH_R2_OPX (TRAP, 0, 0, 0x1d)
  959. #define MASK_R2_TRAP MASK_R2_OPX (1, 1, 1, 0)
  960. #define MATCH_R2_TRAP_N MATCH_R2_R_N (TRAP_N)
  961. #define MASK_R2_TRAP_N MASK_R2_R_N
  962. #define MATCH_R2_WRCTL MATCH_R2_OPX (WRCTL, 0, 0, 0)
  963. #define MASK_R2_WRCTL MASK_R2_OPX (0, 1, 1, 0)
  964. #define MATCH_R2_WRPIE MATCH_R2_OPX (WRPIE, 0, 0, 0)
  965. #define MASK_R2_WRPIE MASK_R2_OPX (0, 1, 0, 1)
  966. #define MATCH_R2_WRPRS MATCH_R2_OPX (WRPRS, 0, 0, 0)
  967. #define MASK_R2_WRPRS MASK_R2_OPX (0, 1, 0, 1)
  968. #define MATCH_R2_XOR MATCH_R2_OPX0 (XOR)
  969. #define MASK_R2_XOR MASK_R2_OPX0
  970. #define MATCH_R2_XORHI MATCH_R2_OP (XORHI)
  971. #define MASK_R2_XORHI MASK_R2_OP
  972. #define MATCH_R2_XORI MATCH_R2_OP (XORI)
  973. #define MASK_R2_XORI MASK_R2_OP
  974. #define MATCH_R2_XOR_N MATCH_R2_R_N (XOR_N)
  975. #define MASK_R2_XOR_N MASK_R2_R_N
  976. #endif /* _NIOS2R2_H */