IVGCVSW-4520 Implement BFloat16 Optimizer

 * Add ReduceFp32ToBf16 to OptimizerOptions
 * Add ConvertFp32NetworkToBf16
 * Add utility functions to insert conversion layers
 * Add constant conversion BF16 <-> FP32
 * Unit tests

Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: Iaff77e20c721400b052cb37eb9ef6fe16d7abaff
diff --git a/Android.mk b/Android.mk
index 0c2a420..87b1f9a 100644
--- a/Android.mk
+++ b/Android.mk
@@ -347,8 +347,10 @@
         src/armnn/test/ModelAccuracyCheckerTest.cpp \
         src/armnn/test/NetworkTests.cpp \
         src/armnn/test/ObservableTest.cpp \
+        src/armnn/test/optimizations/ConvertConstantsBFloatTests.cpp \
         src/armnn/test/optimizations/ConvertConstantsFloatToHalfTests.cpp \
         src/armnn/test/optimizations/ConvertConstantsHalfToFloatTests.cpp \
+        src/armnn/test/optimizations/Fp32NetworkToBf16ConverterTests.cpp \
         src/armnn/test/optimizations/Fp32NetworkToFp16ConverterTests.cpp \
         src/armnn/test/optimizations/InsertDebugLayerTests.cpp \
         src/armnn/test/optimizations/MovePermuteUpTests.cpp \