https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104914
--- Comment #6 from YunQiang Su <syq at gcc dot gnu.org> --- In RTL (xx.c.256r.expand), there is (insn 10 9 11 2 (set (zero_extract:DI (reg/v:DI 200 [ val ]) (const_int 8 [0x8]) (const_int 0 [0])) (subreg:DI (reg:QI 202) 0)) "xx.c":4:29 -1 (nil)) Maybe, it wrong as the mode cannot show the real length of val.