[NVPTX] Add infrastructure for vector loads/stores of parameters
[NVPTX] Clean up handling of formal arguments and enable generation of vector parameter loads
[NVPTX] Add support for vectorized function return values
[NVPTX] Remove i8 register class.  PTX support for i8 (.b8, .u8, .s8) is rather poor and we're better off just ignoring it and letting LLVM expand all i8 ops out to i16.
[NVPTX] Clean up comparison/select/convert patterns and factor out PTX instructions from their patterns

Test case is no breakage
[NVPTX] Add support for cttz/ctlz/ctpop
[NVPTX] Calling conventions fix

Fix ABI handling for function
returning bool -- use st.param.b32 to return the value
and use ld.param.b32 in caller to load the return value.
[NVPTX] Add (1.0 / sqrt(x)) => rsqrt(x) generation when allowable by FP flags
[NVPTX] Select -1 instead of 1 when anyextend'ing i1 types

This makes it more consistent with the ZeroOrNegativeOneBooleanContent flag