error(ERR_NONFATAL, "instruction not supported in %d-bit mode",
bits);
break;
+ case MERR_ENCMISMATCH:
+ error(ERR_NONFATAL, "specific encoding scheme not available");
+ break;
case MERR_BADBND:
error(ERR_NONFATAL, "bnd prefix is not allowed");
break;
return MERR_INVALOP;
/*
+ * {evex} available?
+ */
+ if (instruction->prefixes[PPS_EVEX] && !itemp_has(itemp, IF_EVEX)) {
+ return MERR_ENCMISMATCH;
+ }
+
+ /*
* Check that no spurious colons or TOs are present
*/
for (i = 0; i < itemp->operands; i++)
*/
return MERR_BRNUMMISMATCH;
}
- } else if (instruction->prefixes[PPS_EVEX] &&
- !itemp_has(itemp, IF_AVX512)) {
- return MERR_ENCMISMATCH;
}
}
$nd = 1 if $flags =~ /(^|\,)ND($|\,)/;
$flags =~ s/(^|\,)ND($|\,)/\1/g;
$flags =~ s/(^|\,)X64($|\,)/\1LONG,X86_64\2/g;
- $flags =~ s/(^|\,)AVX512CD($|\,)/\1AVX512CD,AVX512\2/g;
- $flags =~ s/(^|\,)AVX512ER($|\,)/\1AVX512ER,AVX512\2/g;
- $flags =~ s/(^|\,)AVX512PF($|\,)/\1AVX512PF,AVX512\2/g;
+ $flags .= ",EVEX" if ($codes =~ /evex\./);
$rawflags = $flags;
$flagsindex = insns_flag_index(split(',',$flags));