diff options
author | Abdoulaye Walsimou Gaye <awg@embtoolkit.org> | 2013-07-21 16:44:44 +0200 |
---|---|---|
committer | Abdoulaye Walsimou Gaye <awg@embtoolkit.org> | 2013-07-21 16:44:44 +0200 |
commit | fea898b7fa5aea0ea3d688bce03b1184ab6842e8 (patch) | |
tree | be6091811505bcac0bc6e2dda5e93e61d0afc2fc /lib/Target/R600/R600ControlFlowFinalizer.cpp | |
parent | 46ef71a74329a0777e3464c65927cd3e59c928d6 (diff) | |
parent | f667db3652e1fd198ce4e3aec4cebf080a124552 (diff) | |
download | llvm-fea898b7fa5aea0ea3d688bce03b1184ab6842e8.tar.gz llvm-fea898b7fa5aea0ea3d688bce03b1184ab6842e8.tar.bz2 llvm-fea898b7fa5aea0ea3d688bce03b1184ab6842e8.tar.xz |
Merge branch 'release_33' of git://github.com/llvm-mirror/llvm into embtk-support-release-3.3
Diffstat (limited to 'lib/Target/R600/R600ControlFlowFinalizer.cpp')
-rw-r--r-- | lib/Target/R600/R600ControlFlowFinalizer.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/Target/R600/R600ControlFlowFinalizer.cpp b/lib/Target/R600/R600ControlFlowFinalizer.cpp index ffe3414413..7d3a0f52de 100644 --- a/lib/Target/R600/R600ControlFlowFinalizer.cpp +++ b/lib/Target/R600/R600ControlFlowFinalizer.cpp @@ -116,8 +116,15 @@ private: const MachineOperand &MO = *I; if (!MO.isReg()) continue; - if (MO.isDef()) - DstMI = MO.getReg(); + if (MO.isDef()) { + unsigned Reg = MO.getReg(); + if (AMDGPU::R600_Reg128RegClass.contains(Reg)) + DstMI = Reg; + else + DstMI = TRI.getMatchingSuperReg(Reg, + TRI.getSubRegFromChannel(TRI.getHWRegChan(Reg)), + &AMDGPU::R600_Reg128RegClass); + } if (MO.isUse()) { unsigned Reg = MO.getReg(); if (AMDGPU::R600_Reg128RegClass.contains(Reg)) |