Hi! On Wed, Feb 26, 2020 at 06:03:18PM +0100, Henri Cloetens wrote: > ;; * 11--> b 0: i 44 > {{%r31=%r31+0x18;%r0=[%r31+0x10];%r18=[%r31+0x8];clobber %r1;clobber > %r19;};pc=return;}:LDST** This is a "slim" RTL dump, it leaves out quite a lot of important info, like modes. That info actually *is* there in the insn, usually, it just isn't printed here. > ***(insn:TI 44 27 28 2 (parallel [ > (parallel [ > (set (reg/f:SI 31 %r31) > (plus:SI (reg/f:SI 31 %r31) > (const_int 24 > [0x18]))) > (set (reg:DI 0 %r0) > (mem/c:DI (plus:SI (reg/f:SI > 31 %r31) > (const_int > 16 [0x10])) [2 S8 A64])) > (set (reg:DI 18 %r18) > (mem/c:DI (plus:SI (reg/f:SI > 31 %r31) > (const_int 8 > [0x8])) [2 S8 A64])) > (clobber:SI (reg:DI 1 %r1)) > (clobber:SI (reg:DI 19 %r19)) > ]) > (set (pc) > (return)) Yeah, parallel of parallel, there is your problem. You probably have a parallel in a define_insn, but you already have an implicit one there? A problem in your .md file, anyway. Segher