diff options
author | Tom Stellard <thomas.stellard@amd.com> | 2013-04-29 22:23:58 +0000 |
---|---|---|
committer | Tom Stellard <thomas.stellard@amd.com> | 2013-04-29 22:23:58 +0000 |
commit | d8b2da11360419a9f1d569468a9b2a8ca3dace20 (patch) | |
tree | 590be3f65f287e7148f76ae11ef75e22e729a9f4 | |
parent | 015f586bc9665192b6814e91bf47552265ee0617 (diff) | |
download | external_llvm-d8b2da11360419a9f1d569468a9b2a8ca3dace20.zip external_llvm-d8b2da11360419a9f1d569468a9b2a8ca3dace20.tar.gz external_llvm-d8b2da11360419a9f1d569468a9b2a8ca3dace20.tar.bz2 |
R600: Use correct CF_END instruction on Northern Island GPUs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180735 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/R600/R600ControlFlowFinalizer.cpp | 2 | ||||
-rw-r--r-- | test/CodeGen/R600/cf_end.ll | 7 |
2 files changed, 6 insertions, 3 deletions
diff --git a/lib/Target/R600/R600ControlFlowFinalizer.cpp b/lib/Target/R600/R600ControlFlowFinalizer.cpp index 9271b39..94736ad 100644 --- a/lib/Target/R600/R600ControlFlowFinalizer.cpp +++ b/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/test/CodeGen/R600/cf_end.ll b/test/CodeGen/R600/cf_end.ll index 67d5e3e..56cd7de 100644 --- a/test/CodeGen/R600/cf_end.ll +++ b/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 } |