diff --git a/.bazelrc b/.bazelrc
index 267e648..8611db3 100644
--- a/.bazelrc
+++ b/.bazelrc
@@ -36,3 +36,4 @@
 build --flag_alias=logging=//:logging
 build --flag_alias=openmp=//:openmp
 build --flag_alias=cppthreads=//:cppthreads
+build --flag_alias=enable_bf16_validation=//:enable_bf16_validation
diff --git a/BUILD.bazel b/BUILD.bazel
index d33cf6b..e3ad75a 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -66,6 +66,12 @@
     visibility = ["//visibility:public"],
 )
 
+bool_flag(
+    name = "enable_bf16_validation",
+    build_setting_default = False,
+    visibility = ["//visibility:public"],
+)
+
 #---------------------------------------------------------------------
 # Flag variables
 config_setting(
@@ -103,6 +109,14 @@
     },
 )
 
+config_setting(
+    name = "bf16_validation_flag",
+    flag_values = {
+        ":enable_bf16_validation": "true",
+    },
+)
+
+
 #---------------------------------------------------------------------
 # Common defines used for all targets
 cc_library(
@@ -112,7 +126,6 @@
                   "ARM_COMPUTE_CPU_ENABLED",
                   "ARM_COMPUTE_ENABLE_NEON",
                   "ARM_COMPUTE_ENABLE_FP16",
-                  "ARM_COMPUTE_ENABLE_BF16",
                   "ARM_COMPUTE_ENABLE_I8MM",
                   "ENABLE_FP16_KERNELS",
                   "ENABLE_FP32_KERNELS",
@@ -125,6 +138,9 @@
                   "DARM_COMPUTE_GRAPH_ENABLED",
                   "ARM_COMPUTE_ENABLE_SVEF32MM",
                   "ARM_COMPUTE_ENABLE_FIXED_FORMAT_KERNELS",
+                  "ENABLE_SVE",
+                  "ARM_COMPUTE_ENABLE_SVE",
+                  "_GLIBCXX_USE_NANOSLEEP"
               ] + select({
                   "//:debug_flag": [
                       "ARM_COMPUTE_DEBUG_ENABLED",
@@ -227,9 +243,8 @@
         "//conditions:default": [],
     }),
     local_defines = [
-        "ENABLE_SVE",
-        "ARM_COMPUTE_ENABLE_SVE",
         "ARM_COMPUTE_ENABLE_SVE2",
+        "ARM_COMPUTE_ENABLE_BF16"
     ],
     deps = [
         "//:common_defines",
@@ -277,8 +292,7 @@
         "//conditions:default": [],
     }),
     local_defines = [
-        "ENABLE_SVE",
-        "ARM_COMPUTE_ENABLE_SVE",
+        "ARM_COMPUTE_ENABLE_BF16",
     ],
     deps = [
         "//:common_defines",
@@ -333,6 +347,9 @@
         "//:openmp_flag": ["-fopenmp"],
         "//conditions:default": [],
     }),
+    local_defines = [
+        "ARM_COMPUTE_ENABLE_BF16",
+    ],
     visibility = ["//visibility:public"],
     deps = [
         "//:common_defines",
@@ -342,6 +359,8 @@
         "//include",
         "//support",
         "//utils",
+        "//:arm_compute_sve",
+        "//:arm_compute_sve2"
     ],
     alwayslink = True,
 )
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4ac0c72..72992ed 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -101,7 +101,12 @@
     -Wsign-promo
     -Weffc++
     -Wno-overlength-strings
-    -Wno-ignored-attributes)
+    -Wno-ignored-attributes
+    -Wlogical-op
+    -Wnoexcept
+    -Wstrict-null-sentinel
+    -Wno-misleading-indentation
+    -O3)
 
 # Disable note popups on compiler ABI changes
 if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
@@ -143,9 +148,7 @@
 add_library(arm_compute_sve "")
 target_compile_options(arm_compute_sve
                        PRIVATE "-march=armv8.2-a+sve+fp16+dotprod")
