[Mesa-dev] [PATCH] radeon/llvm: support for vectorised select

2012-09-11 Thread Vincent Lejeune
Conflicts:
src/gallium/drivers/radeon/R600ISelLowering.cpp
---
 src/gallium/drivers/radeon/R600ISelLowering.cpp | 13 +
 src/gallium/drivers/radeon/R600ISelLowering.h   |  2 ++
 2 files changed, 15 insertions(+)

diff --git a/src/gallium/drivers/radeon/R600ISelLowering.cpp 
b/src/gallium/drivers/radeon/R600ISelLowering.cpp
index 5642ee8..599a758 100644
--- a/src/gallium/drivers/radeon/R600ISelLowering.cpp
+++ b/src/gallium/drivers/radeon/R600ISelLowering.cpp
@@ -48,10 +48,23 @@ R600TargetLowering::R600TargetLowering(TargetMachine TM) :
 
   setOperationAction(ISD::SETCC, MVT::i32, Custom);
   setOperationAction(ISD::SETCC, MVT::f32, Custom);
+  setOperationAction(ISD::SETCC, MVT::v4i32, Expand);
   setOperationAction(ISD::FP_TO_UINT, MVT::i1, Custom);
+  
+  setOperationAction(ISD::SELECT, MVT::v4f32, Expand);
+  setOperationAction(ISD::SELECT, MVT::v4i32, Expand);
+  
+  setOperationAction(ISD::VSELECT, MVT::v4f32, Expand);
+  setOperationAction(ISD::VSELECT, MVT::v4i32, Expand);
   setSchedulingPreference(Sched::VLIW);
 }
 
+EVT R600TargetLowering::getSetCCResultType(EVT VT) const
+{
+   if (!VT.isVector()) return MVT::i32;
+   return VT.changeVectorElementTypeToInteger();
+}
+
 MachineBasicBlock * R600TargetLowering::EmitInstrWithCustomInserter(
 MachineInstr * MI, MachineBasicBlock * BB) const
 {
diff --git a/src/gallium/drivers/radeon/R600ISelLowering.h 
b/src/gallium/drivers/radeon/R600ISelLowering.h
index 49ea272..b090946 100644
--- a/src/gallium/drivers/radeon/R600ISelLowering.h
+++ b/src/gallium/drivers/radeon/R600ISelLowering.h
@@ -30,6 +30,8 @@ public:
   void ReplaceNodeResults(SDNode * N,
   SmallVectorImplSDValue Results,
   SelectionDAG DAG) const;
+  
+  EVT getSetCCResultType(EVT VT) const;
 private:
   const R600InstrInfo * TII;
 
-- 
1.7.11.4

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


Re: [Mesa-dev] [PATCH] radeon/llvm: support for vectorised select

2012-09-11 Thread Matt Turner
On Tue, Sep 11, 2012 at 1:34 PM, Vincent Lejeune v...@ovi.com wrote:
 Conflicts:
 src/gallium/drivers/radeon/R600ISelLowering.cpp
 ---

There shouldn't be messages like this in the commit log for individual patches.
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev