1 /// @file xed-enc-operand-lu.c
2 
3 // This file was automatically generated.
4 // Do not edit this file.
5 
6 /*BEGIN_LEGAL
7 
8 Copyright (c) 2018 Intel Corporation
9 
10   Licensed under the Apache License, Version 2.0 (the "License");
11   you may not use this file except in compliance with the License.
12   You may obtain a copy of the License at
13 
14       http://www.apache.org/licenses/LICENSE-2.0
15 
16   Unless required by applicable law or agreed to in writing, software
17   distributed under the License is distributed on an "AS IS" BASIS,
18   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19   See the License for the specific language governing permissions and
20   limitations under the License.
21 
22 END_LEGAL */
23 #include "xed-internal-header.h"
24 #include "xed-encode.h"
25 #include "xed-operand-accessors.h"
xed_enc_lu_INDEX(xed_encoder_request_t * xes)26 XED_NOINLINE xed_uint64_t xed_enc_lu_INDEX(xed_encoder_request_t* xes)
27 {
28    xed_uint64_t key = 0;
29    key += (xed3_operand_get_index(xes)) << ((0));
30    return key;
31 }
xed_enc_lu_SIB(xed_encoder_request_t * xes)32 XED_NOINLINE xed_uint64_t xed_enc_lu_SIB(xed_encoder_request_t* xes)
33 {
34    xed_uint64_t key = 0;
35    key += (xed3_operand_get_sib(xes)) << ((0));
36    return key;
37 }
xed_enc_lu_BASE0_MODE(xed_encoder_request_t * xes)38 XED_NOINLINE xed_uint64_t xed_enc_lu_BASE0_MODE(xed_encoder_request_t* xes)
39 {
40    xed_uint64_t key = 0;
41    key += (xed3_operand_get_base0(xes)) << ((0));
42    key += (xed3_operand_get_mode(xes)) << ((9));
43    return key;
44 }
xed_enc_lu_SEG1(xed_encoder_request_t * xes)45 XED_NOINLINE xed_uint64_t xed_enc_lu_SEG1(xed_encoder_request_t* xes)
46 {
47    xed_uint64_t key = 0;
48    key += (xed3_operand_get_seg1(xes)) << ((0));
49    return key;
50 }
xed_enc_lu_SEG0(xed_encoder_request_t * xes)51 XED_NOINLINE xed_uint64_t xed_enc_lu_SEG0(xed_encoder_request_t* xes)
52 {
53    xed_uint64_t key = 0;
54    key += (xed3_operand_get_seg0(xes)) << ((0));
55    return key;
56 }
xed_enc_lu_VEX_PREFIX_VL(xed_encoder_request_t * xes)57 XED_NOINLINE xed_uint64_t xed_enc_lu_VEX_PREFIX_VL(xed_encoder_request_t* xes)
58 {
59    xed_uint64_t key = 0;
60    key += (xed3_operand_get_vex_prefix(xes)) << ((0));
61    key += (xed3_operand_get_vl(xes)) << ((2));
62    return key;
63 }
xed_enc_lu_SCALE_SIB(xed_encoder_request_t * xes)64 XED_NOINLINE xed_uint64_t xed_enc_lu_SCALE_SIB(xed_encoder_request_t* xes)
65 {
66    xed_uint64_t key = 0;
67    key += (xed3_operand_get_scale(xes)) << ((0));
68    key += (xed3_operand_get_sib(xes)) << ((4));
69    return key;
70 }
xed_enc_lu_DF32_DF64_EOSZ_MODE_SKIP_OSZ(xed_encoder_request_t * xes)71 XED_NOINLINE xed_uint64_t xed_enc_lu_DF32_DF64_EOSZ_MODE_SKIP_OSZ(xed_encoder_request_t* xes)
72 {
73    xed_uint64_t key = 0;
74    key += (xed3_operand_get_df32(xes)) << ((0));
75    key += (xed3_operand_get_df64(xes)) << ((1));
76    key += (xed3_operand_get_eosz(xes)) << ((2));
77    key += (xed3_operand_get_mode(xes)) << ((4));
78    key += (xed3_operand_get_skip_osz(xes)) << ((6));
79    return key;
80 }
xed_enc_lu_AGEN(xed_encoder_request_t * xes)81 XED_NOINLINE xed_uint64_t xed_enc_lu_AGEN(xed_encoder_request_t* xes)
82 {
83    xed_uint64_t key = 0;
84    key += (xed3_operand_get_agen(xes)) << ((0));
85    return key;
86 }
xed_enc_lu_BCAST(xed_encoder_request_t * xes)87 XED_NOINLINE xed_uint64_t xed_enc_lu_BCAST(xed_encoder_request_t* xes)
88 {
89    xed_uint64_t key = 0;
90    key += (xed3_operand_get_bcast(xes)) << ((0));
91    return key;
92 }
xed_enc_lu_MODE(xed_encoder_request_t * xes)93 XED_NOINLINE xed_uint64_t xed_enc_lu_MODE(xed_encoder_request_t* xes)
94 {
95    xed_uint64_t key = 0;
96    key += (xed3_operand_get_mode(xes)) << ((0));
97    return key;
98 }
xed_enc_lu_DISP_WIDTH(xed_encoder_request_t * xes)99 XED_NOINLINE xed_uint64_t xed_enc_lu_DISP_WIDTH(xed_encoder_request_t* xes)
100 {
101    xed_uint64_t key = 0;
102    key += (xed3_operand_get_disp_width(xes)) << ((0));
103    return key;
104 }
xed_enc_lu_SAE(xed_encoder_request_t * xes)105 XED_NOINLINE xed_uint64_t xed_enc_lu_SAE(xed_encoder_request_t* xes)
106 {
107    xed_uint64_t key = 0;
108    key += (xed3_operand_get_sae(xes)) << ((0));
109    return key;
110 }
xed_enc_lu_BASE0_INDEX(xed_encoder_request_t * xes)111 XED_NOINLINE xed_uint64_t xed_enc_lu_BASE0_INDEX(xed_encoder_request_t* xes)
112 {
113    xed_uint64_t key = 0;
114    key += (xed3_operand_get_base0(xes)) << ((0));
115    key += (xed3_operand_get_index(xes)) << ((9));
116    return key;
117 }
xed_enc_lu_ROUNDC(xed_encoder_request_t * xes)118 XED_NOINLINE xed_uint64_t xed_enc_lu_ROUNDC(xed_encoder_request_t* xes)
119 {
120    xed_uint64_t key = 0;
121    key += (xed3_operand_get_roundc(xes)) << ((0));
122    return key;
123 }
xed_enc_lu_ROUNDC_SAE_VL(xed_encoder_request_t * xes)124 XED_NOINLINE xed_uint64_t xed_enc_lu_ROUNDC_SAE_VL(xed_encoder_request_t* xes)
125 {
126    xed_uint64_t key = 0;
127    key += (xed3_operand_get_roundc(xes)) << ((0));
128    key += (xed3_operand_get_sae(xes)) << ((3));
129    key += (xed3_operand_get_vl(xes)) << ((4));
130    return key;
131 }
xed_enc_lu_BASE0(xed_encoder_request_t * xes)132 XED_NOINLINE xed_uint64_t xed_enc_lu_BASE0(xed_encoder_request_t* xes)
133 {
134    xed_uint64_t key = 0;
135    key += (xed3_operand_get_base0(xes)) << ((0));
136    return key;
137 }
xed_enc_lu_EASZ_MODE(xed_encoder_request_t * xes)138 XED_NOINLINE xed_uint64_t xed_enc_lu_EASZ_MODE(xed_encoder_request_t* xes)
139 {
140    xed_uint64_t key = 0;
141    key += (xed3_operand_get_easz(xes)) << ((0));
142    key += (xed3_operand_get_mode(xes)) << ((2));
143    return key;
144 }
xed_enc_lu_MODE_REXR(xed_encoder_request_t * xes)145 XED_NOINLINE xed_uint64_t xed_enc_lu_MODE_REXR(xed_encoder_request_t* xes)
146 {
147    xed_uint64_t key = 0;
148    key += (xed3_operand_get_mode(xes)) << ((0));
149    key += (xed3_operand_get_rexr(xes)) << ((2));
150    return key;
151 }
xed_enc_lu_MODE_REXB_REXX(xed_encoder_request_t * xes)152 XED_NOINLINE xed_uint64_t xed_enc_lu_MODE_REXB_REXX(xed_encoder_request_t* xes)
153 {
154    xed_uint64_t key = 0;
155    key += (xed3_operand_get_mode(xes)) << ((0));
156    key += (xed3_operand_get_rexb(xes)) << ((2));
157    key += (xed3_operand_get_rexx(xes)) << ((3));
158    return key;
159 }
xed_enc_lu_SCALE(xed_encoder_request_t * xes)160 XED_NOINLINE xed_uint64_t xed_enc_lu_SCALE(xed_encoder_request_t* xes)
161 {
162    xed_uint64_t key = 0;
163    key += (xed3_operand_get_scale(xes)) << ((0));
164    return key;
165 }
xed_enc_lu_EASZ_INDEX(xed_encoder_request_t * xes)166 XED_NOINLINE xed_uint64_t xed_enc_lu_EASZ_INDEX(xed_encoder_request_t* xes)
167 {
168    xed_uint64_t key = 0;
169    key += (xed3_operand_get_easz(xes)) << ((0));
170    key += (xed3_operand_get_index(xes)) << ((2));
171    return key;
172 }
xed_enc_lu_MODE_REXX(xed_encoder_request_t * xes)173 XED_NOINLINE xed_uint64_t xed_enc_lu_MODE_REXX(xed_encoder_request_t* xes)
174 {
175    xed_uint64_t key = 0;
176    key += (xed3_operand_get_mode(xes)) << ((0));
177    key += (xed3_operand_get_rexx(xes)) << ((2));
178    return key;
179 }
xed_enc_lu_MAP(xed_encoder_request_t * xes)180 XED_NOINLINE xed_uint64_t xed_enc_lu_MAP(xed_encoder_request_t* xes)
181 {
182    xed_uint64_t key = 0;
183    key += (xed3_operand_get_map(xes)) << ((0));
184    return key;
185 }
xed_enc_lu_BASE0_EASZ(xed_encoder_request_t * xes)186 XED_NOINLINE xed_uint64_t xed_enc_lu_BASE0_EASZ(xed_encoder_request_t* xes)
187 {
188    xed_uint64_t key = 0;
189    key += (xed3_operand_get_base0(xes)) << ((0));
190    key += (xed3_operand_get_easz(xes)) << ((9));
191    return key;
192 }
xed_enc_lu_MAP_VEX_C4(xed_encoder_request_t * xes)193 XED_NOINLINE xed_uint64_t xed_enc_lu_MAP_VEX_C4(xed_encoder_request_t* xes)
194 {
195    xed_uint64_t key = 0;
196    key += (xed3_operand_get_map(xes)) << ((0));
197    key += (xed3_operand_get_vex_c4(xes)) << ((4));
198    return key;
199 }
xed_enc_lu_DUMMY(xed_encoder_request_t * xes)200 XED_NOINLINE xed_uint64_t xed_enc_lu_DUMMY(xed_encoder_request_t* xes)
201 {
202    xed_uint64_t key = 0;
203    key += (xed3_operand_get_dummy(xes)) << ((0));
204    return key;
205 }
xed_enc_lu_MODE_REXB(xed_encoder_request_t * xes)206 XED_NOINLINE xed_uint64_t xed_enc_lu_MODE_REXB(xed_encoder_request_t* xes)
207 {
208    xed_uint64_t key = 0;
209    key += (xed3_operand_get_mode(xes)) << ((0));
210    key += (xed3_operand_get_rexb(xes)) << ((2));
211    return key;
212 }
xed_enc_lu_VEXVALID(xed_encoder_request_t * xes)213 XED_NOINLINE xed_uint64_t xed_enc_lu_VEXVALID(xed_encoder_request_t* xes)
214 {
215    xed_uint64_t key = 0;
216    key += (xed3_operand_get_vexvalid(xes)) << ((0));
217    return key;
218 }
xed_enc_lu_MODE_REXB_REXX_VEX_C4(xed_encoder_request_t * xes)219 XED_NOINLINE xed_uint64_t xed_enc_lu_MODE_REXB_REXX_VEX_C4(xed_encoder_request_t* xes)
220 {
221    xed_uint64_t key = 0;
222    key += (xed3_operand_get_mode(xes)) << ((0));
223    key += (xed3_operand_get_rexb(xes)) << ((2));
224    key += (xed3_operand_get_rexx(xes)) << ((3));
225    key += (xed3_operand_get_vex_c4(xes)) << ((4));
226    return key;
227 }
xed_enc_lu_MODE_REXRR(xed_encoder_request_t * xes)228 XED_NOINLINE xed_uint64_t xed_enc_lu_MODE_REXRR(xed_encoder_request_t* xes)
229 {
230    xed_uint64_t key = 0;
231    key += (xed3_operand_get_mode(xes)) << ((0));
232    key += (xed3_operand_get_rexrr(xes)) << ((2));
233    return key;
234 }
xed_enc_lu_VEXDEST4(xed_encoder_request_t * xes)235 XED_NOINLINE xed_uint64_t xed_enc_lu_VEXDEST4(xed_encoder_request_t* xes)
236 {
237    xed_uint64_t key = 0;
238    key += (xed3_operand_get_vexdest4(xes)) << ((0));
239    return key;
240 }
xed_enc_lu_BASE0_EASZ_MODE(xed_encoder_request_t * xes)241 XED_NOINLINE xed_uint64_t xed_enc_lu_BASE0_EASZ_MODE(xed_encoder_request_t* xes)
242 {
243    xed_uint64_t key = 0;
244    key += (xed3_operand_get_base0(xes)) << ((0));
245    key += (xed3_operand_get_easz(xes)) << ((9));
246    key += (xed3_operand_get_mode(xes)) << ((11));
247    return key;
248 }
xed_enc_lu_REG_REXR(xed_encoder_request_t * xes)249 XED_NOINLINE xed_uint64_t xed_enc_lu_REG_REXR(xed_encoder_request_t* xes)
250 {
251    xed_uint64_t key = 0;
252    key += (xed3_operand_get_reg(xes)) << ((0));
253    key += (xed3_operand_get_rexr(xes)) << ((3));
254    return key;
255 }
xed_enc_lu_EOSZ_MODE(xed_encoder_request_t * xes)256 XED_NOINLINE xed_uint64_t xed_enc_lu_EOSZ_MODE(xed_encoder_request_t* xes)
257 {
258    xed_uint64_t key = 0;
259    key += (xed3_operand_get_eosz(xes)) << ((0));
260    key += (xed3_operand_get_mode(xes)) << ((2));
261    return key;
262 }
xed_enc_lu_MODE_SMODE(xed_encoder_request_t * xes)263 XED_NOINLINE xed_uint64_t xed_enc_lu_MODE_SMODE(xed_encoder_request_t* xes)
264 {
265    xed_uint64_t key = 0;
266    key += (xed3_operand_get_mode(xes)) << ((0));
267    key += (xed3_operand_get_smode(xes)) << ((2));
268    return key;
269 }
xed_enc_lu_DEFAULT_SEG_SEG0(xed_encoder_request_t * xes)270 XED_NOINLINE xed_uint64_t xed_enc_lu_DEFAULT_SEG_SEG0(xed_encoder_request_t* xes)
271 {
272    xed_uint64_t key = 0;
273    key += (xed3_operand_get_default_seg(xes)) << ((0));
274    key += (xed3_operand_get_seg0(xes)) << ((2));
275    return key;
276 }
xed_enc_lu_EASZ_SIB(xed_encoder_request_t * xes)277 XED_NOINLINE xed_uint64_t xed_enc_lu_EASZ_SIB(xed_encoder_request_t* xes)
278 {
279    xed_uint64_t key = 0;
280    key += (xed3_operand_get_easz(xes)) << ((0));
281    key += (xed3_operand_get_sib(xes)) << ((2));
282    return key;
283 }
xed_enc_lu_VEX_PREFIX(xed_encoder_request_t * xes)284 XED_NOINLINE xed_uint64_t xed_enc_lu_VEX_PREFIX(xed_encoder_request_t* xes)
285 {
286    xed_uint64_t key = 0;
287    key += (xed3_operand_get_vex_prefix(xes)) << ((0));
288    return key;
289 }
xed_enc_lu_REXB_RM(xed_encoder_request_t * xes)290 XED_NOINLINE xed_uint64_t xed_enc_lu_REXB_RM(xed_encoder_request_t* xes)
291 {
292    xed_uint64_t key = 0;
293    key += (xed3_operand_get_rexb(xes)) << ((0));
294    key += (xed3_operand_get_rm(xes)) << ((1));
295    return key;
296 }
xed_enc_lu_DISP_WIDTH_EASZ(xed_encoder_request_t * xes)297 XED_NOINLINE xed_uint64_t xed_enc_lu_DISP_WIDTH_EASZ(xed_encoder_request_t* xes)
298 {
299    xed_uint64_t key = 0;
300    key += (xed3_operand_get_disp_width(xes)) << ((0));
301    key += (xed3_operand_get_easz(xes)) << ((7));
302    return key;
303 }
xed_enc_lu_IMM_WIDTH(xed_encoder_request_t * xes)304 XED_NOINLINE xed_uint64_t xed_enc_lu_IMM_WIDTH(xed_encoder_request_t* xes)
305 {
306    xed_uint64_t key = 0;
307    key += (xed3_operand_get_imm_width(xes)) << ((0));
308    return key;
309 }
xed_enc_lu_BRDISP_WIDTH(xed_encoder_request_t * xes)310 XED_NOINLINE xed_uint64_t xed_enc_lu_BRDISP_WIDTH(xed_encoder_request_t* xes)
311 {
312    xed_uint64_t key = 0;
313    key += (xed3_operand_get_brdisp_width(xes)) << ((0));
314    return key;
315 }
xed_enc_lu_IMM_WIDTH_MODE_UIMM0_1(xed_encoder_request_t * xes)316 XED_NOINLINE xed_uint64_t xed_enc_lu_IMM_WIDTH_MODE_UIMM0_1(xed_encoder_request_t* xes)
317 {
318    xed_uint64_t key = 0;
319    key += (xed3_operand_get_imm_width(xes)) << ((0));
320    key += (xed3_operand_get_mode(xes)) << ((7));
321    key += (xed3_operand_get_uimm0_1(xes)) << ((9));
322    return key;
323 }
xed_enc_lu_EOSZ_IMM_WIDTH(xed_encoder_request_t * xes)324 XED_NOINLINE xed_uint64_t xed_enc_lu_EOSZ_IMM_WIDTH(xed_encoder_request_t* xes)
325 {
326    xed_uint64_t key = 0;
327    key += (xed3_operand_get_eosz(xes)) << ((0));
328    key += (xed3_operand_get_imm_width(xes)) << ((2));
329    return key;
330 }
xed_enc_lu_BRDISP_WIDTH_EOSZ(xed_encoder_request_t * xes)331 XED_NOINLINE xed_uint64_t xed_enc_lu_BRDISP_WIDTH_EOSZ(xed_encoder_request_t* xes)
332 {
333    xed_uint64_t key = 0;
334    key += (xed3_operand_get_brdisp_width(xes)) << ((0));
335    key += (xed3_operand_get_eosz(xes)) << ((6));
336    return key;
337 }
xed_enc_lu_OUTREG(xed_encoder_request_t * xes)338 XED_NOINLINE xed_uint64_t xed_enc_lu_OUTREG(xed_encoder_request_t* xes)
339 {
340    xed_uint64_t key = 0;
341    key += (xed3_operand_get_outreg(xes)) << ((0));
342    return key;
343 }
xed_enc_lu_EOSZ_OUTREG(xed_encoder_request_t * xes)344 XED_NOINLINE xed_uint64_t xed_enc_lu_EOSZ_OUTREG(xed_encoder_request_t* xes)
345 {
346    xed_uint64_t key = 0;
347    key += (xed3_operand_get_eosz(xes)) << ((0));
348    key += (xed3_operand_get_outreg(xes)) << ((2));
349    return key;
350 }
xed_enc_lu_MODE_OUTREG(xed_encoder_request_t * xes)351 XED_NOINLINE xed_uint64_t xed_enc_lu_MODE_OUTREG(xed_encoder_request_t* xes)
352 {
353    xed_uint64_t key = 0;
354    key += (xed3_operand_get_mode(xes)) << ((0));
355    key += (xed3_operand_get_outreg(xes)) << ((2));
356    return key;
357 }
xed_enc_lu_EOSZ(xed_encoder_request_t * xes)358 XED_NOINLINE xed_uint64_t xed_enc_lu_EOSZ(xed_encoder_request_t* xes)
359 {
360    xed_uint64_t key = 0;
361    key += (xed3_operand_get_eosz(xes)) << ((0));
362    return key;
363 }
xed_enc_lu_EASZ_OUTREG(xed_encoder_request_t * xes)364 XED_NOINLINE xed_uint64_t xed_enc_lu_EASZ_OUTREG(xed_encoder_request_t* xes)
365 {
366    xed_uint64_t key = 0;
367    key += (xed3_operand_get_easz(xes)) << ((0));
368    key += (xed3_operand_get_outreg(xes)) << ((2));
369    return key;
370 }
xed_enc_lu_OUTREG_SMODE(xed_encoder_request_t * xes)371 XED_NOINLINE xed_uint64_t xed_enc_lu_OUTREG_SMODE(xed_encoder_request_t* xes)
372 {
373    xed_uint64_t key = 0;
374    key += (xed3_operand_get_outreg(xes)) << ((0));
375    key += (xed3_operand_get_smode(xes)) << ((9));
376    return key;
377 }
378