| func.func @tensor_downrank() { |
| %0 = util.unfoldable_constant dense<[[1, 2], [3, 4]]> : tensor<2x2xi32> |
| %1 = tosa.const_shape {values = dense<[4]> : tensor<1xindex>} : () -> !tosa.shape<1> |
| %result = tosa.reshape %0, %1 : (tensor<2x2xi32>, !tosa.shape<1>) -> tensor<4xi32> |
| check.expect_eq_const(%result, dense<[1, 2, 3, 4]> : tensor<4xi32>) : tensor<4xi32> |
| return |
| } |
| |
| func.func @tensor_uprank() { |
| %0 = util.unfoldable_constant dense<[1, 2, 3, 4]> : tensor<4xi32> |
| %1 = tosa.const_shape {values = dense<[2, 2]> : tensor<2xindex>} : () -> !tosa.shape<2> |
| %result = tosa.reshape %0, %1 : (tensor<4xi32>, !tosa.shape<2>) -> tensor<2x2xi32> |
| check.expect_eq_const(%result, dense<[[1, 2], [3, 4]]> : tensor<2x2xi32>) : tensor<2x2xi32> |
| return |
| } |
| |
| func.func @tensor_crossrank() { |
| %0 = util.unfoldable_constant dense<[[1, 2, 3], [4, 5, 6]]> : tensor<2x3xi32> |
| %1 = tosa.const_shape {values = dense<[3, 2]> : tensor<2xindex>} : () -> !tosa.shape<2> |
| %result = tosa.reshape %0, %1 : (tensor<2x3xi32>, !tosa.shape<2>) -> tensor<3x2xi32> |
| check.expect_eq_const(%result, dense<[[1, 2], [3, 4], [5, 6]]> : tensor<3x2xi32>) : tensor<3x2xi32> |
| return |
| } |