Add Float8 (phony) and Float16 (real) types.

Certain vector floating point operations deal with double-width floats.

For actual type Float32 we need to specify width of Float16 and for
Float16 we would need Float8.

For Float16 we may use one of three base types supported: __fp16,
_Float16, or __bf16.

If we would decide to support half-precision floats _Float16 is better
than __fp16.

Type Float8 can be specified as a template argument but couldn't be
actually instantiated and used.

Test:  m berberis_all

Change-Id: Ia8869613980eb324d7dd496935e7f0f8248add2b
3 files changed