[SystemZ] Improve decoding in case of instructions with four register operands.
authorJonas Paulsson <paulsson@linux.vnet.ibm.com>
Tue, 31 Jul 2018 13:00:42 +0000 (13:00 +0000)
committerJonas Paulsson <paulsson@linux.vnet.ibm.com>
Tue, 31 Jul 2018 13:00:42 +0000 (13:00 +0000)
commit2f12e45d5ae1adbc2b45f11191d0db6a0f8352b9
treecad54c3d7db1d0950a4e99626339eba55d4281fa
parent9a801cb598cf42dd3dccc6bd370b78692e239606
[SystemZ] Improve decoding in case of instructions with four register operands.

Since z13, the max group size will be 2 if any μop has more than 3 register
sources.

This has been ignored sofar in the SystemZHazardRecognizer, but is now
handled by recognizing those instructions and adjusting the tracking of
decoding and the cost heuristic for grouping.

Review: Ulrich Weigand
https://reviews.llvm.org/D49847

llvm-svn: 338368
llvm/lib/Target/SystemZ/SystemZHazardRecognizer.cpp
llvm/lib/Target/SystemZ/SystemZHazardRecognizer.h
llvm/lib/Target/SystemZ/SystemZMachineScheduler.cpp
llvm/test/CodeGen/SystemZ/vec-cmp-cmp-logic-select.ll