-target_compile_definitions(arm_compute_sve PRIVATE ENABLE_SVE)
-target_compile_definitions(arm_compute_sve PRIVATE ARM_COMPUTE_ENABLE_SVE)
-
+target_compile_definitions(arm_compute_sve PRIVATE ARM_COMPUTE_ENABLE_BF16)
 target_include_directories(
   arm_compute_sve
   PUBLIC $<INSTALL_INTERFACE:include>
@@ -165,10 +168,8 @@
 add_library(arm_compute_sve2 "")
 target_compile_options(arm_compute_sve2
                        PRIVATE "-march=armv8.6-a+sve2+fp16+dotprod")
-target_compile_definitions(arm_compute_sve2 PRIVATE ENABLE_SVE)
-target_compile_definitions(arm_compute_sve2 PRIVATE ARM_COMPUTE_ENABLE_SVE)
 target_compile_definitions(arm_compute_sve2 PRIVATE ARM_COMPUTE_ENABLE_SVE2)
-
+target_compile_definitions(arm_compute_sve2 PRIVATE ARM_COMPUTE_ENABLE_BF16)
 target_include_directories(
   arm_compute_sve2
   PUBLIC $<INSTALL_INTERFACE:include>
@@ -187,6 +188,7 @@
 
 add_library(arm_compute_core "")
 target_compile_options(arm_compute_core PRIVATE "-march=armv8.2-a+fp16")
+target_compile_definitions(arm_compute_core PRIVATE ARM_COMPUTE_ENABLE_BF16)
 target_include_directories(
   arm_compute_core
   PUBLIC $<INSTALL_INTERFACE:include>
@@ -201,6 +203,8 @@
 target_compile_options(arm_compute_core PUBLIC ${COMMON_CXX_FLAGS})
 
 add_library(ArmCompute::Core ALIAS arm_compute_core)
+target_link_libraries(
+  arm_compute_core PUBLIC arm_compute_sve arm_compute_sve2)
 
 # ---------------------------------------------------------------------
 # Graph Library
@@ -255,7 +259,9 @@
 
   add_executable(arm_compute_validation "")
   target_compile_options(arm_compute_validation PRIVATE "-march=armv8.2-a+fp16")
-
+  if(ENABLE_BF16_VALIDATION)
+    target_compile_definitions(arm_compute_validation PRIVATE ARM_COMPUTE_ENABLE_BF16)
+  endif()
   add_subdirectory(tests/validation)
   target_compile_options(arm_compute_validation PUBLIC ${COMMON_CXX_FLAGS})
   set_target_properties(
diff --git a/cmake/Options.cmake b/cmake/Options.cmake
index 20cf0e4..170dad9 100644
--- a/cmake/Options.cmake
+++ b/cmake/Options.cmake
@@ -50,7 +50,6 @@
 # ---------------------------------------------------------------------
 # Backends
 
-# TODO Add help string for each setting (Should user be able to )
 option(ENABLE_NEON "Enable Arm® Neon™ support" ON)
 option(ARM_COMPUTE_CPU_ENABLED "" ON)
 option(ARM_COMPUTE_ENABLE_NEON "" ON)
@@ -65,11 +64,12 @@
 option(ENABLE_NHWC_KERNELS "" ON)
 option(ENABLE_NCHW_KERNELS "" ON)
 option(ARM_COMPUTE_GRAPH_ENABLED "" ON)
-option(ARM_COMPUTE_ENABLE_BF16 "" ON)
 option(ARM_COMPUTE_ENABLE_SVEF32MM "" ON)
 option(ARM_COMPUTE_ENABLE_FIXED_FORMAT_KERNELS "" ON)
+option(ENABLE_SVE "" ON)
+option(ARM_COMPUTE_ENABLE_SVE "" ON)
+option(ENABLE_BF16_VALIDATION "" OFF)
 
-# TODO Check if this is required
 if(ENABLE_NEON)
   add_definitions(-DENABLE_NEON)
 endif()
@@ -121,3 +121,10 @@
 if(ARM_COMPUTE_ENABLE_FIXED_FORMAT_KERNELS)
   add_definitions(-DARM_COMPUTE_ENABLE_FIXED_FORMAT_KERNELS)
 endif()
+if(ENABLE_SVE)
+  add_definitions(-DENABLE_SVE)
+endif()
+if(ARM_COMPUTE_ENABLE_SVE)
+  add_definitions(-DARM_COMPUTE_ENABLE_SVE)
+endif()
+add_definitions(-D_GLIBCXX_USE_NANOSLEEP)
\ No newline at end of file
diff --git a/docs/user_guide/how_to_build_and_run_examples.dox b/docs/user_guide/how_to_build_and_run_examples.dox
index ab87989..8aab445 100644
--- a/docs/user_guide/how_to_build_and_run_examples.dox
+++ b/docs/user_guide/how_to_build_and_run_examples.dox
@@ -510,7 +510,7 @@
 
 	mkdir build
 	cd build
-	cmake .. -DOPENMP=1 -DCPPTHREADS=1 -DWERROR=0 -DDEBUG=0 -DBUILD_EXAMPLES=1 -DBUILD_TESTING=1 -DCMAKE_INSTALL_LIBDIR=.
+	cmake .. -DOPENMP=1 -DWERROR=0 -DDEBUG=0 -DBUILD_EXAMPLES=1 -DBUILD_TESTING=1 -DCMAKE_INSTALL_LIBDIR=.
 	cmake --build . -j32
 
 */
diff --git a/tests/BUILD.bazel b/tests/BUILD.bazel
index 57ea3f6..8122652 100644
--- a/tests/BUILD.bazel
+++ b/tests/BUILD.bazel
@@ -35,8 +35,23 @@
         "validation/**/*.h",
     ]),
     copts = [
-        "-march=armv8.2-a+fp16",
-    ],
+                "-march=armv8.2-a+fp16",
+            ] + select({
+                "//:debug_flag": [
+                    "-O0",
+                    "-g",
+                    "-gdwarf-2",
+                ],
+                "//conditions:default": ["-O3"],
+            }) +
+            select({
+                "//:openmp_flag": ["-fopenmp"],
+                "//conditions:default": [],
+            }) +
+            select({
+                "//:Werror_flag": ["-Werror"],
+                "//conditions:default": [],
+            }),
     linkstatic = True,
     deps = [
         "//:arm_compute",
@@ -60,9 +75,23 @@
         "instruments/*.h",
     ]),
     copts = [
-        "-march=armv8.2-a+fp16",
-        "-ffp-contract=off",
-    ],
+                "-march=armv8.2-a+fp16",
+            ] + select({
+                "//:debug_flag": [
+                    "-O0",
+                    "-g",
+                    "-gdwarf-2",
+                ],
+                "//conditions:default": ["-O3"],
+            }) +
+            select({
+                "//:openmp_flag": ["-fopenmp"],
+                "//conditions:default": [],
+            }) +
+            select({
+                "//:Werror_flag": ["-Werror"],
+                "//conditions:default": [],
+            }),
     linkstatic = True,
     deps = [
         ":validation_framework",
@@ -71,6 +100,13 @@
         "//:common_defines",
         "//tests/framework",
     ],
