arm_compute v17.12
diff --git a/documentation/search/files_3.js b/documentation/search/files_3.js
index e220a1b..7d0d7fe 100644
--- a/documentation/search/files_3.js
+++ b/documentation/search/files_3.js
@@ -7,6 +7,7 @@
   ['channel_5fextract_2ecl',['channel_extract.cl',['../channel__extract_8cl.xhtml',1,'']]],
   ['cl_5fconvolution_2ecpp',['cl_convolution.cpp',['../cl__convolution_8cpp.xhtml',1,'']]],
   ['cl_5fevents_2ecpp',['cl_events.cpp',['../cl__events_8cpp.xhtml',1,'']]],
+  ['cl_5fsgemm_2ecpp',['cl_sgemm.cpp',['../cl__sgemm_8cpp.xhtml',1,'']]],
   ['clabsolutedifference_2eh',['CLAbsoluteDifference.h',['../_c_l_absolute_difference_8h.xhtml',1,'']]],
   ['clabsolutedifferencekernel_2eh',['CLAbsoluteDifferenceKernel.h',['../_c_l_absolute_difference_kernel_8h.xhtml',1,'']]],
   ['claccessor_2eh',['CLAccessor.h',['../_c_l_accessor_8h.xhtml',1,'']]],
@@ -45,12 +46,12 @@
   ['clconvolution_2eh',['CLConvolution.h',['../_c_l_convolution_8h.xhtml',1,'']]],
   ['clconvolutionkernel_2eh',['CLConvolutionKernel.h',['../_c_l_convolution_kernel_8h.xhtml',1,'']]],
   ['clconvolutionlayer_2eh',['CLConvolutionLayer.h',['../_c_l_convolution_layer_8h.xhtml',1,'']]],
-  ['cldepthconcatenate_2eh',['CLDepthConcatenate.h',['../_c_l_depth_concatenate_8h.xhtml',1,'']]],
-  ['cldepthconcatenatekernel_2eh',['CLDepthConcatenateKernel.h',['../_c_l_depth_concatenate_kernel_8h.xhtml',1,'']]],
-  ['cldepthconvert_2eh',['CLDepthConvert.h',['../_c_l_depth_convert_8h.xhtml',1,'']]],
-  ['cldepthconvertkernel_2eh',['CLDepthConvertKernel.h',['../_c_l_depth_convert_kernel_8h.xhtml',1,'']]],
-  ['cldepthwiseconvolution_2eh',['CLDepthwiseConvolution.h',['../_c_l_depthwise_convolution_8h.xhtml',1,'']]],
-  ['cldepthwiseconvolution3x3kernel_2eh',['CLDepthwiseConvolution3x3Kernel.h',['../_c_l_depthwise_convolution3x3_kernel_8h.xhtml',1,'']]],
+  ['cldepthconcatenatelayer_2eh',['CLDepthConcatenateLayer.h',['../_c_l_depth_concatenate_layer_8h.xhtml',1,'']]],
+  ['cldepthconcatenatelayerkernel_2eh',['CLDepthConcatenateLayerKernel.h',['../_c_l_depth_concatenate_layer_kernel_8h.xhtml',1,'']]],
+  ['cldepthconvertlayer_2eh',['CLDepthConvertLayer.h',['../_c_l_depth_convert_layer_8h.xhtml',1,'']]],
+  ['cldepthconvertlayerkernel_2eh',['CLDepthConvertLayerKernel.h',['../_c_l_depth_convert_layer_kernel_8h.xhtml',1,'']]],
+  ['cldepthwiseconvolutionlayer_2eh',['CLDepthwiseConvolutionLayer.h',['../_c_l_depthwise_convolution_layer_8h.xhtml',1,'']]],
+  ['cldepthwiseconvolutionlayer3x3kernel_2eh',['CLDepthwiseConvolutionLayer3x3Kernel.h',['../_c_l_depthwise_convolution_layer3x3_kernel_8h.xhtml',1,'']]],
   ['cldepthwiseim2colkernel_2eh',['CLDepthwiseIm2ColKernel.h',['../_c_l_depthwise_im2_col_kernel_8h.xhtml',1,'']]],
   ['cldepthwiseseparableconvolutionlayer_2eh',['CLDepthwiseSeparableConvolutionLayer.h',['../_c_l_depthwise_separable_convolution_layer_8h.xhtml',1,'']]],
   ['cldepthwisevectortotensorkernel_2eh',['CLDepthwiseVectorToTensorKernel.h',['../_c_l_depthwise_vector_to_tensor_kernel_8h.xhtml',1,'']]],
@@ -85,8 +86,13 @@
   ['clgemm_2eh',['CLGEMM.h',['../_c_l_g_e_m_m_8h.xhtml',1,'']]],
   ['clgemminterleave4x4_2eh',['CLGEMMInterleave4x4.h',['../_c_l_g_e_m_m_interleave4x4_8h.xhtml',1,'']]],
   ['clgemminterleave4x4kernel_2eh',['CLGEMMInterleave4x4Kernel.h',['../_c_l_g_e_m_m_interleave4x4_kernel_8h.xhtml',1,'']]],
