mirror of
https://github.com/asmjit/asmjit.git
synced 2025-12-18 13:04:36 +03:00
[Bug] Fixed VPERMQ incorrectly reporting AVX2 instead of AVX512-F features (X86 features API)
This commit is contained in:
@@ -1607,11 +1607,15 @@ Error InstInternal::queryFeatures(uint32_t arch, const BaseInst& inst, const Ope
|
||||
mustUseEvex = opCount >= 2 && x86::Reg::isGp(operands[1]);
|
||||
break;
|
||||
|
||||
// Special case: VPERMPD only supports YMM predicate in AVX mode, immediate
|
||||
// precicate is only supported by AVX512-F and newer.
|
||||
// Special case: VPERMPD - AVX2 vs AVX512-F case.
|
||||
case Inst::kIdVpermpd:
|
||||
mustUseEvex = opCount >= 3 && !operands[2].isImm();
|
||||
break;
|
||||
|
||||
// Special case: VPERMQ - AVX2 vs AVX512-F case.
|
||||
case Inst::kIdVpermq:
|
||||
mustUseEvex = opCount >= 3 && (operands[1].isMem() || !operands[2].isImm());
|
||||
break;
|
||||
}
|
||||
|
||||
if (!(usesAvx512 | mustUseEvex | regAnalysis.highVecUsed))
|
||||
|
||||
Reference in New Issue
Block a user