Diff
checker
Texte
Texte
Images
Documents
Excel
Dossiers
Legal
Enterprise
Application de bureau
Prix
Se connecter
Télécharger Diffchecker Desktop
Comparer le texte
Trouver la différence entre deux fichiers texte
Outils
Historique
Éditeur live
Masquer les espaces
Cacher identiques
Sans retour à la ligne
Vue
Divisé
Unifié
Niveau de précision
Intelligent
Mot
Caractère
Styles de texte
Modifier l’apparence
Coloration syntaxique
Choisir la syntaxe
Ignorer
Transformer le texte
Aller au premier écart
Modifier l'entrée
Diffchecker Desktop
La façon la plus sécurisée d'utiliser Diffchecker. Obtenez l'application Diffchecker Desktop : vos diffs ne quittent jamais votre ordinateur !
Obtenir Desktop
Untitled diff
Créé
il y a 4 ans
Le diff n'expire jamais
Effacer
Exporter
Partager
Expliquer
43 suppressions
Lignes
Total
Supprimé
Caractères
Total
Supprimé
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
122 lignes
Copier tout
59 ajouts
Lignes
Total
Ajouté
Caractères
Total
Ajouté
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
138 lignes
Copier tout
.text
.text
.file ""
.file ""
.globl foo # -- Begin function foo
.globl foo # -- Begin function foo
.p2align 4, 0x90
.p2align 4, 0x90
.type foo,@function
.type foo,@function
foo: # @foo
foo: # @foo
.cfi_startproc
.cfi_startproc
# %bb.0: # %entry
# %bb.0: # %entry
pushq %rbp
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_def_cfa_offset 16
pushq %rbx
pushq %rbx
.cfi_def_cfa_offset 24
.cfi_def_cfa_offset 24
pushq %rax
pushq %rax
.cfi_def_cfa_offset 32
.cfi_def_cfa_offset 32
.cfi_offset %rbx, -24
.cfi_offset %rbx, -24
.cfi_offset %rbp, -16
.cfi_offset %rbp, -16
movl $1, %eax
movl $1, %eax
cmpl $1, %edi
cmpl $1, %edi
je .LBB0_3
je .LBB0_3
# %bb.1: # %lor.lhs.false
# %bb.1: # %lor.lhs.false
movl %edi, %ebx
movl %edi, %ebx
testl %edi, %edi
testl %edi, %edi
je .LBB0_3
je .LBB0_3
# %bb.2: # %if.else
# %bb.2: # %if.else
leal -1(%rbx), %edi
leal -1(%rbx), %edi
callq foo
callq foo
movl %eax, %ebp
movl %eax, %ebp
addl $-2, %ebx
addl $-2, %ebx
movl %ebx, %edi
movl %ebx, %edi
callq foo
callq foo
addl %ebp, %eax
addl %ebp, %eax
.LBB0_3: # %return
.LBB0_3: # %return
addq $8, %rsp
addq $8, %rsp
.cfi_def_cfa_offset 24
.cfi_def_cfa_offset 24
popq %rbx
popq %rbx
.cfi_def_cfa_offset 16
.cfi_def_cfa_offset 16
popq %rbp
popq %rbp
.cfi_def_cfa_offset 8
.cfi_def_cfa_offset 8
retq
retq
.Lfunc_end0:
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
.size foo, .Lfunc_end0-foo
.cfi_endproc
.cfi_endproc
# -- End function
# -- End function
.globl main # -- Begin function main
.globl main # -- Begin function main
.p2align 4, 0x90
.p2align 4, 0x90
.type main,@function
.type main,@function
main: # @main
main: # @main
.cfi_startproc
.cfi_startproc
# %bb.0: # %entry
# %bb.0: # %entry
pushq %rbp
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_def_cfa_offset 16
Copier
Copié
Copier
Copié
pushq %r1
4
pushq %r1
5
.cfi_def_cfa_offset 24
.cfi_def_cfa_offset 24
Copier
Copié
Copier
Copié
pushq %
rbx
pushq %
r14
.cfi_def_cfa_offset 32
.cfi_def_cfa_offset 32
Copier
Copié
Copier
Copié
.cfi_offset %rbx, -32
pushq %r13
.cfi_offset %r14, -24
.cfi_def_cfa_offset 40
pushq %r12
.cfi_def_cfa_offset 48
pushq %rbx
.cfi_def_cfa_offset 56
pushq %rax
.cfi_def_cfa_offset 64
.cfi_offset %rbx, -56
.cfi_offset %r12, -48
.cfi_offset %r13, -40
.cfi_offset %r14, -32
.cfi_offset %r15, -24
.cfi_offset %rbp, -16
.cfi_offset %rbp, -16
Copier
Copié
Copier
Copié
movl $50000, %r1
4
d # imm = 0xC350
xorl %r13d, %r13d
xorl %ebx, %ebx
movl $50000, %r1
5
d # imm = 0xC350
movl $9999, %
ebp
# imm = 0x270F
movl $9999, %
r14d
# imm = 0x270F
.p2align 4, 0x90
.p2align 4, 0x90
.LBB1_1: # %while.cond
.LBB1_1: # %while.cond
# =>This Inner Loop Header: Depth=1
# =>This Inner Loop Header: Depth=1
Copier
Copié
Copier
Copié
movl %
ebp
, %eax
movl %
r14d
, %eax
cltd
cltd
Copier
Copié
Copier
Copié
idivl %
r14d
idivl %
r15d
movl %edx, %r12d
movl %r13d, 4(%rsp) # 4-byte Spill
movslq %edx, %rdi
movslq %edx, %rdi
Copier
Copié
Copier
Copié
imulq $1717986919, %rdi, %
rcx
# imm = 0x66666667
imulq $1717986919, %rdi, %
rbp
# imm = 0x66666667
movq %
rcx
, %r
d
x
movq %
rbp
, %r
b
x
shrq $63, %r
d
x
shrq $63, %r
b
x
sarq $33, %
rcx
sarq $33, %
rbp
addl %edx
, %ecx
leal (%rbx,%rbp)
, %ecx
leal (%rcx,%rcx,4), %ecx
leal (%rcx,%rcx,4), %ecx
subl %ecx, %edi
subl %ecx, %edi
Copier
Copié
Copier
Copié
movl %eax, %
ebp
movl %eax, %
r14d
# kill: def $edi killed $edi killed $rdi
# kill: def $edi killed $edi killed $rdi
callq foo
callq foo
Copier
Copié
Copier
Copié
cmpl $1
, %r1
4
d
movl %eax
, %r1
3
d
jne .LBB1_3
addl 4(%rsp), %r13d
#
4-byte Folded Reload
# %bb.2:
#
in Loop: Header=BB1_1 Depth=1
cmpl $1
, %
r15d
movl $3
, %
ecx
je
.LBB1_
2
jmp
.LBB1_
4
# %bb.
3: # %if.end
.p2align 4, 0x90
.LBB1_
3: # %if.end
# in Loop: Header=BB1_1 Depth=1
imull %eax, %ebp
xorl %ecx, %ecx
.LBB1_4: # %cleanup
# in Loop: Header=BB1_1 Depth=1
addl %eax, %ebx
testl %ecx, %ecx
jne .LBB1_6
# %bb.5: # %cleanup.cont
# in Loop: Header=BB1_1 Depth=1
# in Loop: Header=BB1_1 Depth=1
Copier
Copié
Copier
Copié
addl $-1, %r1
4
d
addl %ebx, %ebp
leal (%rbp,%rbp,4), %eax
subl %eax, %r12d
movl %r12d, %edi
callq foo
imull %eax, %r14d
addl $-1, %r1
5
d
jmp .LBB1_1
jmp .LBB1_1
Copier
Copié
Copier
Copié
.LBB1_
6
: # %
while.end
.LBB1_
2
: # %
if.then
movl $.L.str, %edi
movl $.L.str, %edi
Copier
Copié
Copier
Copié
movl %
ebx
, %esi
movl %
r13d
, %esi
xorl %eax, %eax
xorl %eax, %eax
callq printf
callq printf
xorl %eax, %eax
xorl %eax, %eax
Copier
Copié
Copier
Copié
addq $8, %rsp
.cfi_def_cfa_offset 56
popq %rbx
popq %rbx
Copier
Copié
Copier
Copié
.cfi_def_cfa_offset 48
popq %r12
.cfi_def_cfa_offset 40
popq %r13
.cfi_def_cfa_offset 32
popq %r14
.cfi_def_cfa_offset 24
.cfi_def_cfa_offset 24
Copier
Copié
Copier
Copié
popq %r1
4
popq %r1
5
.cfi_def_cfa_offset 16
.cfi_def_cfa_offset 16
popq %rbp
popq %rbp
.cfi_def_cfa_offset 8
.cfi_def_cfa_offset 8
retq
retq
.Lfunc_end1:
.Lfunc_end1:
.size main, .Lfunc_end1-main
.size main, .Lfunc_end1-main
.cfi_endproc
.cfi_endproc
# -- End function
# -- End function
.type .L.str,@object # @.str
.type .L.str,@object # @.str
.section .rodata.str1.1,"aMS",@progbits,1
.section .rodata.str1.1,"aMS",@progbits,1
.L.str:
.L.str:
.asciz "%d\n"
.asciz "%d\n"
.size .L.str, 4
.size .L.str, 4
.ident "clang version 14.0.0 (https://github.com/llvm/llvm-project edff0070a126d9a27263958dbb22133f4ed6526e)"
.ident "clang version 14.0.0 (https://github.com/llvm/llvm-project edff0070a126d9a27263958dbb22133f4ed6526e)"
.section ".note.GNU-stack","",@progbits
.section ".note.GNU-stack","",@progbits
Différences enregistrées
Texte d'origine
Ouvrir un fichier
.text .file "" .globl foo # -- Begin function foo .p2align 4, 0x90 .type foo,@function foo: # @foo .cfi_startproc # %bb.0: # %entry pushq %rbp .cfi_def_cfa_offset 16 pushq %rbx .cfi_def_cfa_offset 24 pushq %rax .cfi_def_cfa_offset 32 .cfi_offset %rbx, -24 .cfi_offset %rbp, -16 movl $1, %eax cmpl $1, %edi je .LBB0_3 # %bb.1: # %lor.lhs.false movl %edi, %ebx testl %edi, %edi je .LBB0_3 # %bb.2: # %if.else leal -1(%rbx), %edi callq foo movl %eax, %ebp addl $-2, %ebx movl %ebx, %edi callq foo addl %ebp, %eax .LBB0_3: # %return addq $8, %rsp .cfi_def_cfa_offset 24 popq %rbx .cfi_def_cfa_offset 16 popq %rbp .cfi_def_cfa_offset 8 retq .Lfunc_end0: .size foo, .Lfunc_end0-foo .cfi_endproc # -- End function .globl main # -- Begin function main .p2align 4, 0x90 .type main,@function main: # @main .cfi_startproc # %bb.0: # %entry pushq %rbp .cfi_def_cfa_offset 16 pushq %r14 .cfi_def_cfa_offset 24 pushq %rbx .cfi_def_cfa_offset 32 .cfi_offset %rbx, -32 .cfi_offset %r14, -24 .cfi_offset %rbp, -16 movl $50000, %r14d # imm = 0xC350 xorl %ebx, %ebx movl $9999, %ebp # imm = 0x270F .p2align 4, 0x90 .LBB1_1: # %while.cond # =>This Inner Loop Header: Depth=1 movl %ebp, %eax cltd idivl %r14d movslq %edx, %rdi imulq $1717986919, %rdi, %rcx # imm = 0x66666667 movq %rcx, %rdx shrq $63, %rdx sarq $33, %rcx addl %edx, %ecx leal (%rcx,%rcx,4), %ecx subl %ecx, %edi movl %eax, %ebp # kill: def $edi killed $edi killed $rdi callq foo cmpl $1, %r14d jne .LBB1_3 # %bb.2: # in Loop: Header=BB1_1 Depth=1 movl $3, %ecx jmp .LBB1_4 .p2align 4, 0x90 .LBB1_3: # %if.end # in Loop: Header=BB1_1 Depth=1 imull %eax, %ebp xorl %ecx, %ecx .LBB1_4: # %cleanup # in Loop: Header=BB1_1 Depth=1 addl %eax, %ebx testl %ecx, %ecx jne .LBB1_6 # %bb.5: # %cleanup.cont # in Loop: Header=BB1_1 Depth=1 addl $-1, %r14d jmp .LBB1_1 .LBB1_6: # %while.end movl $.L.str, %edi movl %ebx, %esi xorl %eax, %eax callq printf xorl %eax, %eax popq %rbx .cfi_def_cfa_offset 24 popq %r14 .cfi_def_cfa_offset 16 popq %rbp .cfi_def_cfa_offset 8 retq .Lfunc_end1: .size main, .Lfunc_end1-main .cfi_endproc # -- End function .type .L.str,@object # @.str .section .rodata.str1.1,"aMS",@progbits,1 .L.str: .asciz "%d\n" .size .L.str, 4 .ident "clang version 14.0.0 (https://github.com/llvm/llvm-project edff0070a126d9a27263958dbb22133f4ed6526e)" .section ".note.GNU-stack","",@progbits
Texte modifié
Ouvrir un fichier
.text .file "" .globl foo # -- Begin function foo .p2align 4, 0x90 .type foo,@function foo: # @foo .cfi_startproc # %bb.0: # %entry pushq %rbp .cfi_def_cfa_offset 16 pushq %rbx .cfi_def_cfa_offset 24 pushq %rax .cfi_def_cfa_offset 32 .cfi_offset %rbx, -24 .cfi_offset %rbp, -16 movl $1, %eax cmpl $1, %edi je .LBB0_3 # %bb.1: # %lor.lhs.false movl %edi, %ebx testl %edi, %edi je .LBB0_3 # %bb.2: # %if.else leal -1(%rbx), %edi callq foo movl %eax, %ebp addl $-2, %ebx movl %ebx, %edi callq foo addl %ebp, %eax .LBB0_3: # %return addq $8, %rsp .cfi_def_cfa_offset 24 popq %rbx .cfi_def_cfa_offset 16 popq %rbp .cfi_def_cfa_offset 8 retq .Lfunc_end0: .size foo, .Lfunc_end0-foo .cfi_endproc # -- End function .globl main # -- Begin function main .p2align 4, 0x90 .type main,@function main: # @main .cfi_startproc # %bb.0: # %entry pushq %rbp .cfi_def_cfa_offset 16 pushq %r15 .cfi_def_cfa_offset 24 pushq %r14 .cfi_def_cfa_offset 32 pushq %r13 .cfi_def_cfa_offset 40 pushq %r12 .cfi_def_cfa_offset 48 pushq %rbx .cfi_def_cfa_offset 56 pushq %rax .cfi_def_cfa_offset 64 .cfi_offset %rbx, -56 .cfi_offset %r12, -48 .cfi_offset %r13, -40 .cfi_offset %r14, -32 .cfi_offset %r15, -24 .cfi_offset %rbp, -16 xorl %r13d, %r13d movl $50000, %r15d # imm = 0xC350 movl $9999, %r14d # imm = 0x270F .p2align 4, 0x90 .LBB1_1: # %while.cond # =>This Inner Loop Header: Depth=1 movl %r14d, %eax cltd idivl %r15d movl %edx, %r12d movl %r13d, 4(%rsp) # 4-byte Spill movslq %edx, %rdi imulq $1717986919, %rdi, %rbp # imm = 0x66666667 movq %rbp, %rbx shrq $63, %rbx sarq $33, %rbp leal (%rbx,%rbp), %ecx leal (%rcx,%rcx,4), %ecx subl %ecx, %edi movl %eax, %r14d # kill: def $edi killed $edi killed $rdi callq foo movl %eax, %r13d addl 4(%rsp), %r13d # 4-byte Folded Reload cmpl $1, %r15d je .LBB1_2 # %bb.3: # %if.end # in Loop: Header=BB1_1 Depth=1 addl %ebx, %ebp leal (%rbp,%rbp,4), %eax subl %eax, %r12d movl %r12d, %edi callq foo imull %eax, %r14d addl $-1, %r15d jmp .LBB1_1 .LBB1_2: # %if.then movl $.L.str, %edi movl %r13d, %esi xorl %eax, %eax callq printf xorl %eax, %eax addq $8, %rsp .cfi_def_cfa_offset 56 popq %rbx .cfi_def_cfa_offset 48 popq %r12 .cfi_def_cfa_offset 40 popq %r13 .cfi_def_cfa_offset 32 popq %r14 .cfi_def_cfa_offset 24 popq %r15 .cfi_def_cfa_offset 16 popq %rbp .cfi_def_cfa_offset 8 retq .Lfunc_end1: .size main, .Lfunc_end1-main .cfi_endproc # -- End function .type .L.str,@object # @.str .section .rodata.str1.1,"aMS",@progbits,1 .L.str: .asciz "%d\n" .size .L.str, 4 .ident "clang version 14.0.0 (https://github.com/llvm/llvm-project edff0070a126d9a27263958dbb22133f4ed6526e)" .section ".note.GNU-stack","",@progbits
Trouver la différence