Lines Matching full:encoding
118 Encoding = byteFromRec(Rec, "OpEncBits");
198 if (Encoding == X86Local::EVEX) {
295 } else if (Encoding == X86Local::VEX || Encoding == X86Local::XOP) {
396 void RecognizableInstr::adjustOperandEncoding(OperandEncoding &encoding) {
397 // The scaling factor for AVX512 compressed displacement encoding is an
398 // instruction attribute. Adjust the ModRM encoding type to include the
400 if ((encoding != ENCODING_RM && encoding != ENCODING_VSIB &&
401 encoding != ENCODING_SIB) ||
404 encoding = (OperandEncoding)(encoding + Log2_32(CD8_Scale));
405 assert(((encoding >= ENCODING_RM && encoding <= ENCODING_RM_CD64) ||
406 (encoding == ENCODING_SIB) ||
407 (encoding >= ENCODING_VSIB && encoding <= ENCODING_VSIB_CD64)) &&
424 Spec->operands[operandIndex].encoding = ENCODING_DUP;
432 OperandEncoding encoding = encodingFromString(std::string(typeName), OpSize);
433 // Adjust the encoding type for an operand based on the instruction.
434 adjustOperandEncoding(encoding);
435 Spec->operands[operandIndex].encoding = encoding;
1000 // For instructions with a REX_W prefix, a declared 32-bit register encoding
1006 // immediate encoding is special.
1010 // immediate encoding is special.
1141 #define ENCODING(str, encoding) \
1143 return encoding;
1149 // immediate encoding is special.
1150 ENCODING("i16imm", ENCODING_IW)
1152 ENCODING("i32i8imm", ENCODING_IB)
1153 ENCODING("AVX512RC", ENCODING_IRC)
1154 ENCODING("i16imm", ENCODING_Iv)
1155 ENCODING("i16i8imm", ENCODING_IB)
1156 ENCODING("i32imm", ENCODING_Iv)
1157 ENCODING("i64i32imm", ENCODING_ID)
1158 ENCODING("i64i8imm", ENCODING_IB)
1159 ENCODING("i8imm", ENCODING_IB)
1160 ENCODING("ccode", ENCODING_CC)
1161 ENCODING("cflags", ENCODING_CF)
1162 ENCODING("u4imm", ENCODING_IB)
1163 ENCODING("u8imm", ENCODING_IB)
1164 ENCODING("i16u8imm", ENCODING_IB)
1165 ENCODING("i32u8imm", ENCODING_IB)
1166 ENCODING("i64u8imm", ENCODING_IB)
1169 ENCODING("FR32", ENCODING_IB)
1170 ENCODING("FR64", ENCODING_IB)
1171 ENCODING("FR128", ENCODING_IB)
1172 ENCODING("VR128", ENCODING_IB)
1173 ENCODING("VR256", ENCODING_IB)
1174 ENCODING("FR16X", ENCODING_IB)
1175 ENCODING("FR32X", ENCODING_IB)
1176 ENCODING("FR64X", ENCODING_IB)
1177 ENCODING("VR128X", ENCODING_IB)
1178 ENCODING("VR256X", ENCODING_IB)
1179 ENCODING("VR512", ENCODING_IB)
1180 ENCODING("TILE", ENCODING_IB)
1181 errs() << "Unhandled immediate encoding " << s << "\n";
1182 llvm_unreachable("Unhandled immediate encoding");
1188 ENCODING("RST", ENCODING_FP)
1189 ENCODING("RSTi", ENCODING_FP)
1190 ENCODING("GR16", ENCODING_RM)
1191 ENCODING("GR16orGR32orGR64", ENCODING_RM)
1192 ENCODING("GR32", ENCODING_RM)
1193 ENCODING("GR32orGR64", ENCODING_RM)
1194 ENCODING("GR64", ENCODING_RM)
1195 ENCODING("GR8", ENCODING_RM)
1196 ENCODING("VR128", ENCODING_RM)
1197 ENCODING("VR128X", ENCODING_RM)
1198 ENCODING("FR128", ENCODING_RM)
1199 ENCODING("FR64", ENCODING_RM)
1200 ENCODING("FR32", ENCODING_RM)
1201 ENCODING("FR64X", ENCODING_RM)
1202 ENCODING("FR32X", ENCODING_RM)
1203 ENCODING("FR16X", ENCODING_RM)
1204 ENCODING("VR64", ENCODING_RM)
1205 ENCODING("VR256", ENCODING_RM)
1206 ENCODING("VR256X", ENCODING_RM)
1207 ENCODING("VR512", ENCODING_RM)
1208 ENCODING("VK1", ENCODING_RM)
1209 ENCODING("VK2", ENCODING_RM)
1210 ENCODING("VK4", ENCODING_RM)
1211 ENCODING("VK8", ENCODING_RM)
1212 ENCODING("VK16", ENCODING_RM)
1213 ENCODING("VK32", ENCODING_RM)
1214 ENCODING("VK64", ENCODING_RM)
1215 ENCODING("BNDR", ENCODING_RM)
1216 ENCODING("TILE", ENCODING_RM)
1217 errs() << "Unhandled R/M register encoding " << s << "\n";
1218 llvm_unreachable("Unhandled R/M register encoding");
1224 ENCODING("GR16", ENCODING_REG)
1225 ENCODING("GR16orGR32orGR64", ENCODING_REG)
1226 ENCODING("GR32", ENCODING_REG)
1227 ENCODING("GR32orGR64", ENCODING_REG)
1228 ENCODING("GR64", ENCODING_REG)
1229 ENCODING("GR8", ENCODING_REG)
1230 ENCODING("VR128", ENCODING_REG)
1231 ENCODING("FR128", ENCODING_REG)
1232 ENCODING("FR64", ENCODING_REG)
1233 ENCODING("FR32", ENCODING_REG)
1234 ENCODING("VR64", ENCODING_REG)
1235 ENCODING("SEGMENT_REG", ENCODING_REG)
1236 ENCODING("DEBUG_REG", ENCODING_REG)
1237 ENCODING("CONTROL_REG", ENCODING_REG)
1238 ENCODING("VR256", ENCODING_REG)
1239 ENCODING("VR256X", ENCODING_REG)
1240 ENCODING("VR128X", ENCODING_REG)
1241 ENCODING("FR64X", ENCODING_REG)
1242 ENCODING("FR32X", ENCODING_REG)
1243 ENCODING("FR16X", ENCODING_REG)
1244 ENCODING("VR512", ENCODING_REG)
1245 ENCODING("VK1", ENCODING_REG)
1246 ENCODING("VK2", ENCODING_REG)
1247 ENCODING("VK4", ENCODING_REG)
1248 ENCODING("VK8", ENCODING_REG)
1249 ENCODING("VK16", ENCODING_REG)
1250 ENCODING("VK32", ENCODING_REG)
1251 ENCODING("VK64", ENCODING_REG)
1252 ENCODING("VK1Pair", ENCODING_REG)
1253 ENCODING("VK2Pair", ENCODING_REG)
1254 ENCODING("VK4Pair", ENCODING_REG)
1255 ENCODING("VK8Pair", ENCODING_REG)
1256 ENCODING("VK16Pair", ENCODING_REG)
1257 ENCODING("VK1WM", ENCODING_REG)
1258 ENCODING("VK2WM", ENCODING_REG)
1259 ENCODING("VK4WM", ENCODING_REG)
1260 ENCODING("VK8WM", ENCODING_REG)
1261 ENCODING("VK16WM", ENCODING_REG)
1262 ENCODING("VK32WM", ENCODING_REG)
1263 ENCODING("VK64WM", ENCODING_REG)
1264 ENCODING("BNDR", ENCODING_REG)
1265 ENCODING("TILE", ENCODING_REG)
1266 errs() << "Unhandled reg/opcode register encoding " << s << "\n";
1267 llvm_unreachable("Unhandled reg/opcode register encoding");
1273 ENCODING("GR8", ENCODING_VVVV)
1274 ENCODING("GR16", ENCODING_VVVV)
1275 ENCODING("GR32", ENCODING_VVVV)
1276 ENCODING("GR64", ENCODING_VVVV)
1277 ENCODING("FR32", ENCODING_VVVV)
1278 ENCODING("FR128", ENCODING_VVVV)
1279 ENCODING("FR64", ENCODING_VVVV)
1280 ENCODING("VR128", ENCODING_VVVV)
1281 ENCODING("VR256", ENCODING_VVVV)
1282 ENCODING("FR16X", ENCODING_VVVV)
1283 ENCODING("FR32X", ENCODING_VVVV)
1284 ENCODING("FR64X", ENCODING_VVVV)
1285 ENCODING("VR128X", ENCODING_VVVV)
1286 ENCODING("VR256X", ENCODING_VVVV)
1287 ENCODING("VR512", ENCODING_VVVV)
1288 ENCODING("VK1", ENCODING_VVVV)
1289 ENCODING("VK2", ENCODING_VVVV)
1290 ENCODING("VK4", ENCODING_VVVV)
1291 ENCODING("VK8", ENCODING_VVVV)
1292 ENCODING("VK16", ENCODING_VVVV)
1293 ENCODING("VK32", ENCODING_VVVV)
1294 ENCODING("VK64", ENCODING_VVVV)
1295 ENCODING("TILE", ENCODING_VVVV)
1296 errs() << "Unhandled VEX.vvvv register encoding " << s << "\n";
1297 llvm_unreachable("Unhandled VEX.vvvv register encoding");
1303 ENCODING("VK1WM", ENCODING_WRITEMASK)
1304 ENCODING("VK2WM", ENCODING_WRITEMASK)
1305 ENCODING("VK4WM", ENCODING_WRITEMASK)
1306 ENCODING("VK8WM", ENCODING_WRITEMASK)
1307 ENCODING("VK16WM", ENCODING_WRITEMASK)
1308 ENCODING("VK32WM", ENCODING_WRITEMASK)
1309 ENCODING("VK64WM", ENCODING_WRITEMASK)
1310 errs() << "Unhandled mask register encoding " << s << "\n";
1311 llvm_unreachable("Unhandled mask register encoding");
1317 ENCODING("i16mem", ENCODING_RM)
1318 ENCODING("i32mem", ENCODING_RM)
1319 ENCODING("i64mem", ENCODING_RM)
1320 ENCODING("i8mem", ENCODING_RM)
1321 ENCODING("shmem", ENCODING_RM)
1322 ENCODING("ssmem", ENCODING_RM)
1323 ENCODING("sdmem", ENCODING_RM)
1324 ENCODING("f128mem", ENCODING_RM)
1325 ENCODING("f256mem", ENCODING_RM)
1326 ENCODING("f512mem", ENCODING_RM)
1327 ENCODING("f64mem", ENCODING_RM)
1328 ENCODING("f32mem", ENCODING_RM)
1329 ENCODING("f16mem", ENCODING_RM)
1330 ENCODING("i128mem", ENCODING_RM)
1331 ENCODING("i256mem", ENCODING_RM)
1332 ENCODING("i512mem", ENCODING_RM)
1333 ENCODING("i512mem_GR16", ENCODING_RM)
1334 ENCODING("i512mem_GR32", ENCODING_RM)
1335 ENCODING("i512mem_GR64", ENCODING_RM)
1336 ENCODING("f80mem", ENCODING_RM)
1337 ENCODING("lea64_32mem", ENCODING_RM)
1338 ENCODING("lea64mem", ENCODING_RM)
1339 ENCODING("anymem", ENCODING_RM)
1340 ENCODING("opaquemem", ENCODING_RM)
1341 ENCODING("sibmem", ENCODING_SIB)
1342 ENCODING("vx64mem", ENCODING_VSIB)
1343 ENCODING("vx128mem", ENCODING_VSIB)
1344 ENCODING("vx256mem", ENCODING_VSIB)
1345 ENCODING("vy128mem", ENCODING_VSIB)
1346 ENCODING("vy256mem", ENCODING_VSIB)
1347 ENCODING("vx64xmem", ENCODING_VSIB)
1348 ENCODING("vx128xmem", ENCODING_VSIB)
1349 ENCODING("vx256xmem", ENCODING_VSIB)
1350 ENCODING("vy128xmem", ENCODING_VSIB)
1351 ENCODING("vy256xmem", ENCODING_VSIB)
1352 ENCODING("vy512xmem", ENCODING_VSIB)
1353 ENCODING("vz256mem", ENCODING_VSIB)
1354 ENCODING("vz512mem", ENCODING_VSIB)
1355 errs() << "Unhandled memory encoding " << s << "\n";
1356 llvm_unreachable("Unhandled memory encoding");
1364 // immediate encoding is special.
1365 ENCODING("i16imm", ENCODING_IW)
1367 ENCODING("i16imm", ENCODING_Iv)
1368 ENCODING("i16i8imm", ENCODING_IB)
1369 ENCODING("i32imm", ENCODING_Iv)
1370 ENCODING("i32i8imm", ENCODING_IB)
1371 ENCODING("i64i32imm", ENCODING_ID)
1372 ENCODING("i64i8imm", ENCODING_IB)
1373 ENCODING("i8imm", ENCODING_IB)
1374 ENCODING("u8imm", ENCODING_IB)
1375 ENCODING("i16u8imm", ENCODING_IB)
1376 ENCODING("i32u8imm", ENCODING_IB)
1377 ENCODING("i64u8imm", ENCODING_IB)
1378 ENCODING("i64i32imm_brtarget", ENCODING_ID)
1379 ENCODING("i16imm_brtarget", ENCODING_IW)
1380 ENCODING("i32imm_brtarget", ENCODING_ID)
1381 ENCODING("brtarget32", ENCODING_ID)
1382 ENCODING("brtarget16", ENCODING_IW)
1383 ENCODING("brtarget8", ENCODING_IB)
1384 ENCODING("i64imm", ENCODING_IO)
1385 ENCODING("offset16_8", ENCODING_Ia)
1386 ENCODING("offset16_16", ENCODING_Ia)
1387 ENCODING("offset16_32", ENCODING_Ia)
1388 ENCODING("offset32_8", ENCODING_Ia)
1389 ENCODING("offset32_16", ENCODING_Ia)
1390 ENCODING("offset32_32", ENCODING_Ia)
1391 ENCODING("offset32_64", ENCODING_Ia)
1392 ENCODING("offset64_8", ENCODING_Ia)
1393 ENCODING("offset64_16", ENCODING_Ia)
1394 ENCODING("offset64_32", ENCODING_Ia)
1395 ENCODING("offset64_64", ENCODING_Ia)
1396 ENCODING("srcidx8", ENCODING_SI)
1397 ENCODING("srcidx16", ENCODING_SI)
1398 ENCODING("srcidx32", ENCODING_SI)
1399 ENCODING("srcidx64", ENCODING_SI)
1400 ENCODING("dstidx8", ENCODING_DI)
1401 ENCODING("dstidx16", ENCODING_DI)
1402 ENCODING("dstidx32", ENCODING_DI)
1403 ENCODING("dstidx64", ENCODING_DI)
1404 errs() << "Unhandled relocation encoding " << s << "\n";
1405 llvm_unreachable("Unhandled relocation encoding");
1411 ENCODING("GR32", ENCODING_Rv)
1412 ENCODING("GR64", ENCODING_RO)
1413 ENCODING("GR16", ENCODING_Rv)
1414 ENCODING("GR8", ENCODING_RB)
1415 ENCODING("ccode", ENCODING_CC)
1416 errs() << "Unhandled opcode modifier encoding " << s << "\n";
1417 llvm_unreachable("Unhandled opcode modifier encoding");
1419 #undef ENCODING