+    local_defines = [] + 
+        select({
+                "//:bf16_validation_flag": [
+                "ARM_COMPUTE_ENABLE_BF16",
+                ],
+                "//conditions:default": [],
+              })
 )
 
 #---------------------------------------------------------------------
@@ -82,7 +118,24 @@
         "benchmark/NEON/*.cpp",
         "*.cpp",
     ]),
-    copts = ["-march=armv8.2-a+fp16"],
+    copts = [
+                "-march=armv8.2-a+fp16",
+            ] + select({
+                "//:debug_flag": [
+                    "-O0",
+                    "-g",
+                    "-gdwarf-2",
+                ],
+                "//conditions:default": ["-O3"],
+            }) +
+            select({
+                "//:openmp_flag": ["-fopenmp"],
+                "//conditions:default": [],
+            }) +
+            select({
+                "//:Werror_flag": ["-Werror"],
+                "//conditions:default": [],
+            }),
     linkstatic = True,
     deps = [
         ":arm_compute_validation",
diff --git a/tests/validation/NEON/ConvolutionLayer.cpp b/tests/validation/NEON/ConvolutionLayer.cpp
index 08b6a02..ea161a1 100644
--- a/tests/validation/NEON/ConvolutionLayer.cpp
+++ b/tests/validation/NEON/ConvolutionLayer.cpp
@@ -530,6 +530,7 @@
 TEST_SUITE_END() // WinogradLayer
 
 #ifdef ARM_COMPUTE_ENABLE_FIXED_FORMAT_KERNELS
+TEST_SUITE(FIXED_FORMAT_KERNELS)
 TEST_SUITE(VariableWeightUtils)
 
 // UC2_1_* tests: the user requests a specific fixed format, but there is no kernel that supports it.
@@ -588,6 +589,8 @@
     ARM_COMPUTE_EXPECT(_computed_weight_format == arm_compute::WeightFormat::OHWIo4, framework::LogLevel::ERRORS);
 }
 
