https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100626
--- Comment #3 from Uroš Bizjak <ubizjak at gmail dot com> --- *<any_or:code>di3_doubleword calls split_double_mode with: op0: (subreg:DI (reg/v:SI 89 [ li_18 ]) 0) op1: (reg:DI 90 [ uc_4 ]) op2: (mem/c:DI (plus:SI (reg/f:SI 19 frame) (const_int -4 [0xfffffffffffffffc])) [0 S8 A32]) and split_double_mode chokes on paradoxical subreg op0, returning (nil) on highpart of op0: (reg/v:SI 89 [ li_18 ]) (subreg:SI (reg:DI 90 [ uc_4 ]) 0) (mem/c:SI (plus:SI (reg/f:SI 19 frame) (const_int -4 [0xfffffffffffffffc])) [0 S4 A32]) (nil) (subreg:SI (reg:DI 90 [ uc_4 ]) 4) (mem/c:SI (reg/f:SI 19 frame) [0 S4 A32])