GBE: disable MulAdd pattern in instruction selection temporarily.
GBE: disable MulAdd pattern in instruction selection temporarily.

The story starts from 'FP_CONTRACT'. In c99 spec, it describes constract
expression as:
"A floating expression may be contracted, that is, evaluated as though it
were an atomic operation, thereby omitting rounding errors implied by the
source code and the expression evaluation method."

But user can use 'pragma FP_CONTRACT OFF' to disable float contraction,
in which condition, we should not do contraction like mad optimization.
In SPIR 1.2, named metadata 'opencl.enable.FP_CONTRACT' will be used to do this.
When Clang is ready, we need refine the backend logic.

Signed-off-by: Ruiling Song <286a174c1339c6eff91abc41c3a1012c95030c95@intel.com>
Reviewed-by: Homer Hsing <f17cb7083eb6a94c3fb9d8f09ceefa518f721ab2@intel.com>

ignatenkobrain/beignet,wdv4758h/beignet,zhenyw/beignet,zhenyw/beignet,zhenyw/beignet,ignatenkobrain/beignet,zhenyw/beignet,freedesktop-unofficial-mirror/beignet,wdv4758h/beignet,ignatenkobrain/beignet,zhenyw/beignet,freedesktop-unofficial-mirror/beignet,freedesktop-unofficial-mirror/beignet,ignatenkobrain/beignet,freedesktop-unofficial-mirror/beignet,ignatenkobrain/beignet,wdv4758h/beignet,wdv4758h/beignet,wdv4758h/beignet