projects
/
oota-llvm.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
4eba62d
)
R600/SI: Add hack to copy from a VGPR to VCC
author
Matt Arsenault
<Matthew.Arsenault@amd.com>
Sat, 14 Feb 2015 02:55:54 +0000
(
02:55
+0000)
committer
Matt Arsenault
<Matthew.Arsenault@amd.com>
Sat, 14 Feb 2015 02:55:54 +0000
(
02:55
+0000)
This hopefully should be fixed when VReg_1 is removed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229225
91177308
-0d34-0410-b5e6-
96231b3b80d8
lib/Target/R600/SIInstrInfo.cpp
patch
|
blob
|
history
diff --git
a/lib/Target/R600/SIInstrInfo.cpp
b/lib/Target/R600/SIInstrInfo.cpp
index 7762b6eccf885a43906bddc29b933cb521df2bf9..13775b5ec312368c9cd4565decb959ed57cefb8f 100644
(file)
--- a/
lib/Target/R600/SIInstrInfo.cpp
+++ b/
lib/Target/R600/SIInstrInfo.cpp
@@
-332,6
+332,16
@@
SIInstrInfo::copyPhysReg(MachineBasicBlock &MBB,
return;
} else if (AMDGPU::SReg_64RegClass.contains(DestReg)) {
+ if (DestReg == AMDGPU::VCC) {
+ // FIXME: Hack until VReg_1 removed.
+
+ assert(AMDGPU::VGPR_32RegClass.contains(SrcReg));
+ BuildMI(MBB, MI, DL, get(AMDGPU::V_CMP_NE_I32_e32), AMDGPU::VCC)
+ .addImm(0)
+ .addReg(SrcReg, getKillRegState(KillSrc));
+ return;
+ }
+
assert(AMDGPU::SReg_64RegClass.contains(SrcReg));
BuildMI(MBB, MI, DL, get(AMDGPU::S_MOV_B64), DestReg)
.addReg(SrcReg, getKillRegState(KillSrc));