Lines Matching refs:v
76 for _, v := range strings.Split(line[colon+1:], " ") {
77 v = strings.TrimSpace(v)
78 if v == "" {
81 vals = append(vals, v)
199 for _, v := range vals {
201 case strings.HasPrefix(v, "0x"):
202 op, err := strconv.ParseUint(v, 0, 8)
204 return fmt.Errorf("failed to parse hex pattern: %v", v)
211 case strings.HasPrefix(v, "0b"):
212 if len(v) != 8 || v[6] != '_' {
213 return fmt.Errorf("failed to parse bin pattern: %v", v)
216 if v[2] == '1' {
219 if v[3] == '1' {
222 if v[4] == '1' {
225 if v[5] == '1' {
228 if v[7] == '1' {
232 case strings.HasPrefix(v, "MOD["):
234 vv, err := parseModrm(v[3:])
236 return fmt.Errorf("failed to parse %v: %v", v, err)
239 case strings.HasPrefix(v, "REG["):
241 vv, err := parseModrm(v[3:])
243 return fmt.Errorf("failed to parse %v: %v", v, err)
246 case strings.HasPrefix(v, "RM["):
248 vv, err := parseModrm(v[2:])
250 return fmt.Errorf("failed to parse %v: %v", v, err)
253 case v == "RM=4":
255 case strings.HasPrefix(v, "SRM["):
256 vv, err := parseModrm(v[3:])
258 return fmt.Errorf("failed to parse %v: %v", v, err)
262 case v == "SRM=0", v == "SRM!=0":
263 case v == "MOD!=3":
268 case v == "MOD=3":
272 case v == "MOD=0":
274 case v == "MOD=1":
276 case v == "MOD=2":
278 case v == "lock_prefix":
282 case v == "UIMM8()", v == "SIMM8()":
284 case v == "UIMM16()":
286 case v == "UIMM32()":
288 case v == "SIMMz()":
290 case v == "UIMMv()":
292 case v == "UIMM8_1()":
294 case v == "BRDISP8()":
296 case v == "BRDISP32()":
298 case v == "BRDISPz()":
300 case v == "MEMDISPv()":
304 case v == "XOPV":
307 case v == "EVV":
309 case v == "VV1":
311 case v == "VMAP0":
313 case v == "V0F":
315 case v == "V0F38":
317 case v == "V0F3A":
319 case v == "XMAP8":
321 case v == "XMAP9":
323 case v == "XMAPA":
325 case v == "VNP":
327 case v == "V66":
329 case v == "VF2":
331 case v == "VF3":
333 case v == "VL128", v == "VL=0":
335 case v == "VL256", v == "VL=1":
337 case v == "NOVSR":
339 case v == "NOEVSR":
342 case v == "SE_IMM8()":
346 case v == "mode64":
348 case v == "not64":
350 case v == "mode32":
352 case v == "mode16":
354 case v == "eamode64",
355 v == "eamode32",
356 v == "eamode16",
357 v == "eanot16":
359 case v == "no_refining_prefix":
362 case v == "no66_prefix", v == "eosz32", v == "eosz64":
364 case v == "f2_refining_prefix", v == "refining_f2", v == "repne", v == "REP=2":
367 case v == "f3_refining_prefix", v == "refining_f3", v == "repe", v == "REP=3":
370 case v == "norep", v == "not_refining", v == "REP=0":
372 case v == "osz_refining_prefix":
375 case v == "rexw_prefix", v == "W1":
377 case v == "norexw_prefix", v == "W0":
379 case v == "MPXMODE=1",
380 v == "MPXMODE=0",
381 v == "TZCNT=1",
382 v == "TZCNT=0",
383 v == "LZCNT=1",
384 v == "LZCNT=0",
385 v == "CR_WIDTH()",
386 v == "DF64()",
387 v == "IMMUNE_REXW()",
388 v == "FORCE64()",
389 v == "EOSZ=1",
390 v == "EOSZ!=1",
391 v == "EOSZ=2",
392 v == "EOSZ!=2",
393 v == "EOSZ=3",
394 v == "EOSZ!=3",
395 v == "BRANCH_HINT()",
396 v == "P4=1",
397 v == "P4=0",
398 v == "rexb_prefix",
399 v == "norexb_prefix",
400 v == "IMMUNE66()",
401 v == "REFINING66()",
402 v == "IGNORE66()",
403 v == "IMMUNE66_LOOP64()",
404 v == "OVERRIDE_SEG0()",
405 v == "OVERRIDE_SEG1()",
406 v == "REMOVE_SEGMENT()",
407 v == "ONE()",
408 v == "nolock_prefix",
409 v == "MODRM()",
410 v == "VMODRM_XMM()",
411 v == "VMODRM_YMM()",
412 v == "BCRC=0",
413 v == "BCRC=1",
414 v == "ESIZE_8_BITS()",
415 v == "ESIZE_16_BITS()",
416 v == "ESIZE_32_BITS()",
417 v == "ESIZE_64_BITS()",
418 v == "NELEM_GPR_WRITER_STORE()",
419 v == "NELEM_GPR_WRITER_STORE_BYTE()",
420 v == "NELEM_GPR_WRITER_STORE_WORD()",
421 v == "NELEM_GPR_WRITER_LDOP_Q()",
422 v == "NELEM_GPR_WRITER_LDOP_D()",
423 v == "NELEM_GPR_READER()",
424 v == "NELEM_GPR_READER_BYTE()",
425 v == "NELEM_GPR_READER_WORD()",
426 v == "NELEM_GSCAT()",
427 v == "NELEM_HALF()",
428 v == "NELEM_FULL()",
429 v == "NELEM_FULLMEM()",
430 v == "NELEM_QUARTERMEM()",
431 v == "NELEM_EIGHTHMEM()",
432 v == "NELEM_HALFMEM()",
433 v == "NELEM_QUARTERMEM()",
434 v == "NELEM_MEM128()",
435 v == "NELEM_SCALAR()",
436 v == "NELEM_TUPLE1()",
437 v == "NELEM_TUPLE2()",
438 v == "NELEM_TUPLE4()",
439 v == "NELEM_TUPLE8()",
440 v == "NELEM_TUPLE1_4X()",
441 v == "NELEM_TUPLE1_BYTE()",
442 v == "NELEM_TUPLE1_WORD()",
443 v == "NELEM_MOVDDUP()",
444 v == "UISA_VMODRM_XMM()",
445 v == "UISA_VMODRM_YMM()",
446 v == "UISA_VMODRM_ZMM()",
447 v == "MASK=0",
448 v == "FIX_ROUND_LEN128()",
449 v == "FIX_ROUND_LEN512()",
450 v == "AVX512_ROUND()",
451 v == "ZEROING=0",
452 v == "SAE()",
453 v == "VL512", // VL=2
454 v == "not_refining_f3",
455 strings.HasPrefix(v, "MODEP5="):
457 return errSkip(fmt.Sprintf("unknown pattern %v", v))
483 for _, v := range vals {
484 switch v {
507 func parseModrm(v string) (int8, error) {
508 if len(v) < 4 || len(v) > 7 || v[0] != '[' || v[len(v)-1] != ']' {
511 if v == "[mm]" || v == "[rrr]" || v == "[nnn]" {
514 if !strings.HasPrefix(v, "[0b") {
518 for i := 3; i < len(v)-1; i++ {
519 if v[i] != '0' && v[i] != '1' {
523 if v[i] == '1' {