https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108902
--- Comment #5 from g.peterh...@t-online.de --- add test case (https://godbolt.org/z/q65cWKhWx) void inc_builtin(array_t& arr) noexcept { auto load_cvt = [](const std::float16_t*const ptr) noexcept { return __builtin_convertvector(*((const __m128h*const)ptr), __m256); }; auto save_cvt = [](std::float16_t* ptr, const __m256 arg) noexcept { *((__m128h*)ptr) = __builtin_convertvector(arg, __m128h); }; for (std::size_t i=0; i<arr.size(); i+=8) { __m256 tmp = load_cvt(&arr[i]); ++tmp; save_cvt(&arr[i], tmp); } }