[Mesa-dev] [PATCH] radeon/llvm: support for vectorised select
Tom Stellard
tom at stellard.net
Wed Sep 12 07:57:42 PDT 2012
On Tue, Sep 11, 2012 at 10:34:18PM +0200, Vincent Lejeune wrote:
> Conflicts:
> src/gallium/drivers/radeon/R600ISelLowering.cpp
As Matt mentioned, you can drop this conflicts line in the commit message.
Other than that:
Reviewed-by: Tom Stellard <thomas.stellard at amd.com>
> ---
> 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,
> SmallVectorImpl<SDValue> &Results,
> SelectionDAG &DAG) const;
> +
> + EVT getSetCCResultType(EVT VT) const;
> private:
> const R600InstrInfo * TII;
>
> --
> 1.7.11.4
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list