mirror of
https://github.com/Ryujinx/Ryujinx.git
synced 2024-10-01 12:30:00 +02:00
(CPU) Fix CRC32 instruction when constant values are used as input (#2183)
This commit is contained in:
parent
fe452ac784
commit
d43a56726c
1 changed files with 14 additions and 1 deletions
|
@ -135,7 +135,7 @@ namespace ARMeilleure.CodeGen.X86
|
|||
|
||||
private static void HandleConstantRegCopy(IntrusiveList<Node> nodes, Node node, Operation operation)
|
||||
{
|
||||
if (operation.SourcesCount == 0 || IsIntrinsic(operation.Instruction))
|
||||
if (operation.SourcesCount == 0 || IsXmmIntrinsic(operation))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
@ -1400,5 +1400,18 @@ namespace ARMeilleure.CodeGen.X86
|
|||
{
|
||||
return inst == Instruction.Extended;
|
||||
}
|
||||
|
||||
private static bool IsXmmIntrinsic(Operation operation)
|
||||
{
|
||||
if (operation.Instruction != Instruction.Extended)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
IntrinsicOperation intrinOp = (IntrinsicOperation)operation;
|
||||
IntrinsicInfo info = IntrinsicTable.GetInfo(intrinOp.Intrinsic);
|
||||
|
||||
return info.Type != IntrinsicType.Crc32;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue