http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59575
--- Comment #3 from Jan Hubicka <hubicka at gcc dot gnu.org> --- First block is: (insn:TI 551 2434 552 38 (set (mem/f/c:SI (plus:SI (reg/f:SI 7 sp) (const_int 104 [0x68])) [17 MEM[(struct *)&bs]+0 S4 A64]) (reg/f:SI 6 bp [orig:159 bs ] [159])) ../../../../libgo/go/encoding/binary/binary.go:263 90 {*movsi_internal} (nil)) (insn 552 551 553 38 (set (mem/c:SI (plus:SI (reg/f:SI 7 sp) (const_int 108 [0x6c])) [17 MEM[(struct *)&bs + 4B]+0 S4 A32]) (const_int 2 [0x2])) ../../../../libgo/go/encoding/binary/binary.go:263 90 {*movsi_internal} (nil)) (insn:TI 553 552 556 38 (set (mem/c:SI (plus:SI (reg/f:SI 7 sp) (const_int 112 [0x70])) [17 MEM[(struct *)&bs + 8B]+0 S4 A64]) (const_int 8 [0x8])) ../../../../libgo/go/encoding/binary/binary.go:263 90 {*movsi_internal} (nil)) (insn 556 553 557 38 (set (mem:HI (reg/f:SI 7 sp) [49 S2 A16]) (reg/v:HI 1 dx [orig:202 v ] [202])) ../../../../libgo/go/encoding/binary/binary.go:263 91 {*movhi_internal} (expr_list:REG_DEAD (reg/v:HI 1 dx [orig:202 v ] [202]) (expr_list:REG_ARGS_SIZE (const_int 16 [0x10]) (nil)))) (insn:TI 557 556 558 38 (set (mem:SI (pre_dec:SI (reg/f:SI 7 sp)) [0 S4 A8]) (const_int 8 [0x8])) ../../../../libgo/go/encoding/binary/binary.go:263 66 {*pushsi2} (expr_list:REG_ARGS_SIZE (const_int 20 [0x14]) (nil))) (insn 558 557 559 38 (set (mem:SI (pre_dec:SI (reg/f:SI 7 sp)) [0 S4 A8]) (const_int 2 [0x2])) ../../../../libgo/go/encoding/binary/binary.go:263 66 {*pushsi2} (expr_list:REG_ARGS_SIZE (const_int 24 [0x18]) (nil))) (insn:TI 559 558 2420 38 (set (mem:SI (pre_dec:SI (reg/f:SI 7 sp)) [0 S4 A8]) (reg/f:SI 6 bp [orig:159 bs ] [159])) ../../../../libgo/go/encoding/binary/binary.go:263 66 {*pushsi2} (expr_list:REG_ARGS_SIZE (const_int 28 [0x1c]) (nil))) Second is: (code_label 2425 707 2423 54 723 "" [1 uses]) (note 2423 2425 760 54 [bb 54] NOTE_INSN_BASIC_BLOCK) (insn:TI 760 2423 761 54 (set (mem/f/c:SI (plus:SI (reg/f:SI 7 sp) (const_int 104 [0x68])) [17 MEM[(struct *)&bs]+0 S4 A64]) (reg/f:SI 6 bp [orig:159 bs ] [159])) ../../../../libgo/go/encoding/binary/binary.go:273 90 {*movsi_internal} (nil)) (insn 761 760 766 54 (set (mem/c:SI (plus:SI (reg/f:SI 7 sp) (const_int 108 [0x6c])) [17 MEM[(struct *)&bs + 4B]+0 S4 A32]) (const_int 2 [0x2])) ../../../../libgo/go/encoding/binary/binary.go:273 90 {*movsi_internal} (nil)) (insn 766 761 762 54 (parallel [ (set (reg/f:SI 7 sp) (plus:SI (reg/f:SI 7 sp) (const_int -12 [0xfffffffffffffff4]))) (clobber (reg:CC 17 flags)) ]) ../../../../libgo/go/encoding/binary/binary.go:273 265 {*addsi_1} (expr_list:REG_UNUSED (reg:CC 17 flags) (expr_list:REG_ARGS_SIZE (const_int 28 [0x1c]) (nil)))) (insn:TI 762 766 765 54 (set (mem/c:SI (plus:SI (reg/f:SI 7 sp) (const_int 124 [0x7c])) [17 MEM[(struct *)&bs + 8B]+0 S4 A64]) (const_int 8 [0x8])) ../../../../libgo/go/encoding/binary/binary.go:273 90 {*movsi_internal} (nil)) (insn 765 762 770 54 (set (mem:HI (plus:SI (reg/f:SI 7 sp) (const_int 12 [0xc])) [49 S2 A16]) (reg/v:HI 1 dx [orig:232 v ] [232])) ../../../../libgo/go/encoding/binary/binary.go:273 91 {*movhi_internal} (expr_list:REG_DEAD (reg/v:HI 1 dx [orig:232 v ] [232]) (expr_list:REG_ARGS_SIZE (const_int 16 [0x10]) (nil)))) (insn 770 765 2326 54 (set (reg:SI 2 cx [488]) (const_int 3 [0x3])) ../../../../libgo/go/encoding/binary/binary.go:273 90 {*movsi_internal} (expr_list:REG_EQUAL (const_int 3 [0x3]) (nil))) (insn:TI 2326 770 2023 54 (set (reg:SI 4 si [487]) (plus:SI (reg/f:SI 7 sp) (const_int 116 [0x74]))) ../../../../libgo/go/encoding/binary/binary.go:273 258 {*leasi} (nil)) (insn 2023 2326 771 54 (set (reg/f:SI 5 di [486]) (reg/f:SI 7 sp)) ../../../../libgo/go/encoding/binary/binary.go:273 90 {*movsi_internal} (nil)) (insn:TI 771 2023 2693 54 (parallel [ (set (reg:SI 2 cx [488]) (const_int 0 [0])) (set (reg/f:SI 5 di [486]) (plus:SI (ashift:SI (reg:SI 2 cx [488]) (const_int 2 [0x2])) (reg/f:SI 5 di [486]))) (set (reg:SI 4 si [487]) (plus:SI (ashift:SI (reg:SI 2 cx [488]) (const_int 2 [0x2])) (reg:SI 4 si [487]))) (set (mem:BLK (reg/f:SI 5 di [486]) [0 S12 A32]) (mem/c:BLK (reg:SI 4 si [487]) [17 bs+0 S12 A64])) (use (reg:SI 2 cx [488])) ]) ../../../../libgo/go/encoding/binary/binary.go:273 921 {*rep_movsi} (expr_list:REG_UNUSED (reg/f:SI 5 di [486]) (expr_list:REG_UNUSED (reg:SI 4 si [487]) (expr_list:REG_UNUSED (reg:SI 2 cx [488]) (nil))))) (jump_insn:TI 2693 771 2694 54 (set (pc) (label_ref 2420)) 667 {jump} (nil) In both code paths ARG_SIZE is 28 that seems all right.