From b479a43939b77b7f6d67f103f1fdc9126466f780 Mon Sep 17 00:00:00 2001 From: sharmander Date: Thu, 3 Dec 2020 14:20:02 -0500 Subject: CPU: Implement VFNMS.F32/64 (#1758) * Add necessary methods / op-code * Enable Support for FMA Instruction Set * Add Intrinsics / Assembly Opcodes for VFMSUB231XX. * Add X86 Instructions for VFMSUB231XX * Implement VFNMS * Implement VFNMS Tests * Add special cases for FMA instructions. * Update PPTC Version * Remove unused Op * Move Check into Assert / Cleanup * Rename and cleanup * Whitespace * Whitespace / Rename * Re-sort * Address final requests * Implement VFMA.F64 * Simplify switch * Simplify FMA Instructions into their own IntrinsicType. * Remove whitespace * Fix indentation * Change tests for Vfnms -- disable inf / nan * Move args up, not description ;) * Undo vfma * Completely remove vfms code., * Fix order of instruction in assembler --- ARMeilleure/CodeGen/X86/PreAllocator.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'ARMeilleure/CodeGen/X86/PreAllocator.cs') diff --git a/ARMeilleure/CodeGen/X86/PreAllocator.cs b/ARMeilleure/CodeGen/X86/PreAllocator.cs index 2f430b6f..3aaf315a 100644 --- a/ARMeilleure/CodeGen/X86/PreAllocator.cs +++ b/ARMeilleure/CodeGen/X86/PreAllocator.cs @@ -1309,7 +1309,7 @@ namespace ARMeilleure.CodeGen.X86 IntrinsicOperation intrinOp = (IntrinsicOperation)operation; IntrinsicInfo info = IntrinsicTable.GetInfo(intrinOp.Intrinsic); - return info.Type == IntrinsicType.Crc32 || IsVexSameOperandDestSrc1(operation); + return info.Type == IntrinsicType.Crc32 || info.Type == IntrinsicType.Fma || IsVexSameOperandDestSrc1(operation); } private static bool IsVexSameOperandDestSrc1(Operation operation) -- cgit v1.2.3