At the moment, the various math builtins only accept the scalar types
defined by libm.
This patch extends __builtin_fminf to also accept ext_vector_type
arguments that can be converted to an ext_vector_type with float as
element type.
If this direction makes sense, I am planning to also convert a few other
builtins that can be extended to vectors directly, like fmax.
In addition to vector types, it would be also good to support matrix
types as follow up I think.
I tried to make sure the same error messages are emitted for the scalar
variant of __builtin_fminf, but there's a difference for the (vector,
float) variant. I still need to dig into where this is coming from.
Doing this as ExprResult(true) is absurdly jarring.