https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65805
--- Comment #3 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- It is clearer to see the issue if one compiles the whole file with -fno-lra-remat: markus@x4 Release % g++ -S -fno-lra-remat -fPIC -fvisibility=hidden -pthread -march=x86-64 -O2 -fno-exceptions -fno-rtti -std=gnu++11 -Wall -c file_util.ii -o out_good markus@x4 Release % g++ -S -fPIC -fvisibility=hidden -pthread -march=x86-64 -O2 -fno-exceptions -fno-rtti -std=gnu++11 -Wall -c file_util.ii -o out_bad markus@x4 Release % diff -u out_good out_bad ... @@ -4616,7 +4616,7 @@ pushq %rbp .cfi_def_cfa_offset 128 movl 20(%rsp), %edx - movq 24(%rsp), %rdi + leaq 64(%rsp), %rdi call _ZN10extensions9Extension6CreateERKN4base8FilePathENS_8Manifest8LocationERKNS1_15DictionaryValueEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPSF_@PLT movq 32(%rsp), %r13 popq %rax When I change "leaq 64(%rsp), %rdi" back to "movq 24(%rsp), %rdi" chromium runs fine.