+#if defined(ARM_COMPUTE_ENABLE_BF16)
+
 FIXTURE_DATA_TEST_CASE(UC2_2_CpuGemmConv2d_FastMath, HasOptImplFixtureFastMath<cpu::CpuGemmConv2d>, framework::DatasetMode::ALL,
                        combine(framework::dataset::make("DataType", { DataType::F32 }),
                                framework::dataset::make("QueryWeightFormat", { arm_compute::WeightFormat::OHWIo8i4_bf16 })))
@@ -604,6 +607,8 @@
     ARM_COMPUTE_EXPECT(_computed_weight_format == arm_compute::WeightFormat::OHWIo8i4_bf16, framework::LogLevel::ERRORS);
 }
 
+#endif // ARM_COMPUTE_ENABLE_BF16
+
 // UC3_1_* tests: the user queries for ANY fixed format, but there is
 // no kernel that support the use case specified by the user (for
 // example, there is no fixed format kernel for the datatype of the
@@ -664,6 +669,8 @@
     ARM_COMPUTE_EXPECT(_computed_weight_format != arm_compute::WeightFormat::UNSPECIFIED, framework::LogLevel::ERRORS);
 }
 
+#if defined(ARM_COMPUTE_ENABLE_BF16)
+
 FIXTURE_DATA_TEST_CASE(UC3_2_CpuGemmConv2d_FastMath, HasOptImplFixtureFastMath<cpu::CpuGemmConv2d>, framework::DatasetMode::ALL,
                        combine(framework::dataset::make("DataType", { DataType::F32 }),
                                framework::dataset::make("QueryWeightFormat", { arm_compute::WeightFormat::ANY })))
@@ -684,6 +691,8 @@
     ARM_COMPUTE_EXPECT(arm_compute::is_fixed_format_fast_math(_computed_weight_format), framework::LogLevel::ERRORS);
 }
 
+#endif // ARM_COMPUTE_ENABLE_BF16
+
 namespace
 {
 using TestCaseType          = std::tuple<TensorShape, TensorShape, arm_compute::WeightFormat>;
@@ -839,6 +848,7 @@
 #endif // ARM_COMPUTE_ENABLE_BF16
 
 TEST_SUITE_END() // ExperimentalNEAPIVariableWeightWithFixtures
+TEST_SUITE_END() // FIXED_FORMAT_KERNELS
 
 #endif // ARM_COMPUTE_ENABLE_FIXED_FORMAT_KERNELS
 
