diff options
author | Pablo Marquez Tello <pablo.tello@arm.com> | 2023-07-18 14:51:24 +0100 |
---|---|---|
committer | Pablo Marquez Tello <pablo.tello@arm.com> | 2023-07-19 15:21:03 +0000 |
commit | 4a1c91767142f76e92bf4575564d7e54fcd0ebf4 (patch) | |
tree | 9ff60356ad77b07c3704826c14eb316a9eb9ac27 /tests/validation/NEON/Cast.cpp | |
parent | 314d3e2c691734ff942c9a1aca1120b826a267d9 (diff) | |
download | ComputeLibrary-4a1c91767142f76e92bf4575564d7e54fcd0ebf4.tar.gz |
Add support for input S64/U64 in CpuCastKernel
* The kernel now supports the following conversions:
S64 -> F32
U64 -> F32
* Resolves MLCE-1089
Change-Id: I277cf58b78d919fde25947520d2056e1412c7f82
Signed-off-by: Pablo Marquez Tello <pablo.tello@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/9935
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Viet-Hoa Do <viet-hoa.do@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Benchmark: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'tests/validation/NEON/Cast.cpp')
-rw-r--r-- | tests/validation/NEON/Cast.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/validation/NEON/Cast.cpp b/tests/validation/NEON/Cast.cpp index 166847ed66..a1ddcc9cad 100644 --- a/tests/validation/NEON/Cast.cpp +++ b/tests/validation/NEON/Cast.cpp @@ -101,6 +101,11 @@ const auto CastF32toS32Dataset = combine(framework::dataset::make("Da const auto CastF32toQASYMM8Dataset = combine(framework::dataset::make("DataType", DataType::F32), framework::dataset::make("DataType", DataType::QASYMM8)); const auto CastF32toQASYMM8_SIGNEDDataset = combine(framework::dataset::make("DataType", DataType::F32), framework::dataset::make("DataType", DataType::QASYMM8_SIGNED)); +// U64 +const auto CastU64toF32Dataset = combine(framework::dataset::make("DataType", DataType::U64), framework::dataset::make("DataType", DataType::F32)); + +// S64 +const auto CastS64toF32Dataset = combine(framework::dataset::make("DataType", DataType::S64), framework::dataset::make("DataType", DataType::F32)); } // namespace TEST_SUITE(NEON) @@ -108,6 +113,8 @@ TEST_SUITE(Cast) template <typename T> using NECastToU8Fixture = CastValidationFixture<Tensor, Accessor, NECast, T, uint8_t>; template <typename T> +using NECastToS8Fixture = CastValidationFixture<Tensor, Accessor, NECast, T, int8_t>; +template <typename T> using NECastToU16Fixture = CastValidationFixture<Tensor, Accessor, NECast, T, uint16_t>; template <typename T> using NECastToS16Fixture = CastValidationFixture<Tensor, Accessor, NECast, T, int16_t>; @@ -116,6 +123,10 @@ using NECastToU32Fixture = CastValidationFixture<Tensor, Accessor, NECast, T, ui template <typename T> using NECastToS32Fixture = CastValidationFixture<Tensor, Accessor, NECast, T, int32_t>; template <typename T> +using NECastToU64Fixture = CastValidationFixture<Tensor, Accessor, NECast, T, uint64_t>; +template <typename T> +using NECastToS64Fixture = CastValidationFixture<Tensor, Accessor, NECast, T, int64_t>; +template <typename T> using NECastToF16Fixture = CastValidationFixture<Tensor, Accessor, NECast, T, half>; template <typename T> using NECastToF32Fixture = CastValidationFixture<Tensor, Accessor, NECast, T, float>; @@ -189,6 +200,14 @@ CAST_SUITE(F32_to_F16, DataType::F32, DataType::F16, NECastToF16Fixture<float>, CAST_SUITE(F32_to_S32, DataType::F32, DataType::S32, NECastToS32Fixture<float>, CastF32toS32Dataset, one_tolerance) CAST_SUITE(F32_to_U8, DataType::F32, DataType::S32, NECastToS32Fixture<float>, CastF32toS32Dataset, one_tolerance) +#ifdef __aarch64__ +// S64 +CAST_SUITE(S64_to_F32, DataType::S64, DataType::F32, NECastToF32Fixture<int64_t>, CastS64toF32Dataset, zero_tolerance) + +// U64 +CAST_SUITE(U64_to_F32, DataType::U64, DataType::F32, NECastToF32Fixture<uint64_t>, CastU64toF32Dataset, zero_tolerance) +#endif // __aarch64__ + DATA_TEST_CASE(KernelSelectionDstFP16, framework::DatasetMode::ALL, combine(framework::dataset::make("CpuExt", std::string("NEON")), framework::dataset::make("DataType", |