[LLVMdev] [AMDGPU][PATCH 1/3] Addition of the new intrinsics in AMDGPUIntrinsics.td

Hilloulin Damien damien.hilloulin at supelec.fr
Thu Aug 21 17:13:02 PDT 2014


  This patch adds the definitions of the intrinsics used for
  barriers/memory fences support.

Signed-off-by: Damien Hilloulin <damien.hilloulin at supelec.fr>
---
  lib/Target/R600/AMDGPUIntrinsics.td | 11 +++++++++++
  1 file changed, 11 insertions(+)

diff --git a/lib/Target/R600/AMDGPUIntrinsics.td 
b/lib/Target/R600/AMDGPUIntrinsics.td
index eee9c29..bee195a 100644
--- a/lib/Target/R600/AMDGPUIntrinsics.td
+++ b/lib/Target/R600/AMDGPUIntrinsics.td
@@ -68,8 +68,19 @@ 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_brev : Intrinsic<[llvm_i32_ty], [llvm_i32_ty], 
[IntrNoMem]>;
+  def int_AMDGPU_barrier_nofence  : Intrinsic<[], [], []>;
    def int_AMDGPU_barrier_local  : Intrinsic<[], [], []>;
    def int_AMDGPU_barrier_global  : Intrinsic<[], [], []>;
+  def int_AMDGPU_barrier_localglobal  : Intrinsic<[], [], []>;
+  def int_AMDGPU_mem_fence_local  : Intrinsic<[], [], []>;
+  def int_AMDGPU_mem_fence_global  : Intrinsic<[], [], []>;
+  def int_AMDGPU_mem_fence_localglobal  : Intrinsic<[], [], []>;
+  def int_AMDGPU_read_mem_fence_local  : Intrinsic<[], [], []>;
+  def int_AMDGPU_read_mem_fence_global  : Intrinsic<[], [], []>;
+  def int_AMDGPU_read_mem_fence_localglobal  : Intrinsic<[], [], []>;
+  def int_AMDGPU_write_mem_fence_local  : Intrinsic<[], [], []>;
+  def int_AMDGPU_write_mem_fence_global  : Intrinsic<[], [], []>;
+  def int_AMDGPU_write_mem_fence_localglobal  : Intrinsic<[], [], []>;
  }

  // Legacy names for compatibility.
-- 
1.9.1




More information about the llvm-dev mailing list