https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111015
--- Comment #4 from Mikael Pettersson <mikpelinux at gmail dot com> --- Reverting the pass_store_merging::process_store hunk makes this test case work again: diff --git a/gcc/gimple-ssa-store-merging.cc b/gcc/gimple-ssa-store-merging.cc index 0d19b98ed73..c4bf8eec64e 100644 --- a/gcc/gimple-ssa-store-merging.cc +++ b/gcc/gimple-ssa-store-merging.cc @@ -5299,7 +5299,7 @@ pass_store_merging::process_store (gimple *stmt) && bitsize.is_constant (&const_bitsize) && ((const_bitsize % BITS_PER_UNIT) != 0 || !multiple_p (bitpos, BITS_PER_UNIT)) - && const_bitsize <= MAX_FIXED_MODE_SIZE) + && const_bitsize <= 64) { /* Bypass a conversion to the bit-field type. */ if (!bit_not_p