-  ['clgemmlowp_2eh',['CLGEMMLowp.h',['../_c_l_g_e_m_m_lowp_8h.xhtml',1,'']]],
+  ['clgemmlowpmatrixmultiplycore_2eh',['CLGEMMLowpMatrixMultiplyCore.h',['../_c_l_g_e_m_m_lowp_matrix_multiply_core_8h.xhtml',1,'']]],
   ['clgemmlowpmatrixmultiplykernel_2eh',['CLGEMMLowpMatrixMultiplyKernel.h',['../_c_l_g_e_m_m_lowp_matrix_multiply_kernel_8h.xhtml',1,'']]],
+  ['clgemmlowpoffsetcontributionkernel_2eh',['CLGEMMLowpOffsetContributionKernel.h',['../_c_l_g_e_m_m_lowp_offset_contribution_kernel_8h.xhtml',1,'']]],
+  ['clgemmlowpoutputstage_2eh',['CLGEMMLowpOutputStage.h',['../_c_l_g_e_m_m_lowp_output_stage_8h.xhtml',1,'']]],
+  ['clgemmlowpquantizedownint32touint8scalebyfixedpointkernel_2eh',['CLGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel.h',['../_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_by_fixed_point_kernel_8h.xhtml',1,'']]],
+  ['clgemmlowpquantizedownint32touint8scalekernel_2eh',['CLGEMMLowpQuantizeDownInt32ToUint8ScaleKernel.h',['../_c_l_g_e_m_m_lowp_quantize_down_int32_to_uint8_scale_kernel_8h.xhtml',1,'']]],
+  ['clgemmlowpreductionkernel_2eh',['CLGEMMLowpReductionKernel.h',['../_c_l_g_e_m_m_lowp_reduction_kernel_8h.xhtml',1,'']]],
   ['clgemmmatrixaccumulatebiaseskernel_2eh',['CLGEMMMatrixAccumulateBiasesKernel.h',['../_c_l_g_e_m_m_matrix_accumulate_biases_kernel_8h.xhtml',1,'']]],
   ['clgemmmatrixadditionkernel_2eh',['CLGEMMMatrixAdditionKernel.h',['../_c_l_g_e_m_m_matrix_addition_kernel_8h.xhtml',1,'']]],
   ['clgemmmatrixmultiplykernel_2eh',['CLGEMMMatrixMultiplyKernel.h',['../_c_l_g_e_m_m_matrix_multiply_kernel_8h.xhtml',1,'']]],
@@ -110,8 +116,8 @@
   ['clintegralimagekernel_2eh',['CLIntegralImageKernel.h',['../_c_l_integral_image_kernel_8h.xhtml',1,'']]],
   ['clkernellibrary_2eh',['CLKernelLibrary.h',['../_c_l_kernel_library_8h.xhtml',1,'']]],
   ['clkernels_2eh',['CLKernels.h',['../_c_l_kernels_8h.xhtml',1,'']]],
-  ['cll2normalize_2eh',['CLL2Normalize.h',['../_c_l_l2_normalize_8h.xhtml',1,'']]],
-  ['cll2normalizekernel_2eh',['CLL2NormalizeKernel.h',['../_c_l_l2_normalize_kernel_8h.xhtml',1,'']]],
+  ['cll2normalizelayer_2eh',['CLL2NormalizeLayer.h',['../_c_l_l2_normalize_layer_8h.xhtml',1,'']]],
+  ['cll2normalizelayerkernel_2eh',['CLL2NormalizeLayerKernel.h',['../_c_l_l2_normalize_layer_kernel_8h.xhtml',1,'']]],
   ['cllaplacianpyramid_2eh',['CLLaplacianPyramid.h',['../_c_l_laplacian_pyramid_8h.xhtml',1,'']]],
   ['cllaplacianreconstruct_2eh',['CLLaplacianReconstruct.h',['../_c_l_laplacian_reconstruct_8h.xhtml',1,'']]],
   ['cllktrackerkernel_2eh',['CLLKTrackerKernel.h',['../_c_l_l_k_tracker_kernel_8h.xhtml',1,'']]],
@@ -186,6 +192,7 @@
   ['clwarpperspective_2eh',['CLWarpPerspective.h',['../_c_l_warp_perspective_8h.xhtml',1,'']]],
   ['clwarpperspectivekernel_2eh',['CLWarpPerspectiveKernel.h',['../_c_l_warp_perspective_kernel_8h.xhtml',1,'']]],
   ['clweightsreshapekernel_2eh',['CLWeightsReshapeKernel.h',['../_c_l_weights_reshape_kernel_8h.xhtml',1,'']]],
