1bf215546Sopenharmony_ci#ifndef ISA_XML
2bf215546Sopenharmony_ci#define ISA_XML
3bf215546Sopenharmony_ci
4bf215546Sopenharmony_ci/* Autogenerated file, DO NOT EDIT manually!
5bf215546Sopenharmony_ci
6bf215546Sopenharmony_ciThis file was generated by the rules-ng-ng headergen tool in this git repository:
7bf215546Sopenharmony_cihttp://0x04.net/cgit/index.cgi/rules-ng-ng
8bf215546Sopenharmony_cigit clone git://0x04.net/rules-ng-ng
9bf215546Sopenharmony_ci
10bf215546Sopenharmony_ciThe rules-ng-ng source files this header was generated from are:
11bf215546Sopenharmony_ci- isa.xml       (  38205 bytes, from 2020-01-10 14:36:29)
12bf215546Sopenharmony_ci- copyright.xml (   1597 bytes, from 2018-02-10 13:09:26)
13bf215546Sopenharmony_ci
14bf215546Sopenharmony_ciCopyright (C) 2012-2020 by the following authors:
15bf215546Sopenharmony_ci- Wladimir J. van der Laan <laanwj@gmail.com>
16bf215546Sopenharmony_ci- Christian Gmeiner <christian.gmeiner@gmail.com>
17bf215546Sopenharmony_ci- Lucas Stach <l.stach@pengutronix.de>
18bf215546Sopenharmony_ci- Russell King <rmk@arm.linux.org.uk>
19bf215546Sopenharmony_ci
20bf215546Sopenharmony_ciPermission is hereby granted, free of charge, to any person obtaining a
21bf215546Sopenharmony_cicopy of this software and associated documentation files (the "Software"),
22bf215546Sopenharmony_cito deal in the Software without restriction, including without limitation
23bf215546Sopenharmony_cithe rights to use, copy, modify, merge, publish, distribute, sub license,
24bf215546Sopenharmony_ciand/or sell copies of the Software, and to permit persons to whom the
25bf215546Sopenharmony_ciSoftware is furnished to do so, subject to the following conditions:
26bf215546Sopenharmony_ci
27bf215546Sopenharmony_ciThe above copyright notice and this permission notice (including the
28bf215546Sopenharmony_cinext paragraph) shall be included in all copies or substantial portions
29bf215546Sopenharmony_ciof the Software.
30bf215546Sopenharmony_ci
31bf215546Sopenharmony_ciTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
32bf215546Sopenharmony_ciIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
33bf215546Sopenharmony_ciFITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
34bf215546Sopenharmony_ciTHE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
35bf215546Sopenharmony_ciLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
36bf215546Sopenharmony_ciFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
37bf215546Sopenharmony_ciDEALINGS IN THE SOFTWARE.
38bf215546Sopenharmony_ci*/
39bf215546Sopenharmony_ci
40bf215546Sopenharmony_ci
41bf215546Sopenharmony_ci#define INST_OPCODE_NOP						0x00000000
42bf215546Sopenharmony_ci#define INST_OPCODE_ADD						0x00000001
43bf215546Sopenharmony_ci#define INST_OPCODE_MAD						0x00000002
44bf215546Sopenharmony_ci#define INST_OPCODE_MUL						0x00000003
45bf215546Sopenharmony_ci#define INST_OPCODE_DST						0x00000004
46bf215546Sopenharmony_ci#define INST_OPCODE_DP3						0x00000005
47bf215546Sopenharmony_ci#define INST_OPCODE_DP4						0x00000006
48bf215546Sopenharmony_ci#define INST_OPCODE_DSX						0x00000007
49bf215546Sopenharmony_ci#define INST_OPCODE_DSY						0x00000008
50bf215546Sopenharmony_ci#define INST_OPCODE_MOV						0x00000009
51bf215546Sopenharmony_ci#define INST_OPCODE_MOVAR					0x0000000a
52bf215546Sopenharmony_ci#define INST_OPCODE_MOVAF					0x0000000b
53bf215546Sopenharmony_ci#define INST_OPCODE_RCP						0x0000000c
54bf215546Sopenharmony_ci#define INST_OPCODE_RSQ						0x0000000d
55bf215546Sopenharmony_ci#define INST_OPCODE_LITP					0x0000000e
56bf215546Sopenharmony_ci#define INST_OPCODE_SELECT					0x0000000f
57bf215546Sopenharmony_ci#define INST_OPCODE_SET						0x00000010
58bf215546Sopenharmony_ci#define INST_OPCODE_EXP						0x00000011
59bf215546Sopenharmony_ci#define INST_OPCODE_LOG						0x00000012
60bf215546Sopenharmony_ci#define INST_OPCODE_FRC						0x00000013
61bf215546Sopenharmony_ci#define INST_OPCODE_CALL					0x00000014
62bf215546Sopenharmony_ci#define INST_OPCODE_RET						0x00000015
63bf215546Sopenharmony_ci#define INST_OPCODE_BRANCH					0x00000016
64bf215546Sopenharmony_ci#define INST_OPCODE_TEXKILL					0x00000017
65bf215546Sopenharmony_ci#define INST_OPCODE_TEXLD					0x00000018
66bf215546Sopenharmony_ci#define INST_OPCODE_TEXLDB					0x00000019
67bf215546Sopenharmony_ci#define INST_OPCODE_TEXLDD					0x0000001a
68bf215546Sopenharmony_ci#define INST_OPCODE_TEXLDL					0x0000001b
69bf215546Sopenharmony_ci#define INST_OPCODE_TEXLDPCF					0x0000001c
70bf215546Sopenharmony_ci#define INST_OPCODE_REP						0x0000001d
71bf215546Sopenharmony_ci#define INST_OPCODE_ENDREP					0x0000001e
72bf215546Sopenharmony_ci#define INST_OPCODE_LOOP					0x0000001f
73bf215546Sopenharmony_ci#define INST_OPCODE_ENDLOOP					0x00000020
74bf215546Sopenharmony_ci#define INST_OPCODE_SQRT					0x00000021
75bf215546Sopenharmony_ci#define INST_OPCODE_SIN						0x00000022
76bf215546Sopenharmony_ci#define INST_OPCODE_COS						0x00000023
77bf215546Sopenharmony_ci#define INST_OPCODE_BRANCH2					0x00000024
78bf215546Sopenharmony_ci#define INST_OPCODE_FLOOR					0x00000025
79bf215546Sopenharmony_ci#define INST_OPCODE_CEIL					0x00000026
80bf215546Sopenharmony_ci#define INST_OPCODE_SIGN					0x00000027
81bf215546Sopenharmony_ci#define INST_OPCODE_ADDLO					0x00000028
82bf215546Sopenharmony_ci#define INST_OPCODE_MULLO					0x00000029
83bf215546Sopenharmony_ci#define INST_OPCODE_BARRIER					0x0000002a
84bf215546Sopenharmony_ci#define INST_OPCODE_SWIZZLE					0x0000002b
85bf215546Sopenharmony_ci#define INST_OPCODE_I2I						0x0000002c
86bf215546Sopenharmony_ci#define INST_OPCODE_I2F						0x0000002d
87bf215546Sopenharmony_ci#define INST_OPCODE_F2I						0x0000002e
88bf215546Sopenharmony_ci#define INST_OPCODE_F2IRND					0x0000002f
89bf215546Sopenharmony_ci#define INST_OPCODE_F2I7					0x00000030
90bf215546Sopenharmony_ci#define INST_OPCODE_CMP						0x00000031
91bf215546Sopenharmony_ci#define INST_OPCODE_LOAD					0x00000032
92bf215546Sopenharmony_ci#define INST_OPCODE_STORE					0x00000033
93bf215546Sopenharmony_ci#define INST_OPCODE_COPYSIGN					0x00000034
94bf215546Sopenharmony_ci#define INST_OPCODE_GETEXP					0x00000035
95bf215546Sopenharmony_ci#define INST_OPCODE_GETMANT					0x00000036
96bf215546Sopenharmony_ci#define INST_OPCODE_NAN						0x00000037
97bf215546Sopenharmony_ci#define INST_OPCODE_NEXTAFTER					0x00000038
98bf215546Sopenharmony_ci#define INST_OPCODE_ROUNDEVEN					0x00000039
99bf215546Sopenharmony_ci#define INST_OPCODE_ROUNDAWAY					0x0000003a
100bf215546Sopenharmony_ci#define INST_OPCODE_IADDSAT					0x0000003b
101bf215546Sopenharmony_ci#define INST_OPCODE_IMULLO0					0x0000003c
102bf215546Sopenharmony_ci#define INST_OPCODE_IMULLO1					0x0000003d
103bf215546Sopenharmony_ci#define INST_OPCODE_IMULLOSAT0					0x0000003e
104bf215546Sopenharmony_ci#define INST_OPCODE_IMULLOSAT1					0x0000003f
105bf215546Sopenharmony_ci#define INST_OPCODE_IMULHI0					0x00000040
106bf215546Sopenharmony_ci#define INST_OPCODE_IMULHI1					0x00000041
107bf215546Sopenharmony_ci#define INST_OPCODE_IMUL0					0x00000042
108bf215546Sopenharmony_ci#define INST_OPCODE_IMUL1					0x00000043
109bf215546Sopenharmony_ci#define INST_OPCODE_IDIV0					0x00000044
110bf215546Sopenharmony_ci#define INST_OPCODE_IDIV1					0x00000045
111bf215546Sopenharmony_ci#define INST_OPCODE_IDIV2					0x00000046
112bf215546Sopenharmony_ci#define INST_OPCODE_IDIV3					0x00000047
113bf215546Sopenharmony_ci#define INST_OPCODE_IMOD0					0x00000048
114bf215546Sopenharmony_ci#define INST_OPCODE_TEXELFETCH					0x00000049
115bf215546Sopenharmony_ci#define INST_OPCODE_IMOD2					0x0000004a
116bf215546Sopenharmony_ci#define INST_OPCODE_IMOD3					0x0000004b
117bf215546Sopenharmony_ci#define INST_OPCODE_IMADLO0					0x0000004c
118bf215546Sopenharmony_ci#define INST_OPCODE_IMADLO1					0x0000004d
119bf215546Sopenharmony_ci#define INST_OPCODE_IMADLOSAT0					0x0000004e
120bf215546Sopenharmony_ci#define INST_OPCODE_IMADLOSAT1					0x0000004f
121bf215546Sopenharmony_ci#define INST_OPCODE_IMADHI0					0x00000050
122bf215546Sopenharmony_ci#define INST_OPCODE_IMADHI1					0x00000051
123bf215546Sopenharmony_ci#define INST_OPCODE_IMADHISAT0					0x00000052
124bf215546Sopenharmony_ci#define INST_OPCODE_IMADHISAT1					0x00000053
125bf215546Sopenharmony_ci#define INST_OPCODE_HALFADD					0x00000054
126bf215546Sopenharmony_ci#define INST_OPCODE_HALFADDINC					0x00000055
127bf215546Sopenharmony_ci#define INST_OPCODE_MOVAI					0x00000056
128bf215546Sopenharmony_ci#define INST_OPCODE_IABS					0x00000057
129bf215546Sopenharmony_ci#define INST_OPCODE_LEADZERO					0x00000058
130bf215546Sopenharmony_ci#define INST_OPCODE_LSHIFT					0x00000059
131bf215546Sopenharmony_ci#define INST_OPCODE_RSHIFT					0x0000005a
132bf215546Sopenharmony_ci#define INST_OPCODE_ROTATE					0x0000005b
133bf215546Sopenharmony_ci#define INST_OPCODE_OR						0x0000005c
134bf215546Sopenharmony_ci#define INST_OPCODE_AND						0x0000005d
135bf215546Sopenharmony_ci#define INST_OPCODE_XOR						0x0000005e
136bf215546Sopenharmony_ci#define INST_OPCODE_NOT						0x0000005f
137bf215546Sopenharmony_ci#define INST_OPCODE_BITSELECT					0x00000060
138bf215546Sopenharmony_ci#define INST_OPCODE_POPCOUNT					0x00000061
139bf215546Sopenharmony_ci#define INST_OPCODE_STOREB					0x00000062
140bf215546Sopenharmony_ci#define INST_OPCODE_RGB2YUV					0x00000063
141bf215546Sopenharmony_ci#define INST_OPCODE_DIV						0x00000064
142bf215546Sopenharmony_ci#define INST_OPCODE_ATOM_ADD					0x00000065
143bf215546Sopenharmony_ci#define INST_OPCODE_ATOM_XCHG					0x00000066
144bf215546Sopenharmony_ci#define INST_OPCODE_ATOM_CMP_XCHG				0x00000067
145bf215546Sopenharmony_ci#define INST_OPCODE_ATOM_MIN					0x00000068
146bf215546Sopenharmony_ci#define INST_OPCODE_ATOM_MAX					0x00000069
147bf215546Sopenharmony_ci#define INST_OPCODE_ATOM_OR					0x0000006a
148bf215546Sopenharmony_ci#define INST_OPCODE_ATOM_AND					0x0000006b
149bf215546Sopenharmony_ci#define INST_OPCODE_ATOM_XOR					0x0000006c
150bf215546Sopenharmony_ci#define INST_OPCODE_BIT_REV					0x0000006d
151bf215546Sopenharmony_ci#define INST_OPCODE_BYTE_REV					0x0000006e
152bf215546Sopenharmony_ci#define INST_OPCODE_TEXLDLPCF					0x0000006f
153bf215546Sopenharmony_ci#define INST_OPCODE_TEXLDGPCF					0x00000070
154bf215546Sopenharmony_ci#define INST_OPCODE_PACK					0x00000071
155bf215546Sopenharmony_ci#define INST_OPCODE_CONV					0x00000072
156bf215546Sopenharmony_ci#define INST_OPCODE_DP2						0x00000073
157bf215546Sopenharmony_ci#define INST_OPCODE_NORM_DP2					0x00000074
158bf215546Sopenharmony_ci#define INST_OPCODE_NORM_DP3					0x00000075
159bf215546Sopenharmony_ci#define INST_OPCODE_NORM_DP4					0x00000076
160bf215546Sopenharmony_ci#define INST_OPCODE_NORM_MUL					0x00000077
161bf215546Sopenharmony_ci#define INST_OPCODE_STORE_ATTR					0x00000078
162bf215546Sopenharmony_ci#define INST_OPCODE_LOAD_ATTR					0x00000079
163bf215546Sopenharmony_ci#define INST_OPCODE_EMIT					0x0000007a
164bf215546Sopenharmony_ci#define INST_OPCODE_RESTART					0x0000007b
165bf215546Sopenharmony_ci#define INST_OPCODE_NOP7C					0x0000007c
166bf215546Sopenharmony_ci#define INST_OPCODE_NOP7D					0x0000007d
167bf215546Sopenharmony_ci#define INST_OPCODE_NOP7E					0x0000007e
168bf215546Sopenharmony_ci#define INST_OPCODE_NOP7F					0x0000007f
169bf215546Sopenharmony_ci#define INST_CONDITION_TRUE					0x00000000
170bf215546Sopenharmony_ci#define INST_CONDITION_GT					0x00000001
171bf215546Sopenharmony_ci#define INST_CONDITION_LT					0x00000002
172bf215546Sopenharmony_ci#define INST_CONDITION_GE					0x00000003
173bf215546Sopenharmony_ci#define INST_CONDITION_LE					0x00000004
174bf215546Sopenharmony_ci#define INST_CONDITION_EQ					0x00000005
175bf215546Sopenharmony_ci#define INST_CONDITION_NE					0x00000006
176bf215546Sopenharmony_ci#define INST_CONDITION_AND					0x00000007
177bf215546Sopenharmony_ci#define INST_CONDITION_OR					0x00000008
178bf215546Sopenharmony_ci#define INST_CONDITION_XOR					0x00000009
179bf215546Sopenharmony_ci#define INST_CONDITION_NOT					0x0000000a
180bf215546Sopenharmony_ci#define INST_CONDITION_NZ					0x0000000b
181bf215546Sopenharmony_ci#define INST_CONDITION_GEZ					0x0000000c
182bf215546Sopenharmony_ci#define INST_CONDITION_GZ					0x0000000d
183bf215546Sopenharmony_ci#define INST_CONDITION_LEZ					0x0000000e
184bf215546Sopenharmony_ci#define INST_CONDITION_LZ					0x0000000f
185bf215546Sopenharmony_ci#define INST_RGROUP_TEMP					0x00000000
186bf215546Sopenharmony_ci#define INST_RGROUP_INTERNAL					0x00000001
187bf215546Sopenharmony_ci#define INST_RGROUP_UNIFORM_0					0x00000002
188bf215546Sopenharmony_ci#define INST_RGROUP_UNIFORM_1					0x00000003
189bf215546Sopenharmony_ci#define INST_RGROUP_TEMP_FP					0x00000004
190bf215546Sopenharmony_ci#define INST_RGROUP_IMMEDIATE					0x00000007
191bf215546Sopenharmony_ci#define INST_AMODE_DIRECT					0x00000000
192bf215546Sopenharmony_ci#define INST_AMODE_ADD_A_X					0x00000001
193bf215546Sopenharmony_ci#define INST_AMODE_ADD_A_Y					0x00000002
194bf215546Sopenharmony_ci#define INST_AMODE_ADD_A_Z					0x00000003
195bf215546Sopenharmony_ci#define INST_AMODE_ADD_A_W					0x00000004
196bf215546Sopenharmony_ci#define INST_SWIZ_COMP_X					0x00000000
197bf215546Sopenharmony_ci#define INST_SWIZ_COMP_Y					0x00000001
198bf215546Sopenharmony_ci#define INST_SWIZ_COMP_Z					0x00000002
199bf215546Sopenharmony_ci#define INST_SWIZ_COMP_W					0x00000003
200bf215546Sopenharmony_ci#define INST_TYPE_F32						0x00000000
201bf215546Sopenharmony_ci#define INST_TYPE_S32						0x00000001
202bf215546Sopenharmony_ci#define INST_TYPE_S8						0x00000002
203bf215546Sopenharmony_ci#define INST_TYPE_U16						0x00000003
204bf215546Sopenharmony_ci#define INST_TYPE_F16						0x00000004
205bf215546Sopenharmony_ci#define INST_TYPE_S16						0x00000005
206bf215546Sopenharmony_ci#define INST_TYPE_U32						0x00000006
207bf215546Sopenharmony_ci#define INST_TYPE_U8						0x00000007
208bf215546Sopenharmony_ci#define INST_ROUND_MODE_DEFAULT					0x00000000
209bf215546Sopenharmony_ci#define INST_ROUND_MODE_RTZ					0x00000001
210bf215546Sopenharmony_ci#define INST_ROUND_MODE_RTNE					0x00000002
211bf215546Sopenharmony_ci#define INST_COMPS_X						0x00000001
212bf215546Sopenharmony_ci#define INST_COMPS_Y						0x00000002
213bf215546Sopenharmony_ci#define INST_COMPS_Z						0x00000004
214bf215546Sopenharmony_ci#define INST_COMPS_W						0x00000008
215bf215546Sopenharmony_ci#define INST_SWIZ_X__MASK					0x00000003
216bf215546Sopenharmony_ci#define INST_SWIZ_X__SHIFT					0
217bf215546Sopenharmony_ci#define INST_SWIZ_X(x)						(((x) << INST_SWIZ_X__SHIFT) & INST_SWIZ_X__MASK)
218bf215546Sopenharmony_ci#define INST_SWIZ_Y__MASK					0x0000000c
219bf215546Sopenharmony_ci#define INST_SWIZ_Y__SHIFT					2
220bf215546Sopenharmony_ci#define INST_SWIZ_Y(x)						(((x) << INST_SWIZ_Y__SHIFT) & INST_SWIZ_Y__MASK)
221bf215546Sopenharmony_ci#define INST_SWIZ_Z__MASK					0x00000030
222bf215546Sopenharmony_ci#define INST_SWIZ_Z__SHIFT					4
223bf215546Sopenharmony_ci#define INST_SWIZ_Z(x)						(((x) << INST_SWIZ_Z__SHIFT) & INST_SWIZ_Z__MASK)
224bf215546Sopenharmony_ci#define INST_SWIZ_W__MASK					0x000000c0
225bf215546Sopenharmony_ci#define INST_SWIZ_W__SHIFT					6
226bf215546Sopenharmony_ci#define INST_SWIZ_W(x)						(((x) << INST_SWIZ_W__SHIFT) & INST_SWIZ_W__MASK)
227bf215546Sopenharmony_ci#define VIV_ISA_WORD_0						0x00000000
228bf215546Sopenharmony_ci#define VIV_ISA_WORD_0_OPCODE__MASK				0x0000003f
229bf215546Sopenharmony_ci#define VIV_ISA_WORD_0_OPCODE__SHIFT				0
230bf215546Sopenharmony_ci#define VIV_ISA_WORD_0_OPCODE(x)				(((x) << VIV_ISA_WORD_0_OPCODE__SHIFT) & VIV_ISA_WORD_0_OPCODE__MASK)
231bf215546Sopenharmony_ci#define VIV_ISA_WORD_0_COND__MASK				0x000007c0
232bf215546Sopenharmony_ci#define VIV_ISA_WORD_0_COND__SHIFT				6
233bf215546Sopenharmony_ci#define VIV_ISA_WORD_0_COND(x)					(((x) << VIV_ISA_WORD_0_COND__SHIFT) & VIV_ISA_WORD_0_COND__MASK)
234bf215546Sopenharmony_ci#define VIV_ISA_WORD_0_SAT					0x00000800
235bf215546Sopenharmony_ci#define VIV_ISA_WORD_0_DST_USE					0x00001000
236bf215546Sopenharmony_ci#define VIV_ISA_WORD_0_DST_AMODE__MASK				0x0000e000
237bf215546Sopenharmony_ci#define VIV_ISA_WORD_0_DST_AMODE__SHIFT				13
238bf215546Sopenharmony_ci#define VIV_ISA_WORD_0_DST_AMODE(x)				(((x) << VIV_ISA_WORD_0_DST_AMODE__SHIFT) & VIV_ISA_WORD_0_DST_AMODE__MASK)
239bf215546Sopenharmony_ci#define VIV_ISA_WORD_0_DST_REG__MASK				0x007f0000
240bf215546Sopenharmony_ci#define VIV_ISA_WORD_0_DST_REG__SHIFT				16
241bf215546Sopenharmony_ci#define VIV_ISA_WORD_0_DST_REG(x)				(((x) << VIV_ISA_WORD_0_DST_REG__SHIFT) & VIV_ISA_WORD_0_DST_REG__MASK)
242bf215546Sopenharmony_ci#define VIV_ISA_WORD_0_DST_COMPS__MASK				0x07800000
243bf215546Sopenharmony_ci#define VIV_ISA_WORD_0_DST_COMPS__SHIFT				23
244bf215546Sopenharmony_ci#define VIV_ISA_WORD_0_DST_COMPS(x)				(((x) << VIV_ISA_WORD_0_DST_COMPS__SHIFT) & VIV_ISA_WORD_0_DST_COMPS__MASK)
245bf215546Sopenharmony_ci#define VIV_ISA_WORD_0_TEX_ID__MASK				0xf8000000
246bf215546Sopenharmony_ci#define VIV_ISA_WORD_0_TEX_ID__SHIFT				27
247bf215546Sopenharmony_ci#define VIV_ISA_WORD_0_TEX_ID(x)				(((x) << VIV_ISA_WORD_0_TEX_ID__SHIFT) & VIV_ISA_WORD_0_TEX_ID__MASK)
248bf215546Sopenharmony_ci
249bf215546Sopenharmony_ci#define VIV_ISA_WORD_1						0x00000004
250bf215546Sopenharmony_ci#define VIV_ISA_WORD_1_TEX_AMODE__MASK				0x00000007
251bf215546Sopenharmony_ci#define VIV_ISA_WORD_1_TEX_AMODE__SHIFT				0
252bf215546Sopenharmony_ci#define VIV_ISA_WORD_1_TEX_AMODE(x)				(((x) << VIV_ISA_WORD_1_TEX_AMODE__SHIFT) & VIV_ISA_WORD_1_TEX_AMODE__MASK)
253bf215546Sopenharmony_ci#define VIV_ISA_WORD_1_RMODE__MASK				0x00000003
254bf215546Sopenharmony_ci#define VIV_ISA_WORD_1_RMODE__SHIFT				0
255bf215546Sopenharmony_ci#define VIV_ISA_WORD_1_RMODE(x)					(((x) << VIV_ISA_WORD_1_RMODE__SHIFT) & VIV_ISA_WORD_1_RMODE__MASK)
256bf215546Sopenharmony_ci#define VIV_ISA_WORD_1_PMODE					0x00000004
257bf215546Sopenharmony_ci#define VIV_ISA_WORD_1_TEX_SWIZ__MASK				0x000007f8
258bf215546Sopenharmony_ci#define VIV_ISA_WORD_1_TEX_SWIZ__SHIFT				3
259bf215546Sopenharmony_ci#define VIV_ISA_WORD_1_TEX_SWIZ(x)				(((x) << VIV_ISA_WORD_1_TEX_SWIZ__SHIFT) & VIV_ISA_WORD_1_TEX_SWIZ__MASK)
260bf215546Sopenharmony_ci#define VIV_ISA_WORD_1_SRC0_USE					0x00000800
261bf215546Sopenharmony_ci#define VIV_ISA_WORD_1_SRC0_REG__MASK				0x001ff000
262bf215546Sopenharmony_ci#define VIV_ISA_WORD_1_SRC0_REG__SHIFT				12
263bf215546Sopenharmony_ci#define VIV_ISA_WORD_1_SRC0_REG(x)				(((x) << VIV_ISA_WORD_1_SRC0_REG__SHIFT) & VIV_ISA_WORD_1_SRC0_REG__MASK)
264bf215546Sopenharmony_ci#define VIV_ISA_WORD_1_TYPE_BIT2				0x00200000
265bf215546Sopenharmony_ci#define VIV_ISA_WORD_1_SRC0_SWIZ__MASK				0x3fc00000
266bf215546Sopenharmony_ci#define VIV_ISA_WORD_1_SRC0_SWIZ__SHIFT				22
267bf215546Sopenharmony_ci#define VIV_ISA_WORD_1_SRC0_SWIZ(x)				(((x) << VIV_ISA_WORD_1_SRC0_SWIZ__SHIFT) & VIV_ISA_WORD_1_SRC0_SWIZ__MASK)
268bf215546Sopenharmony_ci#define VIV_ISA_WORD_1_SRC0_NEG					0x40000000
269bf215546Sopenharmony_ci#define VIV_ISA_WORD_1_SRC0_ABS					0x80000000
270bf215546Sopenharmony_ci
271bf215546Sopenharmony_ci#define VIV_ISA_WORD_2						0x00000008
272bf215546Sopenharmony_ci#define VIV_ISA_WORD_2_SRC0_AMODE__MASK				0x00000007
273bf215546Sopenharmony_ci#define VIV_ISA_WORD_2_SRC0_AMODE__SHIFT			0
274bf215546Sopenharmony_ci#define VIV_ISA_WORD_2_SRC0_AMODE(x)				(((x) << VIV_ISA_WORD_2_SRC0_AMODE__SHIFT) & VIV_ISA_WORD_2_SRC0_AMODE__MASK)
275bf215546Sopenharmony_ci#define VIV_ISA_WORD_2_SRC0_RGROUP__MASK			0x00000038
276bf215546Sopenharmony_ci#define VIV_ISA_WORD_2_SRC0_RGROUP__SHIFT			3
277bf215546Sopenharmony_ci#define VIV_ISA_WORD_2_SRC0_RGROUP(x)				(((x) << VIV_ISA_WORD_2_SRC0_RGROUP__SHIFT) & VIV_ISA_WORD_2_SRC0_RGROUP__MASK)
278bf215546Sopenharmony_ci#define VIV_ISA_WORD_2_SRC1_USE					0x00000040
279bf215546Sopenharmony_ci#define VIV_ISA_WORD_2_SRC1_REG__MASK				0x0000ff80
280bf215546Sopenharmony_ci#define VIV_ISA_WORD_2_SRC1_REG__SHIFT				7
281bf215546Sopenharmony_ci#define VIV_ISA_WORD_2_SRC1_REG(x)				(((x) << VIV_ISA_WORD_2_SRC1_REG__SHIFT) & VIV_ISA_WORD_2_SRC1_REG__MASK)
282bf215546Sopenharmony_ci#define VIV_ISA_WORD_2_OPCODE_BIT6				0x00010000
283bf215546Sopenharmony_ci#define VIV_ISA_WORD_2_SRC1_SWIZ__MASK				0x01fe0000
284bf215546Sopenharmony_ci#define VIV_ISA_WORD_2_SRC1_SWIZ__SHIFT				17
285bf215546Sopenharmony_ci#define VIV_ISA_WORD_2_SRC1_SWIZ(x)				(((x) << VIV_ISA_WORD_2_SRC1_SWIZ__SHIFT) & VIV_ISA_WORD_2_SRC1_SWIZ__MASK)
286bf215546Sopenharmony_ci#define VIV_ISA_WORD_2_SRC1_NEG					0x02000000
287bf215546Sopenharmony_ci#define VIV_ISA_WORD_2_SRC1_ABS					0x04000000
288bf215546Sopenharmony_ci#define VIV_ISA_WORD_2_SRC1_AMODE__MASK				0x38000000
289bf215546Sopenharmony_ci#define VIV_ISA_WORD_2_SRC1_AMODE__SHIFT			27
290bf215546Sopenharmony_ci#define VIV_ISA_WORD_2_SRC1_AMODE(x)				(((x) << VIV_ISA_WORD_2_SRC1_AMODE__SHIFT) & VIV_ISA_WORD_2_SRC1_AMODE__MASK)
291bf215546Sopenharmony_ci#define VIV_ISA_WORD_2_TYPE_BIT01__MASK				0xc0000000
292bf215546Sopenharmony_ci#define VIV_ISA_WORD_2_TYPE_BIT01__SHIFT			30
293bf215546Sopenharmony_ci#define VIV_ISA_WORD_2_TYPE_BIT01(x)				(((x) << VIV_ISA_WORD_2_TYPE_BIT01__SHIFT) & VIV_ISA_WORD_2_TYPE_BIT01__MASK)
294bf215546Sopenharmony_ci
295bf215546Sopenharmony_ci#define VIV_ISA_WORD_3						0x0000000c
296bf215546Sopenharmony_ci#define VIV_ISA_WORD_3_SRC1_RGROUP__MASK			0x00000007
297bf215546Sopenharmony_ci#define VIV_ISA_WORD_3_SRC1_RGROUP__SHIFT			0
298bf215546Sopenharmony_ci#define VIV_ISA_WORD_3_SRC1_RGROUP(x)				(((x) << VIV_ISA_WORD_3_SRC1_RGROUP__SHIFT) & VIV_ISA_WORD_3_SRC1_RGROUP__MASK)
299bf215546Sopenharmony_ci#define VIV_ISA_WORD_3_SRC2_IMM__MASK				0x003fff80
300bf215546Sopenharmony_ci#define VIV_ISA_WORD_3_SRC2_IMM__SHIFT				7
301bf215546Sopenharmony_ci#define VIV_ISA_WORD_3_SRC2_IMM(x)				(((x) << VIV_ISA_WORD_3_SRC2_IMM__SHIFT) & VIV_ISA_WORD_3_SRC2_IMM__MASK)
302bf215546Sopenharmony_ci#define VIV_ISA_WORD_3_SRC2_USE					0x00000008
303bf215546Sopenharmony_ci#define VIV_ISA_WORD_3_SRC2_REG__MASK				0x00001ff0
304bf215546Sopenharmony_ci#define VIV_ISA_WORD_3_SRC2_REG__SHIFT				4
305bf215546Sopenharmony_ci#define VIV_ISA_WORD_3_SRC2_REG(x)				(((x) << VIV_ISA_WORD_3_SRC2_REG__SHIFT) & VIV_ISA_WORD_3_SRC2_REG__MASK)
306bf215546Sopenharmony_ci#define VIV_ISA_WORD_3_SEL_BIT0					0x00002000
307bf215546Sopenharmony_ci#define VIV_ISA_WORD_3_SRC2_SWIZ__MASK				0x003fc000
308bf215546Sopenharmony_ci#define VIV_ISA_WORD_3_SRC2_SWIZ__SHIFT				14
309bf215546Sopenharmony_ci#define VIV_ISA_WORD_3_SRC2_SWIZ(x)				(((x) << VIV_ISA_WORD_3_SRC2_SWIZ__SHIFT) & VIV_ISA_WORD_3_SRC2_SWIZ__MASK)
310bf215546Sopenharmony_ci#define VIV_ISA_WORD_3_SRC2_NEG					0x00400000
311bf215546Sopenharmony_ci#define VIV_ISA_WORD_3_SRC2_ABS					0x00800000
312bf215546Sopenharmony_ci#define VIV_ISA_WORD_3_SEL_BIT1					0x01000000
313bf215546Sopenharmony_ci#define VIV_ISA_WORD_3_SRC2_AMODE__MASK				0x0e000000
314bf215546Sopenharmony_ci#define VIV_ISA_WORD_3_SRC2_AMODE__SHIFT			25
315bf215546Sopenharmony_ci#define VIV_ISA_WORD_3_SRC2_AMODE(x)				(((x) << VIV_ISA_WORD_3_SRC2_AMODE__SHIFT) & VIV_ISA_WORD_3_SRC2_AMODE__MASK)
316bf215546Sopenharmony_ci#define VIV_ISA_WORD_3_SRC2_RGROUP__MASK			0x70000000
317bf215546Sopenharmony_ci#define VIV_ISA_WORD_3_SRC2_RGROUP__SHIFT			28
318bf215546Sopenharmony_ci#define VIV_ISA_WORD_3_SRC2_RGROUP(x)				(((x) << VIV_ISA_WORD_3_SRC2_RGROUP__SHIFT) & VIV_ISA_WORD_3_SRC2_RGROUP__MASK)
319bf215546Sopenharmony_ci#define VIV_ISA_WORD_3_DST_FULL					0x80000000
320bf215546Sopenharmony_ci
321bf215546Sopenharmony_ci
322bf215546Sopenharmony_ci#endif /* ISA_XML */
323