https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64011
--- Comment #2 from Jiong Wang <jiwang at gcc dot gnu.org> --- the problem is we do overflow checking at the start of store_bit_field_1, but that only check the situation where the field lies completely outside the register, while there do have situation where the field lies partialy in the register, we need to adjust bitsize for this partial overflow situation in store_bit_field_using_insv. will send out patch after testing ok