Fixes for SPIR target

A couple of minor updates to the SPIR backend in this PR:

1. Added the missing implementations for the `inf_f32`, `neg_inf_f32` and `nan_f32` functions.

2. Although both Intel and AMD's SPIR implementations don't seem to mind, the OpenCL extension spec actually requires that `-x spir` is passed to `clBuildProgram` to indicate that the binary is in SPIR format.