OSDN Git Service

[TwoAddressInstructionPass] Improve tryInstructionCommute of X86 FMA and vpternlog...
authorCraig Topper <craig.topper@intel.com>
Fri, 9 Mar 2018 23:36:58 +0000 (23:36 +0000)
committerCraig Topper <craig.topper@intel.com>
Fri, 9 Mar 2018 23:36:58 +0000 (23:36 +0000)
commit2fb0fe6cdbf6876df591324dd86d3d0234b796d3
tree782dc1c0100690204c13450dc14560c73a41a3df
parentac0df5fe842d1bce4c07476ca5955475562affab
[TwoAddressInstructionPass] Improve tryInstructionCommute of X86 FMA and vpternlog instructions

These instructions have 3 operands that can be commuted. The first commute we find may not be the best. So we should keep searching if we performed an aggressive commute. There may still be an operand that is killed or a physical register constraint that might be better.

Differential Revision: https://reviews.llvm.org/D44324

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@327188 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/TwoAddressInstructionPass.cpp
test/CodeGen/X86/avx512-vpternlog-commute.ll