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)26XED_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)32XED_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)38XED_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)45XED_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)51XED_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)57XED_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)64XED_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)71XED_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)81XED_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)87XED_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)93XED_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)99XED_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)105XED_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)111XED_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)118XED_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)124XED_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)132XED_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)138XED_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)145XED_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)152XED_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)160XED_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)166XED_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)173XED_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)180XED_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)186XED_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)193XED_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)200XED_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)206XED_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)213XED_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)219XED_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)228XED_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)235XED_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)241XED_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)249XED_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)256XED_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)263XED_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)270XED_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)277XED_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)284XED_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)290XED_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)297XED_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)304XED_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)310XED_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)316XED_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)324XED_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)331XED_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)338XED_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)344XED_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)351XED_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)358XED_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)364XED_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)371XED_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