A couple of fixes on top of https://reviews.llvm.org/D41792:
- Fixes for freceprical, and fsqrt instructions in the backend.
- The intrinsics that generate builtin calls with i16 data types fails in instruction selection. In a preparation for future fixes in the backend for these, the code generated by the frontend is modified. For example, a builtin that returns i16 is implemented by returning i32 that is truncated to i16. This is done similar to other non-fp16 intrinsics that produces i16 data types.
- Fix frontend code generated for abs.