IVGCVSW-7214 Disable BF16-Turbo-Mode and remove conversion layers

 - Remove Bf16ToFp32 Conversion Layer
 - Remove Fp32ToBf16 Conversion Layer
 - Remove B16 Conversion tests
 * Throw exception if m_ReduceFp32ToBf16 optimzer option is set to true
 * Provide comments to enable fast math in order to use bf16
 * Update docs to inform users to enable fast math for bf16

 Execute Network Changes
 * Require bf16_turbo_mode to also have fast_math_enabled set to true
 - Remove setting m_ReduceFp32ToBf16 optimizer option

Signed-off-by: Ryan OShea <ryan.oshea3@arm.com>
Change-Id: Ibaa6da9d29c96a1ce32ff5196b0847fde9f04a1c
diff --git a/src/backends/reference/test/RefLayerSupportTests.cpp b/src/backends/reference/test/RefLayerSupportTests.cpp
index 9a27c7c..e671496 100644
--- a/src/backends/reference/test/RefLayerSupportTests.cpp
+++ b/src/backends/reference/test/RefLayerSupportTests.cpp
@@ -49,12 +49,6 @@
     CHECK(supportChecker.IsAdditionSupported(in0, in1, out, reasonNotSupported));
 }
 
-TEST_CASE("IsLayerSupportedBFloat16Reference")
-{
-    armnn::RefWorkloadFactory factory;
-    IsLayerSupportedTests<armnn::RefWorkloadFactory, armnn::DataType::BFloat16>(&factory);
-}
-
 TEST_CASE("IsLayerSupportedFloat16Reference")
 {
     armnn::RefWorkloadFactory factory;
@@ -117,70 +111,6 @@
     CHECK_EQ(reasonIfUnsupported, "Layer is not supported with float16 data type output");
 }
 
-TEST_CASE("IsConvertBf16ToFp32SupportedReference")
-{
-    std::string reasonIfUnsupported;
-
-    bool result = IsConvertLayerSupportedTests<armnn::RefWorkloadFactory, armnn::ConvertBf16ToFp32Layer,
-      armnn::DataType::BFloat16, armnn::DataType::Float32>(reasonIfUnsupported);
-
-    CHECK(result);
-}
-
-TEST_CASE("IsConvertBf16ToFp32SupportedFp32InputReference")
-{
-    std::string reasonIfUnsupported;
-
-    bool result = IsConvertLayerSupportedTests<armnn::RefWorkloadFactory, armnn::ConvertBf16ToFp32Layer,
-      armnn::DataType::Float32, armnn::DataType::Float32>(reasonIfUnsupported);
-
-    CHECK(!result);
-    CHECK_EQ(reasonIfUnsupported, "Reference for ConvertBf16ToFp32 layer: input type not supported\n");
-}
-
-TEST_CASE("IsConvertBf16ToFp32SupportedBf16OutputReference")
-{
-    std::string reasonIfUnsupported;
-
-    bool result = IsConvertLayerSupportedTests<armnn::RefWorkloadFactory, armnn::ConvertBf16ToFp32Layer,
-      armnn::DataType::BFloat16, armnn::DataType::BFloat16>(reasonIfUnsupported);
-
-    CHECK(!result);
-    CHECK_EQ(reasonIfUnsupported, "Reference for ConvertBf16ToFp32 layer: output type not supported\n");
-}
-
-TEST_CASE("IsConvertFp32ToBf16SupportedReference")
-{
-    std::string reasonIfUnsupported;
-
-    bool result = IsConvertLayerSupportedTests<armnn::RefWorkloadFactory, armnn::ConvertFp32ToBf16Layer,
-      armnn::DataType::Float32, armnn::DataType::BFloat16>(reasonIfUnsupported);
-
-    CHECK(result);
-}
-
-TEST_CASE("IsConvertFp32ToBf16SupportedBf16InputReference")
-{
-    std::string reasonIfUnsupported;
-
-    bool result = IsConvertLayerSupportedTests<armnn::RefWorkloadFactory, armnn::ConvertFp32ToBf16Layer,
-      armnn::DataType::BFloat16, armnn::DataType::BFloat16>(reasonIfUnsupported);
-
-    CHECK(!result);
-    CHECK_EQ(reasonIfUnsupported, "Reference for ConvertFp32ToBf16 layer: input type not supported\n");
-}
-
-TEST_CASE("IsConvertFp32ToBf16SupportedFp32OutputReference")
-{
-    std::string reasonIfUnsupported;
-
-    bool result = IsConvertLayerSupportedTests<armnn::RefWorkloadFactory, armnn::ConvertFp32ToBf16Layer,
-      armnn::DataType::Float32, armnn::DataType::Float32>(reasonIfUnsupported);
-
-    CHECK(!result);
-    CHECK_EQ(reasonIfUnsupported, "Reference for ConvertFp32ToBf16 layer: output type not supported\n");
-}
-
 TEST_CASE("IsConvertFp32ToFp16SupportedReference")
 {
     std::string reasonIfUnsupported;
@@ -271,7 +201,9 @@
 
     result = IsConstantLayerSupportedTests<armnn::RefWorkloadFactory,
             armnn::DataType::BFloat16>(reasonIfUnsupported);
-    CHECK(result);
+    CHECK(!result);
+    CHECK(reasonIfUnsupported.find("Reference constant: output is not a supported type.") != std::string::npos);
+
 }
 
 }