https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103622
--- Comment #10 from Kewen Lin <linkw at gcc dot gnu.org> --- > test.c: In function ‘get_float128_exponent’: > test.c:4:5: note: overloaded builtin ‘__builtin_vec_scalar_extract_exp’ is > implemented by builtin ‘__builtin_vsx_scalar_extract_expq’ > 4 | return __builtin_vec_scalar_extract_exp (a); > | ^~~~~~ > test.c:4:12: error: ‘__builtin_vsx_scalar_extract_expq’ requires ISA 3.0 IEEE > > 128-bit floating point > 4 | return __builtin_vec_scalar_extract_exp (a); > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Just a record to avoid confusion, the above message was the previously emitted message before r12-5752 for powerpc-e300c3 cross since it doesn't support ieee float128. The message is also the same as what I saw on P8 BE with -mabi=ieeelongdouble, but we will get the message what Bill put if specifying with -mabi=ibmlongdouble there (that is "invalid parameter combination"). I just noticed that our built-in documents actually note the type should be "__ieee128", it makes more sense to emit "invalid parameter combination" instead, so Bill's proposed fix is the best.