R600/SI: Add a pattern for llvm.AMDGPU.barrier.global

llvm-svn: 211109
This commit is contained in:
Tom Stellard 2014-06-17 16:53:09 +00:00
parent aad4659470
commit 85ad429f1f
3 changed files with 16 additions and 1 deletions

View File

@ -65,6 +65,7 @@ let TargetPrefix = "AMDGPU", isTarget = 1 in {
def int_AMDGPU_bfe_u32 : Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [IntrNoMem]>;
def int_AMDGPU_bfm : Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], [IntrNoMem]>;
def int_AMDGPU_barrier_local : Intrinsic<[], [], []>;
def int_AMDGPU_barrier_global : Intrinsic<[], [], []>;
}
// Legacy names for compatability.

View File

@ -348,7 +348,7 @@ def FLT_TO_UINT_eg : FLT_TO_UINT_Common<0x9A> {
def UINT_TO_FLT_eg : UINT_TO_FLT_Common<0x9C>;
def GROUP_BARRIER : InstR600 <
(outs), (ins), " GROUP_BARRIER", [(int_AMDGPU_barrier_local)], AnyALU>,
(outs), (ins), " GROUP_BARRIER", [(int_AMDGPU_barrier_local), (int_AMDGPU_barrier_global)], AnyALU>,
R600ALU_Word0,
R600ALU_Word1_OP2 <0x54> {
@ -377,6 +377,11 @@ def GROUP_BARRIER : InstR600 <
let ALUInst = 1;
}
def : Pat <
(int_AMDGPU_barrier_global),
(GROUP_BARRIER)
>;
//===----------------------------------------------------------------------===//
// LDS Instructions
//===----------------------------------------------------------------------===//

View File

@ -1731,6 +1731,15 @@ def : Pat <
(S_XOR_B64 $src0, $src1)
>;
//===----------------------------------------------------------------------===//
// SOPP Patterns
//===----------------------------------------------------------------------===//
def : Pat <
(int_AMDGPU_barrier_global),
(S_BARRIER)
>;
//===----------------------------------------------------------------------===//
// VOP2 Patterns
//===----------------------------------------------------------------------===//