Adding TensorLayoutSwapOp for sycl.

This commit is contained in:
Mehdi Goli
2017-02-15 16:28:12 +00:00
parent b1e312edd6
commit 91982b91c0
9 changed files with 217 additions and 44 deletions

View File

@@ -144,16 +144,19 @@ FORCEDEVAL()
#undef FORCEDEVAL
/// specialisation of the \ref PlaceHolderExpression when the node is
/// TensorEvalToOp
#define EVALTO(CVQual)\
/// TensorEvalToOp, TensorLayoutSwapOp
#define EVALTOLAYOUTSWAP(CVQual, ExprNode)\
template <typename Expr, size_t N>\
struct PlaceHolderExpression<CVQual TensorEvalToOp<Expr>, N> {\
typedef CVQual TensorEvalToOp<typename CalculateIndex <N, Expr>::ArgType> Type;\
struct PlaceHolderExpression<CVQual ExprNode<Expr>, N> {\
typedef CVQual ExprNode<typename CalculateIndex <N, Expr>::ArgType> Type;\
};
EVALTO(const)
EVALTO()
#undef EVALTO
EVALTOLAYOUTSWAP(const, TensorEvalToOp)
EVALTOLAYOUTSWAP(, TensorEvalToOp)
EVALTOLAYOUTSWAP(const, TensorLayoutSwapOp)
EVALTOLAYOUTSWAP(, TensorLayoutSwapOp)
#undef EVALTOLAYOUTSWAP
/// specialisation of the \ref PlaceHolderExpression when the node is