Avoid compiler warning
Add/remove kernel functions using "half" types

OpenCL provides only a few kernel functions that take "half" types. Remove all kernel functions that we currently provide, but that are not in the standard.

LLVM crashes when half3 is used as a type. Disable shuffle with those arguments.

With these changes, I can finally run "llc kernel*.bc" without crashing LLVM.