summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/R600/SILowerI1Copies.cpp
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2014-11-26 18:18:28 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2014-11-26 18:18:28 +0000
commitb9350895769de897280429e65c4840e8aeadfc54 (patch)
treeb2e9ef513e6ec341590d0f518e42ab0d5c0fcfce /llvm/lib/Target/R600/SILowerI1Copies.cpp
parent9b9e07608d2bec926e72c812b8c4c0283ccf143b (diff)
downloadbcm5719-llvm-b9350895769de897280429e65c4840e8aeadfc54.tar.gz
bcm5719-llvm-b9350895769de897280429e65c4840e8aeadfc54.zip
R600/SI: Create e64 versions of and/or/xor in SILowerI1Copies
This fixes moving boolean constants into registers before operating on them. They get permuted and shrunk down to e32 anyway later. This is a temporary fix until the patch that removes these pseudos is committed. llvm-svn: 222844
Diffstat (limited to 'llvm/lib/Target/R600/SILowerI1Copies.cpp')
-rw-r--r--llvm/lib/Target/R600/SILowerI1Copies.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/llvm/lib/Target/R600/SILowerI1Copies.cpp b/llvm/lib/Target/R600/SILowerI1Copies.cpp
index 65b892cf122..226a672b343 100644
--- a/llvm/lib/Target/R600/SILowerI1Copies.cpp
+++ b/llvm/lib/Target/R600/SILowerI1Copies.cpp
@@ -93,19 +93,19 @@ bool SILowerI1Copies::runOnMachineFunction(MachineFunction &MF) {
if (MI.getOpcode() == AMDGPU::V_AND_I1) {
I1Defs.push_back(MI.getOperand(0).getReg());
- MI.setDesc(TII->get(AMDGPU::V_AND_B32_e32));
+ MI.setDesc(TII->get(AMDGPU::V_AND_B32_e64));
continue;
}
if (MI.getOpcode() == AMDGPU::V_OR_I1) {
I1Defs.push_back(MI.getOperand(0).getReg());
- MI.setDesc(TII->get(AMDGPU::V_OR_B32_e32));
+ MI.setDesc(TII->get(AMDGPU::V_OR_B32_e64));
continue;
}
if (MI.getOpcode() == AMDGPU::V_XOR_I1) {
I1Defs.push_back(MI.getOperand(0).getReg());
- MI.setDesc(TII->get(AMDGPU::V_XOR_B32_e32));
+ MI.setDesc(TII->get(AMDGPU::V_XOR_B32_e64));
continue;
}
OpenPOWER on IntegriCloud