diff options
| author | Vincent Lejeune <vljn@ovi.com> | 2013-05-17 16:50:32 +0000 |
|---|---|---|
| committer | Vincent Lejeune <vljn@ovi.com> | 2013-05-17 16:50:32 +0000 |
| commit | 519f21eed3094ba5096f9834e96bfd6b3259943d (patch) | |
| tree | 03818609585bdfb7b567ca2b9fce27832221dba5 /llvm/lib/Target/R600/R600Packetizer.cpp | |
| parent | d3eed66e8c9db36523d4cad000b41885e3ebfd99 (diff) | |
| download | bcm5719-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.cpp | 3 |
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; } |