+  ['col2im_2ecpp',['Col2Im.cpp',['../_col2_im_8cpp.xhtml',1,'']]],
   ['color_5fconvert_2ecl',['color_convert.cl',['../color__convert_8cl.xhtml',1,'']]],
   ['commandlineoptions_2eh',['CommandLineOptions.h',['../_command_line_options_8h.xhtml',1,'']]],
   ['commandlineparser_2ecpp',['CommandLineParser.cpp',['../_command_line_parser_8cpp.xhtml',1,'']]],
@@ -199,20 +206,23 @@
   ['convolution9x9_2ecl',['convolution9x9.cl',['../convolution9x9_8cl.xhtml',1,'']]],
   ['convolution_5flayer_2ecl',['convolution_layer.cl',['../convolution__layer_8cl.xhtml',1,'']]],
   ['convolution_5frectangle_2ecl',['convolution_rectangle.cl',['../convolution__rectangle_8cl.xhtml',1,'']]],
-  ['convolutionlayer_2ecpp',['ConvolutionLayer.cpp',['../benchmark_2_n_e_o_n_2_convolution_layer_8cpp.xhtml',1,'']]],
-  ['convolutionlayer_2ecpp',['ConvolutionLayer.cpp',['../validation_2_c_p_p_2_convolution_layer_8cpp.xhtml',1,'']]],
-  ['convolutionlayer_2ecpp',['ConvolutionLayer.cpp',['../validation_2_n_e_o_n_2_convolution_layer_8cpp.xhtml',1,'']]],
   ['convolutionlayer_2ecpp',['ConvolutionLayer.cpp',['../benchmark_2_c_l_2_convolution_layer_8cpp.xhtml',1,'']]],
+  ['convolutionlayer_2ecpp',['ConvolutionLayer.cpp',['../validation_2_n_e_o_n_2_convolution_layer_8cpp.xhtml',1,'']]],
+  ['convolutionlayer_2ecpp',['ConvolutionLayer.cpp',['../validation_2reference_2_convolution_layer_8cpp.xhtml',1,'']]],
+  ['convolutionlayer_2ecpp',['ConvolutionLayer.cpp',['../benchmark_2_n_e_o_n_2_convolution_layer_8cpp.xhtml',1,'']]],
   ['convolutionlayer_2ecpp',['ConvolutionLayer.cpp',['../validation_2_c_l_2_convolution_layer_8cpp.xhtml',1,'']]],
+  ['convolutionlayer_2eh',['ConvolutionLayer.h',['../tests_2validation_2reference_2_convolution_layer_8h.xhtml',1,'']]],
   ['convolutionlayer_2eh',['ConvolutionLayer.h',['../arm__compute_2graph_2nodes_2_convolution_layer_8h.xhtml',1,'']]],
-  ['convolutionlayer_2eh',['ConvolutionLayer.h',['../tests_2validation_2_c_p_p_2_convolution_layer_8h.xhtml',1,'']]],
   ['convolutionlayerdataset_2eh',['ConvolutionLayerDataset.h',['../_convolution_layer_dataset_8h.xhtml',1,'']]],
   ['convolutionlayerfixture_2eh',['ConvolutionLayerFixture.h',['../validation_2fixtures_2_convolution_layer_fixture_8h.xhtml',1,'']]],
   ['convolutionlayerfixture_2eh',['ConvolutionLayerFixture.h',['../benchmark_2fixtures_2_convolution_layer_fixture_8h.xhtml',1,'']]],
   ['coordinates_2eh',['Coordinates.h',['../_coordinates_8h.xhtml',1,'']]],
   ['cppcornercandidateskernel_2eh',['CPPCornerCandidatesKernel.h',['../_c_p_p_corner_candidates_kernel_8h.xhtml',1,'']]],
   ['cppdetectionwindownonmaximasuppressionkernel_2eh',['CPPDetectionWindowNonMaximaSuppressionKernel.h',['../_c_p_p_detection_window_non_maxima_suppression_kernel_8h.xhtml',1,'']]],
+  ['cppfunctions_2eh',['CPPFunctions.h',['../_c_p_p_functions_8h.xhtml',1,'']]],
   ['cppkernels_2eh',['CPPKernels.h',['../_c_p_p_kernels_8h.xhtml',1,'']]],
+  ['cpppermute_2eh',['CPPPermute.h',['../_c_p_p_permute_8h.xhtml',1,'']]],
+  ['cpppermutekernel_2eh',['CPPPermuteKernel.h',['../_c_p_p_permute_kernel_8h.xhtml',1,'']]],
   ['cppscheduler_2eh',['CPPScheduler.h',['../_c_p_p_scheduler_8h.xhtml',1,'']]],
   ['cppsorteuclideandistancekernel_2eh',['CPPSortEuclideanDistanceKernel.h',['../_c_p_p_sort_euclidean_distance_kernel_8h.xhtml',1,'']]],
   ['cpptypes_2eh',['CPPTypes.h',['../_c_p_p_types_8h.xhtml',1,'']]]