https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109504
--- Comment #6 from Hongtao.liu <crazylht at gmail dot com> --- (In reply to Jakub Jelinek from comment #4) > Yeah. Enable all the time and have say the > targetm.invalid_conversion, targetm.invalid_unary_op, > targetm.invalid_binary_op > and something in argument/return value passing reject _Float16/__bf16 in > functions without SSE2. > That will not be enough though, we'll need to arrange e.g. for the spot > where we #undef/#define target macros based on currently active ISA in > pragmas to also > do that for __STDCPP_FLOAT16_T__ and __STDCPP_BFLOAT16_T__ for C++, and > change libstdc++ > such that for x86 it adds similarly to x86 intrin headers something like Can we just cpp_undef _STDCPP_FLOAT16_T__ and __STDCPP_BFLOAT16_T__ for C++ in ix86_target_macros when !TARGET_SSE2 so that no need to change libstdc++ part.