On 07/30/2014 04:11 PM, Jan Vesely wrote:
CC: Tom Stellard <t...@stellard.net>
CC: Matt Arsenault <matthew.arsena...@amd.com>

Signed-off-by: Jan Vesely <jan.ves...@rutgers.edu>
---
  include/llvm/IR/IntrinsicsR600.td    | 2 ++
  lib/Target/R600/R600ISelLowering.cpp | 6 ++++--
  2 files changed, 6 insertions(+), 2 deletions(-)
Needs a test for the intrinsic

diff --git a/include/llvm/IR/IntrinsicsR600.td 
b/include/llvm/IR/IntrinsicsR600.td
index ba69eaa..37a9771 100644
--- a/include/llvm/IR/IntrinsicsR600.td
+++ b/include/llvm/IR/IntrinsicsR600.td
@@ -33,6 +33,8 @@ defm int_r600_read_tgid : R600ReadPreloadRegisterIntrinsic_xyz 
<
                                         "__builtin_r600_read_tgid">;
  defm int_r600_read_tidig : R600ReadPreloadRegisterIntrinsic_xyz <
                                         "__builtin_r600_read_tidig">;
+def int_r600_read_workdim : R600ReadPreloadRegisterIntrinsic <
+                                       "__builtin_r600_read_workdim">;
} // End TargetPrefix = "r600"
We're trying to move the intrinsics to use the amdgpu name instead, although all the others use r600 now so it might be best to change them all at once.

diff --git a/lib/Target/R600/R600ISelLowering.cpp b/lib/Target/R600/R600ISelLowering.cpp
index 4c603f8..1c59684 100644
--- a/lib/Target/R600/R600ISelLowering.cpp
+++ b/lib/Target/R600/R600ISelLowering.cpp
@@ -805,6 +805,8 @@ SDValue R600TargetLowering::LowerOperation(SDValue Op, 
SelectionDAG &DAG) const
        return LowerImplicitParameter(DAG, VT, DL, 7);
      case Intrinsic::r600_read_local_size_z:
        return LowerImplicitParameter(DAG, VT, DL, 8);
+    case Intrinsic::r600_read_workdim:
+      return LowerImplicitParameter(DAG, VT, DL, 9);
case Intrinsic::r600_read_tgid_x:
        return CreateLiveInRegister(DAG, &AMDGPU::R600_TReg32RegClass,
@@ -1722,7 +1724,7 @@ SDValue R600TargetLowering::LowerFormalArguments(
      // being invalid. Somehow this seems to work with i64 arguments, but 
breaks
      // for <1 x i64>.
- // The first 36 bytes of the input buffer contains information about
+    // The first 40 bytes of the input buffer contains information about
      // thread group and global sizes.
I think we should probably round this up to some larger number since it's likely more will need to be added in the future

// FIXME: This should really check the extload type, but the handling of
@@ -1730,7 +1732,7 @@ SDValue R600TargetLowering::LowerFormalArguments(
      //ISD::LoadExtType Ext = Ins[i].Flags.isSExt() ? ISD::SEXTLOAD : 
ISD::ZEXTLOAD;
      ISD::LoadExtType Ext = ISD::SEXTLOAD;
      SDValue Arg = DAG.getExtLoad(Ext, DL, VT, Chain,
-                                 DAG.getConstant(36 + VA.getLocMemOffset(), 
MVT::i32),
+                                 DAG.getConstant(40 + VA.getLocMemOffset(), 
MVT::i32),
                                   MachinePointerInfo(UndefValue::get(PtrTy)),
                                   MemVT, false, false, 4);

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to