[Bug rtl-optimization/65805] [5/6 Regression] Chromium gets miscompiled
trippels at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sun Apr 19 10:52:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65805
--- Comment #2 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
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 ass_good
markus@x4 Release % diff -u ass_good ass_bad
--- ass_good 2015-04-19 12:49:09.198287280 +0200
+++ ass_bad 2015-04-19 12:49:20.571371228 +0200
@@ -1,7 +1,7 @@
-.LCOLDB52:
+.LCOLDB51:
.text
-.LHOTB52:
- .p2align 4,,-1
+.LHOTB51:
+ .p2align 4,,15
.globl
_ZN10extensions9file_util13LoadExtensionERKN4base8FilePathERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_8Manifest8LocationEiPSA_
.hidden
_ZN10extensions9file_util13LoadExtensionERKN4base8FilePathERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_8Manifest8LocationEiPSA_
.type
_ZN10extensions9file_util13LoadExtensionERKN4base8FilePathERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_8Manifest8LocationEiPSA_,
@function
@@ -21,43 +21,43 @@
pushq %r12
.cfi_def_cfa_offset 40
.cfi_offset 12, -40
- movq %rsi, %r12
+ movq %rsi, %r13
pushq %rbp
.cfi_def_cfa_offset 48
.cfi_offset 6, -48
pushq %rbx
.cfi_def_cfa_offset 56
.cfi_offset 3, -56
- movq %rdi, %rbp
+ movq %rdi, %r12
movq %r9, %rdx
- movq %r12, %rdi
+ movq %r13, %rdi
movl %r8d, %r14d
subq $56, %rsp
.cfi_def_cfa_offset 112
movq _ZN10extensions17kManifestFilenameE@GOTPCREL(%rip), %rsi
- movq %r9, %rbx
+ movq %r9, %rbp
movl %ecx, 4(%rsp)
call
_ZN10extensions9file_util12LoadManifestERKN4base8FilePathEPKcPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
testq %rax, %rax
- je .L614
- movq %rbx, %rdx
+ je .L622
+ movq %rbp, %rdx
movq %rax, %rsi
- movq %r12, %rdi
- movq %rax, %r13
+ movq %r13, %rdi
+ movq %rax, %rbx
call
_ZN19extension_l10n_util17LocalizeExtensionERKN4base8FilePathEPNS0_15DictionaryValueEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@PLT
testb %al, %al
- jne .L615
-.L613:
- movq $0, 0(%rbp)
-.L609:
- movq 0(%r13), %rax
- movq %r13, %rdi
- call *8(%rax)
+ jne .L623
+.L621:
+ movq $0, (%r12)
.L603:
+ movq (%rbx), %rax
+ movq %rbx, %rdi
+ call *8(%rax)
+.L597:
addq $56, %rsp
.cfi_remember_state
.cfi_def_cfa_offset 56
- movq %rbp, %rax
+ movq %r12, %rax
popq %rbx
.cfi_def_cfa_offset 48
popq %rbp
@@ -73,66 +73,85 @@
ret
.p2align 4,,10
.p2align 3
-.L615:
+.L623:
.cfi_restore_state
leaq 16(%rsp), %rax
subq $8, %rsp
.cfi_def_cfa_offset 120
- movq %r12, %rsi
+ movq %r13, %rsi
movq %r15, %r9
movl %r14d, %r8d
- movq %r13, %rcx
+ movq %rbx, %rcx
movq %rax, 16(%rsp)
- pushq %rbx
+ 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), %r12
+ movq 32(%rsp), %r13
popq %rax
.cfi_def_cfa_offset 120
popq %rdx
.cfi_def_cfa_offset 112
- testq %r12, %r12
- je .L613
+ testq %r13, %r13
+ je .L621
movq 8(%rsp), %rdx
- movq %rbx, %rsi
- movq %r12, %rdi
+ movq %rbp, %rsi
+ movq %r13, %rdi
movq $0, 16(%rsp)
movq $0, 24(%rsp)
movq $0, 32(%rsp)
call
_ZN10extensions9file_util17ValidateExtensionEPKNS_9ExtensionEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPSt6vectorINS_14InstallWarningESaISC_EE
testb %al, %al
- jne .L610
- movq 8(%rsp), %rdi
- movq $0, 0(%rbp)
- call _ZNSt6vectorIN10extensions14InstallWarningESaIS1_EED1Ev
- leaq 8(%r12), %rdi
+ jne .L604
+ movq $0, (%r12)
+.L605:
+ movq 24(%rsp), %r14
+ movq 16(%rsp), %rbp
+ cmpq %rbp, %r14
+ je .L606
+ .p2align 4,,10
+ .p2align 3
+.L607:
+ movq %rbp, %rdi
+ addq $96, %rbp
+ call _ZN10extensions14InstallWarningD1Ev@PLT
+ cmpq %rbp, %r14
+ jne .L607
+ movq 16(%rsp), %r14
+.L606:
+ testq %r14, %r14
+ je .L608
+ movq %r14, %rdi
+ call _ZdlPv@PLT
+.L608:
+ testq %r13, %r13
+ je .L603
+ leaq 8(%r13), %rdi
call _ZNK4base6subtle24RefCountedThreadSafeBase7ReleaseEv@PLT
testb %al, %al
- je .L609
- movq (%r12), %rax
- movq %r12, %rdi
+ je .L603
+ movq 0(%r13), %rax
+ movq %r13, %rdi
call *8(%rax)
- jmp .L609
+ jmp .L603
.p2align 4,,10
.p2align 3
-.L614:
- movq $0, 0(%rbp)
- jmp .L603
+.L622:
+ movq $0, (%r12)
+ jmp .L597
.p2align 4,,10
.p2align 3
-.L610:
+.L604:
movq 8(%rsp), %rsi
- movq %r12, %rdi
+ movq %r13, %rdi
call
_ZN10extensions9Extension18AddInstallWarningsERKSt6vectorINS_14InstallWarningESaIS2_EE@PLT
- movq 8(%rsp), %rdi
- movq %r12, 0(%rbp)
- call _ZNSt6vectorIN10extensions14InstallWarningESaIS1_EED1Ev
- jmp .L609
+ movq %r13, (%r12)
+ xorl %r13d, %r13d
+ jmp .L605
.cfi_endproc
.LFE11121:
.size
_ZN10extensions9file_util13LoadExtensionERKN4base8FilePathERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_8Manifest8LocationEiPSA_,
.-_ZN10extensions9file_util13LoadExtensionERKN4base8FilePathERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_8Manifest8LocationEiPSA_
.section .text.unlikely
-.LCOLDE52:
+.LCOLDE51:
.text
More information about the Gcc-bugs
mailing list