Commit 4bdc9d9b authored by AmosLewis's avatar AmosLewis Committed by Jacques Pienaar
Browse files

[mlir][tosa] Add TOSA f64 type support for const op

[mlir][tosa] Add TOSA f64 type support for const op

Reviewed By: eric-k256, jpienaar

Differential Revision: https://reviews.llvm.org/D145336
parent 0676c6d9
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -1746,11 +1746,11 @@ def Tosa_CastOp: Tosa_Op<"cast", [Pure,
  }];

  let arguments = (ins
    Tosa_Tensor_Cast:$input
    Tosa_Tensor_Plus_F64:$input
  );

  let results = (outs
    Tosa_Tensor_Cast:$output
    Tosa_Tensor_Plus_F64:$output
  );

  let hasFolder = 1;
@@ -1821,7 +1821,7 @@ def Tosa_ConstOp : Tosa_Op<"const", [ConstantLike, Pure,
  );

  let results = (outs
    Tosa_Tensor:$output
    Tosa_Tensor_Plus_F64:$output
  );
  let hasFolder = 1;
}
+4 −4
Original line number Diff line number Diff line
@@ -95,9 +95,9 @@ def Tosa_Float : AnyTypeOf<[
//===----------------------------------------------------------------------===//
def Tosa_AnyNumber : AnyTypeOf<[Tosa_Int, Tosa_QuantizedInt, Tosa_Float],
                               "number">;
// Add F64 type support for just for tosa::CastOp
def Tosa_AnyNumber_Cast : AnyTypeOf<[Tosa_Int, Tosa_QuantizedInt, Tosa_Float, F64],
                               "number_cast">;
// Add F64 type support just for tosa::CastOp and tosa::ConstOp
def Tosa_AnyNumber_Plus_F64 : AnyTypeOf<[Tosa_Int, Tosa_QuantizedInt, Tosa_Float, F64],
                               "number_plus_f64">;

//===----------------------------------------------------------------------===//
// Tensor types
@@ -108,7 +108,7 @@ def Tosa_Int32Or64Tensor : TensorOf<[Tosa_Int32Or64]>;

// Either ranked or unranked tensor of TOSA supported element types.
def Tosa_Tensor : TensorOf<[Tosa_AnyNumber]>;
def Tosa_Tensor_Cast : TensorOf<[Tosa_AnyNumber_Cast]>;
def Tosa_Tensor_Plus_F64 : TensorOf<[Tosa_AnyNumber_Plus_F64]>;
// Must be ranked but no further constraints
def Tosa_RankedTensor : RankedTensorOf<[Tosa_AnyNumber]>;

+7 −0
Original line number Diff line number Diff line
@@ -7,6 +7,13 @@ func.func @test_const(%arg0 : index) -> tensor<4xi32> {
  return %0 : tensor<4xi32>
}

// CHECK-LABEL: func @test_const_i64
func.func @test_const_i64(%arg0 : index) -> tensor<4xi64> {
  // CHECK: "tosa.const"
  %0 = "tosa.const"() {value = dense<[3, 0, 1, 2]> : tensor<4xi64>} : () -> tensor<4xi64>
  return %0 : tensor<4xi64>
}

// CHECK-LABEL: func @try_fold_equal_with_unranked_tensor
func.func @try_fold_equal_with_unranked_tensor(%arg0: tensor<4xi32>, %arg1: tensor<i32>) {
  // CHECK: "tosa.equal"