From eae658453199d67a41deccbeb78e55b8eea9e966 Mon Sep 17 00:00:00 2001 From: Michalis Spyrou Date: Mon, 15 Jun 2020 20:23:59 +0100 Subject: COMPMID-3521: SUB_V1_2 CTS test failing with data type QUANT8_ASYMM Change-Id: I2d113f3a97bf701a1a8395855e6f2cb85b99e31f Signed-off-by: Michalis Spyrou Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/3337 Tested-by: Arm Jenkins Reviewed-by: Michele Di Giorgio --- tests/validation/NEON/ArithmeticSubtraction.cpp | 17 ++++++++++++++--- tests/validation/fixtures/ArithmeticOperationsFixture.h | 14 ++++++++++++++ 2 files changed, 28 insertions(+), 3 deletions(-) (limited to 'tests') diff --git a/tests/validation/NEON/ArithmeticSubtraction.cpp b/tests/validation/NEON/ArithmeticSubtraction.cpp index 420d61d1ee..8f9924becc 100644 --- a/tests/validation/NEON/ArithmeticSubtraction.cpp +++ b/tests/validation/NEON/ArithmeticSubtraction.cpp @@ -142,9 +142,10 @@ FIXTURE_DATA_TEST_CASE(RunSmall, NEArithmeticSubtractionFixture, framew } TEST_SUITE_END() // U8 -using NEArithmeticSubtractionQASYMM8Fixture = ArithmeticSubtractionValidationQuantizedFixture; -using NEArithmeticSubtractionQASYMM8SignedFixture = ArithmeticSubtractionValidationQuantizedFixture; -using NEArithmeticSubtractionQSYMM16Fixture = ArithmeticSubtractionValidationQuantizedFixture; +using NEArithmeticSubtractionQASYMM8Fixture = ArithmeticSubtractionValidationQuantizedFixture; +using NEArithmeticSubtractionQASYMM8SignedFixture = ArithmeticSubtractionValidationQuantizedFixture; +using NEArithmeticSubtractionQASYMM8SignedBroadcastFixture = ArithmeticSubtractionValidationQuantizedBroadcastFixture; +using NEArithmeticSubtractionQSYMM16Fixture = ArithmeticSubtractionValidationQuantizedFixture; TEST_SUITE(Quantized) TEST_SUITE(QASYMM8) @@ -167,6 +168,16 @@ FIXTURE_DATA_TEST_CASE(RunSmall, NEArithmeticSubtractionQASYMM8SignedFixture, fr // Validate output validate(Accessor(_target), _reference, tolerance_qasymm8); } + +FIXTURE_DATA_TEST_CASE(RunSmallBroadcast, NEArithmeticSubtractionQASYMM8SignedBroadcastFixture, framework::DatasetMode::ALL, combine(combine(combine( + datasets::SmallShapesBroadcast(), + ArithmeticSubtractionQASYMM8SIGNEDDataset), + framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE })), + ArithmeticSubtractionQuantizationInfoSignedDataset)) +{ + // Validate output + validate(Accessor(_target), _reference, tolerance_qasymm8); +} TEST_SUITE_END() // QASYMM8_SIGNED TEST_SUITE(QSYMM16) diff --git a/tests/validation/fixtures/ArithmeticOperationsFixture.h b/tests/validation/fixtures/ArithmeticOperationsFixture.h index 1019e60233..05c55a0b63 100644 --- a/tests/validation/fixtures/ArithmeticOperationsFixture.h +++ b/tests/validation/fixtures/ArithmeticOperationsFixture.h @@ -265,6 +265,20 @@ public: convert_policy, qinfo0, qinfo1, qinfo_out, ActivationLayerInfo(), false); } }; + +template +class ArithmeticSubtractionValidationQuantizedBroadcastFixture : public ArithmeticOperationGenericFixture +{ +public: + template + void setup(const TensorShape &shape0, const TensorShape &shape1, DataType data_type0, DataType data_type1, DataType output_data_type, + ConvertPolicy convert_policy, QuantizationInfo qinfo0, QuantizationInfo qinfo1, QuantizationInfo qinfo_out) + { + ArithmeticOperationGenericFixture::setup(reference::ArithmeticOperation::SUB, shape0, shape1, + data_type0, data_type1, output_data_type, convert_policy, + qinfo0, qinfo1, qinfo_out, ActivationLayerInfo(), false); + } +}; } // namespace validation } // namespace test } // namespace arm_compute -- cgit v1.2.1