https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63995
--- Comment #6 from Ilya Enkovich <enkovich.gnu at gmail dot com> --- For attached -g0 problem reproducer: >gcc pr63995-2.c -c -O2 -mmpx -fcheck-pointer-bounds -g -o 1.o >gcc pr63995-2.c -c -O2 -mmpx -fcheck-pointer-bounds -g0 -o 2.o >objdump_pl -d 1.o >1.dump >objdump_pl -d 2.o >2.dump >diff 1.dump 2.dump 2c2 < 1.o: file format elf64-x86-64 --- > 2.o: file format elf64-x86-64 19,22c19,22 < 2b: b8 03 00 00 00 mov $0x3,%eax < 30: f3 0f 1b 1c 07 bndmk (%rdi,%rax,1),%bnd3 < 35: c7 44 24 10 ff ff ff movl $0xffffffff,0x10(%rsp) < 3c: ff --- > 2b: c7 44 24 10 ff ff ff movl $0xffffffff,0x10(%rsp) > 32: ff > 33: b8 03 00 00 00 mov $0x3,%eax > 38: f3 0f 1b 1c 07 bndmk (%rdi,%rax,1),%bnd3 Different instructions order is caused by different GIMPLE statements order after chkpopt pass. Will prepare a fix for that.