summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeon/AMDILCFGStructurizer.cpp
diff options
context:
space:
mode:
authorTom Stellard <[email protected]>2012-07-25 08:56:08 -0400
committerTom Stellard <[email protected]>2012-07-27 17:08:09 +0000
commitc9ef27276f83b021221fb7e2c7397719e143709c (patch)
tree19f8cefb7f07d1566a799caba8071cffdba87e95 /src/gallium/drivers/radeon/AMDILCFGStructurizer.cpp
parentee0f0f03c6c174a160e5fb3882ec5c03cdfcd163 (diff)
radeon/llvm: Add instruction defs for branches on SI
Diffstat (limited to 'src/gallium/drivers/radeon/AMDILCFGStructurizer.cpp')
-rw-r--r--src/gallium/drivers/radeon/AMDILCFGStructurizer.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeon/AMDILCFGStructurizer.cpp b/src/gallium/drivers/radeon/AMDILCFGStructurizer.cpp
index 1f1a6da086e..91e0efa2634 100644
--- a/src/gallium/drivers/radeon/AMDILCFGStructurizer.cpp
+++ b/src/gallium/drivers/radeon/AMDILCFGStructurizer.cpp
@@ -2785,6 +2785,7 @@ struct CFGStructTraits<AMDILCFGStructurizer>
static int getBranchNzeroOpcode(int oldOpcode) {
switch(oldOpcode) {
ExpandCaseToAllScalarReturn(AMDGPU::BRANCH_COND, AMDGPU::IF_LOGICALNZ);
+ case AMDGPU::SI_IF_NZ: return AMDGPU::SI_IF_NZ;
default:
assert(0 && "internal error");
};
@@ -2794,6 +2795,7 @@ struct CFGStructTraits<AMDILCFGStructurizer>
static int getBranchZeroOpcode(int oldOpcode) {
switch(oldOpcode) {
ExpandCaseToAllScalarReturn(AMDGPU::BRANCH_COND, AMDGPU::IF_LOGICALZ);
+ case AMDGPU::SI_IF_Z: return AMDGPU::SI_IF_Z;
default:
assert(0 && "internal error");
};
@@ -2845,6 +2847,8 @@ struct CFGStructTraits<AMDILCFGStructurizer>
static bool isCondBranch(MachineInstr *instr) {
switch (instr->getOpcode()) {
ExpandCaseToAllScalarTypes(AMDGPU::BRANCH_COND);
+ case AMDGPU::SI_IF_NZ:
+ case AMDGPU::SI_IF_Z:
break;
default:
return false;