summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/R600/R600Packetizer.cpp
diff options
context:
space:
mode:
authorVincent Lejeune <vljn@ovi.com>2013-05-17 16:50:32 +0000
committerVincent Lejeune <vljn@ovi.com>2013-05-17 16:50:32 +0000
commit519f21eed3094ba5096f9834e96bfd6b3259943d (patch)
tree03818609585bdfb7b567ca2b9fce27832221dba5 /llvm/lib/Target/R600/R600Packetizer.cpp
parentd3eed66e8c9db36523d4cad000b41885e3ebfd99 (diff)
downloadbcm5719-llvm-519f21eed3094ba5096f9834e96bfd6b3259943d.tar.gz
bcm5719-llvm-519f21eed3094ba5096f9834e96bfd6b3259943d.zip
R600: Relax some vector constraints on Dot4.
Dot4 now uses 8 scalar operands instead of 2 vectors one which allows register coalescer to remove some unneeded COPY. This patch also defines some structures/functions that can be used to handle every vector instructions (CUBE, Cayman special instructions...) in a similar fashion. llvm-svn: 182126
Diffstat (limited to 'llvm/lib/Target/R600/R600Packetizer.cpp')
-rw-r--r--llvm/lib/Target/R600/R600Packetizer.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Target/R600/R600Packetizer.cpp b/llvm/lib/Target/R600/R600Packetizer.cpp
index 3e6504ddf86..ec89bff3c1b 100644
--- a/llvm/lib/Target/R600/R600Packetizer.cpp
+++ b/llvm/lib/Target/R600/R600Packetizer.cpp
@@ -86,7 +86,8 @@ private:
if (BI->getOperand(OperandIdx).getImm() == 0)
continue;
unsigned Dst = BI->getOperand(0).getReg();
- if (BI->getOpcode() == AMDGPU::DOT4_r600_real) {
+ if (BI->getOpcode() == AMDGPU::DOT4_r600 ||
+ BI->getOpcode() == AMDGPU::DOT4_eg) {
Result[Dst] = AMDGPU::PV_X;
continue;
}
OpenPOWER on IntegriCloud