IVGCVSW-6269 Add support of Unidirectional Sequence Lstm fp32/fp16 to Android

  * Unidirectional Sequence Lstm is supported in android-nn-driver.
  * CTS and VTS pass for Unidirectional Sequence Lstm if there are
    any without weights as inputs. If that isn't the case use the
    tests implemented in the android driver for LSTM.

Signed-off-by: Cathal Corbett <cathal.corbett@arm.com>
Change-Id: Ie3a237b67f5101c4f9a2c7bea796e9c674bedba1
diff --git a/1.2/HalPolicy.cpp b/1.2/HalPolicy.cpp
index 4cefd59..7dae6a1 100644
--- a/1.2/HalPolicy.cpp
+++ b/1.2/HalPolicy.cpp
@@ -184,6 +184,8 @@
             return ConvertTransposeConv2d(operation, model, data);
         case V1_2::OperationType::TANH:
             return ConvertTanH(operation, model, data);
+        case V1_2::OperationType::UNIDIRECTIONAL_SEQUENCE_LSTM:
+            return ConvertUnidirectionalSequenceLstm(operation, model, data);
         default:
             return Fail("%s: Operation type %s not supported in ArmnnDriver",
                         __func__, toString(operation.type).c_str());
@@ -522,5 +524,11 @@
     return ::ConvertTransposeConv2d<hal_1_2::HalPolicy>(operation, model, data);
 }
 
+bool HalPolicy::ConvertUnidirectionalSequenceLstm(const Operation& operation, const Model& model, ConversionData& data)
+{
+    ALOGV("hal_1_2::HalPolicy::ConvertUnidirectionalSequenceLstm()");
+    return ::ConvertUnidirectionalSequenceLstm<hal_1_2::HalPolicy>(operation, model, data);
+}
+
 } // namespace hal_1_2
 } // namespace armnn_driver