Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
5564 serge 1
/* Copyright (C) 2014 Connor Abbott
2
 *
3
 * Permission is hereby granted, free of charge, to any person obtaining a
4
 * copy of this software and associated documentation files (the "Software"),
5
 * to deal in the Software without restriction, including without limitation
6
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
7
 * and/or sell copies of the Software, and to permit persons to whom the
8
 * Software is furnished to do so, subject to the following conditions:
9
 *
10
 * The above copyright notice and this permission notice (including the next
11
 * paragraph) shall be included in all copies or substantial portions of the
12
 * Software.
13
 *
14
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
17
 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
20
 * IN THE SOFTWARE.
21
 *
22
 * Authors:
23
 *    Connor Abbott (cwabbott0@gmail.com)
24
 */
25
 
26
#ifndef _NIR_OPCODES_
27
#define _NIR_OPCODES_
28
 
29
 
30
 
31
typedef enum {
32
   nir_op_b2f,
33
   nir_op_b2i,
34
   nir_op_ball2,
35
   nir_op_ball3,
36
   nir_op_ball4,
37
   nir_op_ball_fequal2,
38
   nir_op_ball_fequal3,
39
   nir_op_ball_fequal4,
40
   nir_op_ball_iequal2,
41
   nir_op_ball_iequal3,
42
   nir_op_ball_iequal4,
43
   nir_op_bany2,
44
   nir_op_bany3,
45
   nir_op_bany4,
46
   nir_op_bany_fnequal2,
47
   nir_op_bany_fnequal3,
48
   nir_op_bany_fnequal4,
49
   nir_op_bany_inequal2,
50
   nir_op_bany_inequal3,
51
   nir_op_bany_inequal4,
52
   nir_op_bcsel,
53
   nir_op_bfi,
54
   nir_op_bfm,
55
   nir_op_bit_count,
56
   nir_op_bitfield_insert,
57
   nir_op_bitfield_reverse,
58
   nir_op_f2b,
59
   nir_op_f2i,
60
   nir_op_f2u,
61
   nir_op_fabs,
62
   nir_op_fadd,
63
   nir_op_fall2,
64
   nir_op_fall3,
65
   nir_op_fall4,
66
   nir_op_fall_equal2,
67
   nir_op_fall_equal3,
68
   nir_op_fall_equal4,
69
   nir_op_fand,
70
   nir_op_fany2,
71
   nir_op_fany3,
72
   nir_op_fany4,
73
   nir_op_fany_nequal2,
74
   nir_op_fany_nequal3,
75
   nir_op_fany_nequal4,
76
   nir_op_fceil,
77
   nir_op_fcos,
78
   nir_op_fcsel,
79
   nir_op_fddx,
80
   nir_op_fddx_coarse,
81
   nir_op_fddx_fine,
82
   nir_op_fddy,
83
   nir_op_fddy_coarse,
84
   nir_op_fddy_fine,
85
   nir_op_fdiv,
86
   nir_op_fdot2,
87
   nir_op_fdot3,
88
   nir_op_fdot4,
89
   nir_op_feq,
90
   nir_op_fexp2,
91
   nir_op_ffloor,
92
   nir_op_ffma,
93
   nir_op_ffract,
94
   nir_op_fge,
95
   nir_op_find_lsb,
96
   nir_op_flog2,
97
   nir_op_flrp,
98
   nir_op_flt,
99
   nir_op_fmax,
100
   nir_op_fmin,
101
   nir_op_fmod,
102
   nir_op_fmov,
103
   nir_op_fmul,
104
   nir_op_fne,
105
   nir_op_fneg,
106
   nir_op_fnoise1_1,
107
   nir_op_fnoise1_2,
108
   nir_op_fnoise1_3,
109
   nir_op_fnoise1_4,
110
   nir_op_fnoise2_1,
111
   nir_op_fnoise2_2,
112
   nir_op_fnoise2_3,
113
   nir_op_fnoise2_4,
114
   nir_op_fnoise3_1,
115
   nir_op_fnoise3_2,
116
   nir_op_fnoise3_3,
117
   nir_op_fnoise3_4,
118
   nir_op_fnoise4_1,
119
   nir_op_fnoise4_2,
120
   nir_op_fnoise4_3,
121
   nir_op_fnoise4_4,
122
   nir_op_fnot,
123
   nir_op_for,
124
   nir_op_fpow,
125
   nir_op_frcp,
126
   nir_op_fround_even,
127
   nir_op_frsq,
128
   nir_op_fsat,
129
   nir_op_fsign,
130
   nir_op_fsin,
131
   nir_op_fsqrt,
132
   nir_op_fsub,
133
   nir_op_ftrunc,
134
   nir_op_fxor,
135
   nir_op_i2b,
136
   nir_op_i2f,
137
   nir_op_iabs,
138
   nir_op_iadd,
139
   nir_op_iand,
140
   nir_op_ibitfield_extract,
141
   nir_op_idiv,
142
   nir_op_ieq,
143
   nir_op_ifind_msb,
144
   nir_op_ige,
145
   nir_op_ilt,
146
   nir_op_imax,
147
   nir_op_imin,
148
   nir_op_imov,
149
   nir_op_imul,
150
   nir_op_imul_high,
151
   nir_op_ine,
152
   nir_op_ineg,
153
   nir_op_inot,
154
   nir_op_ior,
155
   nir_op_ishl,
156
   nir_op_ishr,
157
   nir_op_isign,
158
   nir_op_isub,
159
   nir_op_ixor,
160
   nir_op_ldexp,
161
   nir_op_pack_half_2x16,
162
   nir_op_pack_half_2x16_split,
163
   nir_op_pack_snorm_2x16,
164
   nir_op_pack_snorm_4x8,
165
   nir_op_pack_unorm_2x16,
166
   nir_op_pack_unorm_4x8,
167
   nir_op_seq,
168
   nir_op_sge,
169
   nir_op_slt,
170
   nir_op_sne,
171
   nir_op_u2f,
172
   nir_op_uadd_carry,
173
   nir_op_ubitfield_extract,
174
   nir_op_udiv,
175
   nir_op_ufind_msb,
176
   nir_op_uge,
177
   nir_op_ult,
178
   nir_op_umax,
179
   nir_op_umin,
180
   nir_op_umod,
181
   nir_op_umul_high,
182
   nir_op_unpack_half_2x16,
183
   nir_op_unpack_half_2x16_split_x,
184
   nir_op_unpack_half_2x16_split_y,
185
   nir_op_unpack_snorm_2x16,
186
   nir_op_unpack_snorm_4x8,
187
   nir_op_unpack_unorm_2x16,
188
   nir_op_unpack_unorm_4x8,
189
   nir_op_ushr,
190
   nir_op_usub_borrow,
191
   nir_op_vec2,
192
   nir_op_vec3,
193
   nir_op_vec4,
194
   nir_last_opcode = nir_op_vec4,
195
   nir_num_opcodes = nir_last_opcode + 1
196
} nir_op;
197
 
198
#endif /* _NIR_OPCODES_ */