Skip to content

Instantly share code, notes, and snippets.

@crumblingstatue
Created May 14, 2015 19:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save crumblingstatue/33094508a1f98f870557 to your computer and use it in GitHub Desktop.
Save crumblingstatue/33094508a1f98f870557 to your computer and use it in GitHub Desktop.
--- iter.s 2015-05-14 21:14:02.496673255 +0200
+++ while.s 2015-05-14 21:13:58.676673077 +0200
@@ -1,9 +1,9 @@
.text
- .file "iter.0.rs"
- .section .text._ZN4main20h5cb52da90a7daa0eeaaE,"ax",@progbits
+ .file "while.0.rs"
+ .section .text._ZN4main20hfa1625d262a55eb2eaaE,"ax",@progbits
.align 16, 0x90
- .type _ZN4main20h5cb52da90a7daa0eeaaE,@function
-_ZN4main20h5cb52da90a7daa0eeaaE:
+ .type _ZN4main20hfa1625d262a55eb2eaaE,@function
+_ZN4main20hfa1625d262a55eb2eaaE:
.cfi_startproc
cmpq %fs:112, %rsp
ja .LBB0_2
@@ -16,31 +16,50 @@
.Ltmp0:
.cfi_def_cfa_offset 80
movq $0, 64(%rsp)
- movl $1, %ecx
- xorl %esi, %esi
+ xorl %eax, %eax
xorps %xmm0, %xmm0
- xorl %edx, %edx
.align 16, 0x90
.LBB0_3:
- movaps %xmm0, %xmm1
- cmpl $10000000, %ecx
- setl %al
- movzbl %al, %eax
- addl %ecx, %eax
- cmpl $10000000, %ecx
+ xorps %xmm1, %xmm1
+ cvtsi2sdl %eax, %xmm1
+ addsd %xmm0, %xmm1
+ leal 1(%rax), %ecx
xorps %xmm0, %xmm0
- cvtsi2sdl %edx, %xmm0
+ cvtsi2sdl %ecx, %xmm0
addsd %xmm1, %xmm0
- cmovgel %esi, %ecx
- movl %ecx, %edx
- movl %eax, %ecx
- jl .LBB0_3
+ leal 2(%rax), %ecx
+ xorps %xmm1, %xmm1
+ cvtsi2sdl %ecx, %xmm1
+ addsd %xmm0, %xmm1
+ leal 3(%rax), %ecx
+ xorps %xmm0, %xmm0
+ cvtsi2sdl %ecx, %xmm0
+ addsd %xmm1, %xmm0
+ leal 4(%rax), %ecx
+ xorps %xmm1, %xmm1
+ cvtsi2sdl %ecx, %xmm1
+ addsd %xmm0, %xmm1
+ leal 5(%rax), %ecx
+ xorps %xmm0, %xmm0
+ cvtsi2sdl %ecx, %xmm0
+ addsd %xmm1, %xmm0
+ leal 6(%rax), %ecx
+ xorps %xmm1, %xmm1
+ cvtsi2sdl %ecx, %xmm1
+ addsd %xmm0, %xmm1
+ leal 7(%rax), %ecx
+ xorps %xmm0, %xmm0
+ cvtsi2sdl %ecx, %xmm0
+ addsd %xmm1, %xmm0
+ addl $8, %eax
+ cmpl $10000000, %eax
+ jne .LBB0_3
movsd %xmm0, 64(%rsp)
movq _ZN3fmt11f64.Display3fmt20hf5582bf08d81b0caMHNE@GOTPCREL(%rip), %rax
movq %rax, 8(%rsp)
leaq 64(%rsp), %rax
movq %rax, (%rsp)
- movups _ZN4main15__STATIC_FMTSTR20h3741fc58f40e29150aaE(%rip), %xmm0
+ movups _ZN4main15__STATIC_FMTSTR20h1a21c63328cac8f1NaaE(%rip), %xmm0
movaps %xmm0, 16(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, 32(%rsp)
@@ -52,7 +71,7 @@
addq $72, %rsp
retq
.Ltmp1:
- .size _ZN4main20h5cb52da90a7daa0eeaaE, .Ltmp1-_ZN4main20h5cb52da90a7daa0eeaaE
+ .size _ZN4main20hfa1625d262a55eb2eaaE, .Ltmp1-_ZN4main20hfa1625d262a55eb2eaaE
.cfi_endproc
.section .text.main,"ax",@progbits
@@ -63,7 +82,7 @@
.cfi_startproc
movq %rsi, %rax
movq %rdi, %rcx
- leaq _ZN4main20h5cb52da90a7daa0eeaaE(%rip), %rdi
+ leaq _ZN4main20hfa1625d262a55eb2eaaE(%rip), %rdi
movq %rcx, %rsi
movq %rax, %rdx
jmp _ZN2rt10lang_start20he56bb5b7c51ee2ac2RwE@PLT
@@ -71,35 +90,35 @@
.size main, .Ltmp2-main
.cfi_endproc
- .type str1298,@object
- .section .rodata.str1298,"a",@progbits
-str1298:
+ .type str1002,@object
+ .section .rodata.str1002,"a",@progbits
+str1002:
.ascii "Sum: "
- .size str1298, 5
+ .size str1002, 5
- .type str1299,@object
- .section .rodata.str1299,"a",@progbits
-str1299:
+ .type str1003,@object
+ .section .rodata.str1003,"a",@progbits
+str1003:
.byte 10
- .size str1299, 1
+ .size str1003, 1
- .type ref1300,@object
- .section .data.rel.ro.local.ref1300,"aw",@progbits
+ .type ref1004,@object
+ .section .data.rel.ro.local.ref1004,"aw",@progbits
.align 16
-ref1300:
- .quad str1298
+ref1004:
+ .quad str1002
.quad 5
- .quad str1299
+ .quad str1003
.quad 1
- .size ref1300, 32
+ .size ref1004, 32
- .type _ZN4main15__STATIC_FMTSTR20h3741fc58f40e29150aaE,@object
- .section .data.rel.ro.local._ZN4main15__STATIC_FMTSTR20h3741fc58f40e29150aaE,"aw",@progbits
+ .type _ZN4main15__STATIC_FMTSTR20h1a21c63328cac8f1NaaE,@object
+ .section .data.rel.ro.local._ZN4main15__STATIC_FMTSTR20h1a21c63328cac8f1NaaE,"aw",@progbits
.align 8
-_ZN4main15__STATIC_FMTSTR20h3741fc58f40e29150aaE:
- .quad ref1300
+_ZN4main15__STATIC_FMTSTR20h1a21c63328cac8f1NaaE:
+ .quad ref1004
.quad 2
- .size _ZN4main15__STATIC_FMTSTR20h3741fc58f40e29150aaE, 16
+ .size _ZN4main15__STATIC_FMTSTR20h1a21c63328cac8f1NaaE, 16
.section ".note.GNU-stack","",@progbits
.text
.file "iter.0.rs"
.section .text._ZN4main20h5cb52da90a7daa0eeaaE,"ax",@progbits
.align 16, 0x90
.type _ZN4main20h5cb52da90a7daa0eeaaE,@function
_ZN4main20h5cb52da90a7daa0eeaaE:
.cfi_startproc
cmpq %fs:112, %rsp
ja .LBB0_2
movabsq $72, %r10
movabsq $0, %r11
callq __morestack
retq
.LBB0_2:
subq $72, %rsp
.Ltmp0:
.cfi_def_cfa_offset 80
movq $0, 64(%rsp)
movl $1, %ecx
xorl %esi, %esi
xorps %xmm0, %xmm0
xorl %edx, %edx
.align 16, 0x90
.LBB0_3:
movaps %xmm0, %xmm1
cmpl $10000000, %ecx
setl %al
movzbl %al, %eax
addl %ecx, %eax
cmpl $10000000, %ecx
xorps %xmm0, %xmm0
cvtsi2sdl %edx, %xmm0
addsd %xmm1, %xmm0
cmovgel %esi, %ecx
movl %ecx, %edx
movl %eax, %ecx
jl .LBB0_3
movsd %xmm0, 64(%rsp)
movq _ZN3fmt11f64.Display3fmt20hf5582bf08d81b0caMHNE@GOTPCREL(%rip), %rax
movq %rax, 8(%rsp)
leaq 64(%rsp), %rax
movq %rax, (%rsp)
movups _ZN4main15__STATIC_FMTSTR20h3741fc58f40e29150aaE(%rip), %xmm0
movaps %xmm0, 16(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, 32(%rsp)
leaq (%rsp), %rax
movq %rax, 48(%rsp)
movq $1, 56(%rsp)
leaq 16(%rsp), %rdi
callq _ZN2io5stdio6_print20h6a2cce5e3746e6ce8WgE@PLT
addq $72, %rsp
retq
.Ltmp1:
.size _ZN4main20h5cb52da90a7daa0eeaaE, .Ltmp1-_ZN4main20h5cb52da90a7daa0eeaaE
.cfi_endproc
.section .text.main,"ax",@progbits
.globl main
.align 16, 0x90
.type main,@function
main:
.cfi_startproc
movq %rsi, %rax
movq %rdi, %rcx
leaq _ZN4main20h5cb52da90a7daa0eeaaE(%rip), %rdi
movq %rcx, %rsi
movq %rax, %rdx
jmp _ZN2rt10lang_start20he56bb5b7c51ee2ac2RwE@PLT
.Ltmp2:
.size main, .Ltmp2-main
.cfi_endproc
.type str1298,@object
.section .rodata.str1298,"a",@progbits
str1298:
.ascii "Sum: "
.size str1298, 5
.type str1299,@object
.section .rodata.str1299,"a",@progbits
str1299:
.byte 10
.size str1299, 1
.type ref1300,@object
.section .data.rel.ro.local.ref1300,"aw",@progbits
.align 16
ref1300:
.quad str1298
.quad 5
.quad str1299
.quad 1
.size ref1300, 32
.type _ZN4main15__STATIC_FMTSTR20h3741fc58f40e29150aaE,@object
.section .data.rel.ro.local._ZN4main15__STATIC_FMTSTR20h3741fc58f40e29150aaE,"aw",@progbits
.align 8
_ZN4main15__STATIC_FMTSTR20h3741fc58f40e29150aaE:
.quad ref1300
.quad 2
.size _ZN4main15__STATIC_FMTSTR20h3741fc58f40e29150aaE, 16
.section ".note.GNU-stack","",@progbits
.text
.file "while.0.rs"
.section .text._ZN4main20hfa1625d262a55eb2eaaE,"ax",@progbits
.align 16, 0x90
.type _ZN4main20hfa1625d262a55eb2eaaE,@function
_ZN4main20hfa1625d262a55eb2eaaE:
.cfi_startproc
cmpq %fs:112, %rsp
ja .LBB0_2
movabsq $72, %r10
movabsq $0, %r11
callq __morestack
retq
.LBB0_2:
subq $72, %rsp
.Ltmp0:
.cfi_def_cfa_offset 80
movq $0, 64(%rsp)
xorl %eax, %eax
xorps %xmm0, %xmm0
.align 16, 0x90
.LBB0_3:
xorps %xmm1, %xmm1
cvtsi2sdl %eax, %xmm1
addsd %xmm0, %xmm1
leal 1(%rax), %ecx
xorps %xmm0, %xmm0
cvtsi2sdl %ecx, %xmm0
addsd %xmm1, %xmm0
leal 2(%rax), %ecx
xorps %xmm1, %xmm1
cvtsi2sdl %ecx, %xmm1
addsd %xmm0, %xmm1
leal 3(%rax), %ecx
xorps %xmm0, %xmm0
cvtsi2sdl %ecx, %xmm0
addsd %xmm1, %xmm0
leal 4(%rax), %ecx
xorps %xmm1, %xmm1
cvtsi2sdl %ecx, %xmm1
addsd %xmm0, %xmm1
leal 5(%rax), %ecx
xorps %xmm0, %xmm0
cvtsi2sdl %ecx, %xmm0
addsd %xmm1, %xmm0
leal 6(%rax), %ecx
xorps %xmm1, %xmm1
cvtsi2sdl %ecx, %xmm1
addsd %xmm0, %xmm1
leal 7(%rax), %ecx
xorps %xmm0, %xmm0
cvtsi2sdl %ecx, %xmm0
addsd %xmm1, %xmm0
addl $8, %eax
cmpl $10000000, %eax
jne .LBB0_3
movsd %xmm0, 64(%rsp)
movq _ZN3fmt11f64.Display3fmt20hf5582bf08d81b0caMHNE@GOTPCREL(%rip), %rax
movq %rax, 8(%rsp)
leaq 64(%rsp), %rax
movq %rax, (%rsp)
movups _ZN4main15__STATIC_FMTSTR20h1a21c63328cac8f1NaaE(%rip), %xmm0
movaps %xmm0, 16(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, 32(%rsp)
leaq (%rsp), %rax
movq %rax, 48(%rsp)
movq $1, 56(%rsp)
leaq 16(%rsp), %rdi
callq _ZN2io5stdio6_print20h6a2cce5e3746e6ce8WgE@PLT
addq $72, %rsp
retq
.Ltmp1:
.size _ZN4main20hfa1625d262a55eb2eaaE, .Ltmp1-_ZN4main20hfa1625d262a55eb2eaaE
.cfi_endproc
.section .text.main,"ax",@progbits
.globl main
.align 16, 0x90
.type main,@function
main:
.cfi_startproc
movq %rsi, %rax
movq %rdi, %rcx
leaq _ZN4main20hfa1625d262a55eb2eaaE(%rip), %rdi
movq %rcx, %rsi
movq %rax, %rdx
jmp _ZN2rt10lang_start20he56bb5b7c51ee2ac2RwE@PLT
.Ltmp2:
.size main, .Ltmp2-main
.cfi_endproc
.type str1002,@object
.section .rodata.str1002,"a",@progbits
str1002:
.ascii "Sum: "
.size str1002, 5
.type str1003,@object
.section .rodata.str1003,"a",@progbits
str1003:
.byte 10
.size str1003, 1
.type ref1004,@object
.section .data.rel.ro.local.ref1004,"aw",@progbits
.align 16
ref1004:
.quad str1002
.quad 5
.quad str1003
.quad 1
.size ref1004, 32
.type _ZN4main15__STATIC_FMTSTR20h1a21c63328cac8f1NaaE,@object
.section .data.rel.ro.local._ZN4main15__STATIC_FMTSTR20h1a21c63328cac8f1NaaE,"aw",@progbits
.align 8
_ZN4main15__STATIC_FMTSTR20h1a21c63328cac8f1NaaE:
.quad ref1004
.quad 2
.size _ZN4main15__STATIC_FMTSTR20h1a21c63328cac8f1NaaE, 16
.section ".note.GNU-stack","",@progbits
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment