PR #9688: [XLA:CPU] Add F16 support for oneDNN matmul
PR #9688: [XLA:CPU] Add F16 support for oneDNN matmul

Imported from GitHub PR https://github.com/openxla/xla/pull/9688

This PR enables F16 support for dot operation when onednn is enabled and adds tests. In the existing pipeline, F16 dot is converted to FP32 through the change-op-data-type pass. With the changes in this PR, if onednn is enabled and the conditions for rewriting dot to onednn matmul are met then F16 dot is not upcast to FP32. 
Copybara import of the project:

--
190e446d920fb82732054383c81545c528d6d9d9 by Kanvi Khanna <kanvi.khanna@intel.com>:

Add F16 support for matmul

--
f99f2bb30febc5c818c28c379232151085deebd6 by Kanvi Khanna <kanvi.khanna@intel.com>:

fix formatting

--
aef8cb1685539a5e1c4765262b8ed5f537613d58 by Kanvi Khanna <kanvi.khanna@intel.com>:

fix for failing test

--
72dd379ce16eab6838ef568b20ab15e0e0ea0449 by Kanvi Khanna <kanvi.khanna@intel.com>:

Add check in ChangeOpDataType pass for F16 support as a separate pass for F16 support is not needed; undo changes for BMM;

Merging this change closes #9688

FUTURE_COPYBARA_INTEGRATE_REVIEW=https://github.com/openxla/xla/pull/9688 from Intel-tensorflow:kanvi/f16_matmul 72dd379ce16eab6838ef568b20ab15e0e0ea0449
