diff options
| -rw-r--r-- | llvm/lib/Target/R600/R600ControlFlowFinalizer.cpp | 2 | ||||
| -rw-r--r-- | llvm/test/CodeGen/R600/cf_end.ll | 7 | 
2 files changed, 6 insertions, 3 deletions
diff --git a/llvm/lib/Target/R600/R600ControlFlowFinalizer.cpp b/llvm/lib/Target/R600/R600ControlFlowFinalizer.cpp index 9271b3976b5..94736adbabc 100644 --- a/llvm/lib/Target/R600/R600ControlFlowFinalizer.cpp +++ b/llvm/lib/Target/R600/R600ControlFlowFinalizer.cpp @@ -123,7 +123,7 @@ private:        Opcode = isEg ? AMDGPU::POP_EG : AMDGPU::POP_R600;        break;      case CF_END: -      if (ST.device()->getGeneration() == AMDGPUDeviceInfo::HD6XXX) { +      if (ST.device()->getDeviceFlag() == OCL_DEVICE_CAYMAN) {          Opcode = AMDGPU::CF_END_CM;          break;        } diff --git a/llvm/test/CodeGen/R600/cf_end.ll b/llvm/test/CodeGen/R600/cf_end.ll index 67d5e3e781c..56cd7de3821 100644 --- a/llvm/test/CodeGen/R600/cf_end.ll +++ b/llvm/test/CodeGen/R600/cf_end.ll @@ -1,6 +1,9 @@ -; RUN: llc < %s -march=r600 -mcpu=redwood --show-mc-encoding | FileCheck %s +; RUN: llc < %s -march=r600 -mcpu=redwood --show-mc-encoding | FileCheck --check-prefix=EG-CHECK %s +; RUN: llc < %s -march=r600 -mcpu=caicos --show-mc-encoding | FileCheck --check-prefix=EG-CHECK %s +; RUN: llc < %s -march=r600 -mcpu=cayman --show-mc-encoding | FileCheck --check-prefix=CM-CHECK %s -; CHECK: CF_END ; encoding: [0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x80] +; EG-CHECK: CF_END ; encoding: [0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x80] +; CM-CHECK: CF_END ; encoding: [0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88]  define void @eop() {    ret void  }  | 

