================ @@ -21,3 +24,18 @@ float test_int_scalar_inputs(int p0, int p1, int p2) { return __builtin_spirv_refract(p0, p1, p2); // expected-error@-1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'int')}} } + +float test_float_and_half_inputs(float2 p0, half2 p1, float p2) { + return __builtin_spirv_refract(p0, p1, p2); + // expected-error@-1 {{2nd argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'half2' (vector of 2 'half' values))}} +} + +float test_float_and_half_2_inputs(float2 p0, float2 p1, half p2) { + return __builtin_spirv_refract(p0, p1, p2); + // expected-error@-1 {{3rd argument must be a scalar 16 or 32 bit floating-point type (was 'half' (aka '_Float16'))}} ---------------- spall wrote:
This error message doesn't look correct either. I'd expect a message like ``` all arguments to __builtin_spirv_refract must be of scalar or fector type with matching scalar element type: float vs half ``` https://github.com/llvm/llvm-project/pull/147342 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits