Create a gist now

Instantly share code, notes, and snippets.

@kig /mmul_bm.s
Created Mar 11, 2009

gcc -O3 -S mmul_bm.c
.file "mmul_bm.c"
.text
.p2align 4,,15
.globl mmul4x4f
.type mmul4x4f, @function
mmul4x4f:
.LFB32:
xorl %eax, %eax
.L2:
movss (%rsi), %xmm1
movss 4(%rsi), %xmm0
mulss (%rdi), %xmm1
mulss 16(%rdi), %xmm0
addss %xmm0, %xmm1
movss 8(%rsi), %xmm0
mulss 32(%rdi), %xmm0
addss %xmm0, %xmm1
movss 12(%rsi), %xmm0
mulss 48(%rdi), %xmm0
addss %xmm0, %xmm1
movss %xmm1, (%rdx,%rax)
movss (%rsi), %xmm1
movss 4(%rsi), %xmm0
mulss 4(%rdi), %xmm1
mulss 20(%rdi), %xmm0
addss %xmm0, %xmm1
movss 8(%rsi), %xmm0
mulss 36(%rdi), %xmm0
addss %xmm0, %xmm1
movss 12(%rsi), %xmm0
mulss 52(%rdi), %xmm0
addss %xmm0, %xmm1
movss %xmm1, 4(%rdx,%rax)
movss (%rsi), %xmm1
movss 4(%rsi), %xmm0
mulss 8(%rdi), %xmm1
mulss 24(%rdi), %xmm0
addss %xmm0, %xmm1
movss 8(%rsi), %xmm0
mulss 40(%rdi), %xmm0
addss %xmm0, %xmm1
movss 12(%rsi), %xmm0
mulss 56(%rdi), %xmm0
addss %xmm0, %xmm1
movss %xmm1, 8(%rdx,%rax)
movss (%rsi), %xmm1
movss 4(%rsi), %xmm0
mulss 12(%rdi), %xmm1
mulss 28(%rdi), %xmm0
addss %xmm0, %xmm1
movss 8(%rsi), %xmm0
mulss 44(%rdi), %xmm0
addss %xmm0, %xmm1
movss 12(%rsi), %xmm0
mulss 60(%rdi), %xmm0
addq $16, %rsi
addss %xmm0, %xmm1
movss %xmm1, 12(%rdx,%rax)
addq $16, %rax
cmpq $64, %rax
jne .L2
rep
ret
.LFE32:
.size mmul4x4f, .-mmul4x4f
.p2align 4,,15
.globl mmul4x4d
.type mmul4x4d, @function
mmul4x4d:
.LFB33:
xorl %eax, %eax
.L7:
movsd (%rsi), %xmm1
movsd 8(%rsi), %xmm0
mulsd (%rdi), %xmm1
mulsd 32(%rdi), %xmm0
addsd %xmm0, %xmm1
movsd 16(%rsi), %xmm0
mulsd 64(%rdi), %xmm0
addsd %xmm0, %xmm1
movsd 24(%rsi), %xmm0
mulsd 96(%rdi), %xmm0
addsd %xmm0, %xmm1
movsd %xmm1, (%rdx,%rax)
movsd (%rsi), %xmm1
movsd 8(%rsi), %xmm0
mulsd 8(%rdi), %xmm1
mulsd 40(%rdi), %xmm0
addsd %xmm0, %xmm1
movsd 16(%rsi), %xmm0
mulsd 72(%rdi), %xmm0
addsd %xmm0, %xmm1
movsd 24(%rsi), %xmm0
mulsd 104(%rdi), %xmm0
addsd %xmm0, %xmm1
movsd %xmm1, 8(%rdx,%rax)
movsd (%rsi), %xmm1
movsd 8(%rsi), %xmm0
mulsd 16(%rdi), %xmm1
mulsd 48(%rdi), %xmm0
addsd %xmm0, %xmm1
movsd 16(%rsi), %xmm0
mulsd 80(%rdi), %xmm0
addsd %xmm0, %xmm1
movsd 24(%rsi), %xmm0
mulsd 112(%rdi), %xmm0
addsd %xmm0, %xmm1
movsd %xmm1, 16(%rdx,%rax)
movsd (%rsi), %xmm1
movsd 8(%rsi), %xmm0
mulsd 24(%rdi), %xmm1
mulsd 56(%rdi), %xmm0
addsd %xmm0, %xmm1
movsd 16(%rsi), %xmm0
mulsd 88(%rdi), %xmm0
addsd %xmm0, %xmm1
movsd 24(%rsi), %xmm0
addq $32, %rsi
mulsd 120(%rdi), %xmm0
addsd %xmm0, %xmm1
movsd %xmm1, 24(%rdx,%rax)
addq $32, %rax
cmpq $128, %rax
jne .L7
rep
ret
.LFE33:
.size mmul4x4d, .-mmul4x4d
.section .rodata.str1.1,"aMS",@progbits,1
.LC1:
.string "doubles_malloc: %f\n"
.text
.p2align 4,,15
.globl doubles_malloc
.type doubles_malloc, @function
doubles_malloc:
.LFB36:
pushq %r15
.LCFI0:
movl $128, %edi
pushq %r14
.LCFI1:
pushq %r13
.LCFI2:
pushq %r12
.LCFI3:
pushq %rbp
.LCFI4:
pushq %rbx
.LCFI5:
subq $40, %rsp
.LCFI6:
call malloc
movl $128, %edi
movq %rax, %rbx
call malloc
movl $128, %edi
movq %rax, 8(%rsp)
call malloc
movq %rax, 16(%rsp)
call clock
movl $0, 36(%rsp)
movq %rax, 24(%rsp)
.p2align 4,,10
.p2align 3
.L11:
movq 8(%rsp), %r13
movq 16(%rsp), %r14
xorl %r15d, %r15d
.L20:
movq %r14, %rax
xorl %ebp, %ebp
movl $4, %r8d
andl $15, %eax
movsd (%r13), %xmm9
shrq $3, %rax
movsd 8(%r13), %xmm8
testl %eax, %eax
movsd 16(%r13), %xmm7
movsd 24(%r13), %xmm6
je .L17
movapd %xmm9, %xmm0
movl $1, %ebp
movapd %xmm8, %xmm1
movl $3, %r8d
mulsd (%rbx), %xmm0
mulsd 32(%rbx), %xmm1
addsd %xmm1, %xmm0
movapd %xmm7, %xmm1
mulsd 64(%rbx), %xmm1
addsd %xmm1, %xmm0
movapd %xmm6, %xmm1
mulsd 96(%rbx), %xmm1
addsd %xmm1, %xmm0
movsd %xmm0, (%r14)
.L17:
movl $4, %edx
subl %eax, %edx
movl %edx, %esi
movl %edx, 32(%rsp)
shrl %esi
movl %esi, %r12d
addl %r12d, %r12d
je .L18
movapd %xmm9, %xmm0
sall $3, %eax
movapd %xmm8, %xmm10
mov %eax, %eax
unpcklpd %xmm0, %xmm0
leaq (%rbx,%rax), %r11
unpcklpd %xmm10, %xmm10
leaq 32(%rbx,%rax), %r10
leaq 64(%rbx,%rax), %r9
leaq 96(%rbx,%rax), %rdi
leaq (%r14,%rax), %rax
movapd %xmm0, %xmm5
xorl %ecx, %ecx
movapd %xmm10, %xmm4
xorl %edx, %edx
movapd %xmm7, %xmm0
movapd %xmm6, %xmm10
unpcklpd %xmm0, %xmm0
unpcklpd %xmm10, %xmm10
movapd %xmm0, %xmm3
movapd %xmm10, %xmm2
.L12:
movsd (%r11,%rdx), %xmm0
addl $1, %ecx
movsd (%r10,%rdx), %xmm10
movhpd 8(%r11,%rdx), %xmm0
movhpd 8(%r10,%rdx), %xmm10
movapd %xmm0, %xmm1
movapd %xmm10, %xmm0
movsd (%r9,%rdx), %xmm10
mulpd %xmm5, %xmm1
movhpd 8(%r9,%rdx), %xmm10
mulpd %xmm4, %xmm0
addpd %xmm0, %xmm1
movapd %xmm10, %xmm0
movsd (%rdi,%rdx), %xmm10
mulpd %xmm3, %xmm0
movhpd 8(%rdi,%rdx), %xmm10
addpd %xmm0, %xmm1
movapd %xmm10, %xmm0
mulpd %xmm2, %xmm0
addpd %xmm0, %xmm1
movapd %xmm1, (%rax,%rdx)
addq $16, %rdx
cmpl %esi, %ecx
jb .L12
subl %r12d, %r8d
addl %r12d, %ebp
cmpl %r12d, 32(%rsp)
je .L13
.L18:
movslq %ebp,%rax
leaq (%rbx,%rax,8), %rdi
leaq 32(%rbx,%rax,8), %rsi
leaq 64(%rbx,%rax,8), %rcx
leaq 96(%rbx,%rax,8), %rdx
leal (%rbp,%r15), %eax
movq 16(%rsp), %rbp
cltq
leaq (%rbp,%rax,8), %rax
.L14:
movapd %xmm9, %xmm0
movapd %xmm8, %xmm1
mulsd (%rdi), %xmm0
addq $8, %rdi
mulsd (%rsi), %xmm1
addq $8, %rsi
addsd %xmm1, %xmm0
movapd %xmm7, %xmm1
mulsd (%rcx), %xmm1
addq $8, %rcx
addsd %xmm1, %xmm0
movapd %xmm6, %xmm1
mulsd (%rdx), %xmm1
addq $8, %rdx
addsd %xmm1, %xmm0
movsd %xmm0, (%rax)
addq $8, %rax
subl $1, %r8d
jne .L14
.L13:
addl $4, %r15d
addq $32, %r13
addq $32, %r14
cmpl $16, %r15d
jne .L20
addl $1, 36(%rsp)
cmpl $10000000, 36(%rsp)
jne .L11
call clock
cvtsi2sdq 24(%rsp), %xmm1
cvtsi2sdq %rax, %xmm0
movl $.LC1, %edi
movl $1, %eax
subsd %xmm1, %xmm0
divsd .LC0(%rip), %xmm0
addq $40, %rsp
popq %rbx
popq %rbp
popq %r12
popq %r13
popq %r14
popq %r15
jmp printf
.LFE36:
.size doubles_malloc, .-doubles_malloc
.section .rodata.str1.1
.LC2:
.string "floats_memalign: %f\n"
.text
.p2align 4,,15
.globl floats_memalign
.type floats_memalign, @function
floats_memalign:
.LFB35:
pushq %rbx
.LCFI7:
movl $64, %edx
movl $16, %esi
subq $32, %rsp
.LCFI8:
leaq 24(%rsp), %rdi
call posix_memalign
leaq 16(%rsp), %rdi
movl $64, %edx
movl $16, %esi
call posix_memalign
leaq 8(%rsp), %rdi
movl $64, %edx
movl $16, %esi
call posix_memalign
call clock
movq 8(%rsp), %rsi
movq 16(%rsp), %r8
movq %rax, %rbx
movq 24(%rsp), %rdx
xorl %edi, %edi
.p2align 4,,10
.p2align 3
.L26:
movq %r8, %rax
xorl %ecx, %ecx
.L25:
movss (%rax), %xmm1
movss 4(%rax), %xmm0
mulss (%rdx), %xmm1
mulss 16(%rdx), %xmm0
addss %xmm0, %xmm1
movss 8(%rax), %xmm0
mulss 32(%rdx), %xmm0
addss %xmm0, %xmm1
movss 12(%rax), %xmm0
mulss 48(%rdx), %xmm0
addss %xmm0, %xmm1
movss %xmm1, (%rsi,%rcx)
movss (%rax), %xmm1
movss 4(%rax), %xmm0
mulss 4(%rdx), %xmm1
mulss 20(%rdx), %xmm0
addss %xmm0, %xmm1
movss 8(%rax), %xmm0
mulss 36(%rdx), %xmm0
addss %xmm0, %xmm1
movss 12(%rax), %xmm0
mulss 52(%rdx), %xmm0
addss %xmm0, %xmm1
movss %xmm1, 4(%rsi,%rcx)
movss (%rax), %xmm1
movss 4(%rax), %xmm0
mulss 8(%rdx), %xmm1
mulss 24(%rdx), %xmm0
addss %xmm0, %xmm1
movss 8(%rax), %xmm0
mulss 40(%rdx), %xmm0
addss %xmm0, %xmm1
movss 12(%rax), %xmm0
mulss 56(%rdx), %xmm0
addss %xmm0, %xmm1
movss %xmm1, 8(%rsi,%rcx)
movss (%rax), %xmm1
movss 4(%rax), %xmm0
mulss 12(%rdx), %xmm1
mulss 28(%rdx), %xmm0
addss %xmm0, %xmm1
movss 8(%rax), %xmm0
mulss 44(%rdx), %xmm0
addss %xmm0, %xmm1
movss 12(%rax), %xmm0
mulss 60(%rdx), %xmm0
addq $16, %rax
addss %xmm0, %xmm1
movss %xmm1, 12(%rsi,%rcx)
addq $16, %rcx
cmpq $64, %rcx
jne .L25
addl $1, %edi
cmpl $10000000, %edi
jne .L26
call clock
cvtsi2sdq %rbx, %xmm1
movl $.LC2, %edi
cvtsi2sdq %rax, %xmm0
movl $1, %eax
subsd %xmm1, %xmm0
divsd .LC0(%rip), %xmm0
call printf
addq $32, %rsp
popq %rbx
ret
.LFE35:
.size floats_memalign, .-floats_memalign
.section .rodata.str1.1
.LC3:
.string "floats_malloc: %f\n"
.text
.p2align 4,,15
.globl floats_malloc
.type floats_malloc, @function
floats_malloc:
.LFB34:
pushq %r13
.LCFI9:
movl $64, %edi
pushq %r12
.LCFI10:
pushq %rbp
.LCFI11:
pushq %rbx
.LCFI12:
subq $8, %rsp
.LCFI13:
call malloc
movl $64, %edi
movq %rax, %rbx
call malloc
movl $64, %edi
movq %rax, %r12
call malloc
movq %rax, %rbp
call clock
xorl %edx, %edx
movq %rax, %r13
.p2align 4,,10
.p2align 3
.L31:
xorl %eax, %eax
.L32:
movss (%r12,%rax), %xmm2
movss 4(%r12,%rax), %xmm3
movaps %xmm2, %xmm0
movaps %xmm3, %xmm1
mulss (%rbx), %xmm0
movss 8(%r12,%rax), %xmm4
mulss 16(%rbx), %xmm1
movss 12(%r12,%rax), %xmm5
addss %xmm1, %xmm0
movaps %xmm4, %xmm1
mulss 32(%rbx), %xmm1
addss %xmm1, %xmm0
movaps %xmm5, %xmm1
mulss 48(%rbx), %xmm1
addss %xmm1, %xmm0
movaps %xmm3, %xmm1
movss %xmm0, (%rbp,%rax)
movaps %xmm2, %xmm0
mulss 20(%rbx), %xmm1
mulss 4(%rbx), %xmm0
addss %xmm1, %xmm0
movaps %xmm4, %xmm1
mulss 36(%rbx), %xmm1
addss %xmm1, %xmm0
movaps %xmm5, %xmm1
mulss 52(%rbx), %xmm1
addss %xmm1, %xmm0
movaps %xmm3, %xmm1
movss %xmm0, 4(%rbp,%rax)
movaps %xmm2, %xmm0
mulss 24(%rbx), %xmm1
mulss 8(%rbx), %xmm0
addss %xmm1, %xmm0
movaps %xmm4, %xmm1
mulss 40(%rbx), %xmm1
addss %xmm1, %xmm0
movaps %xmm5, %xmm1
mulss 56(%rbx), %xmm1
addss %xmm1, %xmm0
movss %xmm0, 8(%rbp,%rax)
mulss 12(%rbx), %xmm2
mulss 28(%rbx), %xmm3
mulss 44(%rbx), %xmm4
mulss 60(%rbx), %xmm5
addss %xmm3, %xmm2
addss %xmm4, %xmm2
addss %xmm5, %xmm2
movss %xmm2, 12(%rbp,%rax)
addq $16, %rax
cmpq $64, %rax
jne .L32
addl $1, %edx
cmpl $10000000, %edx
jne .L31
call clock
cvtsi2sdq %r13, %xmm1
movl $.LC3, %edi
cvtsi2sdq %rax, %xmm0
movl $1, %eax
subsd %xmm1, %xmm0
divsd .LC0(%rip), %xmm0
addq $8, %rsp
popq %rbx
popq %rbp
popq %r12
popq %r13
jmp printf
.LFE34:
.size floats_malloc, .-floats_malloc
.section .rodata.str1.1
.LC4:
.string "doubles_memalign: %f\n"
.text
.p2align 4,,15
.globl doubles_memalign
.type doubles_memalign, @function
doubles_memalign:
.LFB37:
pushq %rbx
.LCFI14:
movl $128, %edx
movl $16, %esi
subq $32, %rsp
.LCFI15:
leaq 24(%rsp), %rdi
call posix_memalign
leaq 16(%rsp), %rdi
movl $128, %edx
movl $16, %esi
call posix_memalign
leaq 8(%rsp), %rdi
movl $128, %edx
movl $16, %esi
call posix_memalign
call clock
movq 8(%rsp), %rsi
movq 16(%rsp), %r8
movq %rax, %rbx
movq 24(%rsp), %rdx
xorl %edi, %edi
.p2align 4,,10
.p2align 3
.L38:
movq %r8, %rax
xorl %ecx, %ecx
.L37:
movsd (%rax), %xmm1
movsd 8(%rax), %xmm0
mulsd (%rdx), %xmm1
mulsd 32(%rdx), %xmm0
addsd %xmm0, %xmm1
movsd 16(%rax), %xmm0
mulsd 64(%rdx), %xmm0
addsd %xmm0, %xmm1
movsd 24(%rax), %xmm0
mulsd 96(%rdx), %xmm0
addsd %xmm0, %xmm1
movsd %xmm1, (%rsi,%rcx)
movsd (%rax), %xmm1
movsd 8(%rax), %xmm0
mulsd 8(%rdx), %xmm1
mulsd 40(%rdx), %xmm0
addsd %xmm0, %xmm1
movsd 16(%rax), %xmm0
mulsd 72(%rdx), %xmm0
addsd %xmm0, %xmm1
movsd 24(%rax), %xmm0
mulsd 104(%rdx), %xmm0
addsd %xmm0, %xmm1
movsd %xmm1, 8(%rsi,%rcx)
movsd (%rax), %xmm1
movsd 8(%rax), %xmm0
mulsd 16(%rdx), %xmm1
mulsd 48(%rdx), %xmm0
addsd %xmm0, %xmm1
movsd 16(%rax), %xmm0
mulsd 80(%rdx), %xmm0
addsd %xmm0, %xmm1
movsd 24(%rax), %xmm0
mulsd 112(%rdx), %xmm0
addsd %xmm0, %xmm1
movsd %xmm1, 16(%rsi,%rcx)
movsd (%rax), %xmm1
movsd 8(%rax), %xmm0
mulsd 24(%rdx), %xmm1
mulsd 56(%rdx), %xmm0
addsd %xmm0, %xmm1
movsd 16(%rax), %xmm0
mulsd 88(%rdx), %xmm0
addsd %xmm0, %xmm1
movsd 24(%rax), %xmm0
addq $32, %rax
mulsd 120(%rdx), %xmm0
addsd %xmm0, %xmm1
movsd %xmm1, 24(%rsi,%rcx)
addq $32, %rcx
cmpq $128, %rcx
jne .L37
addl $1, %edi
cmpl $10000000, %edi
jne .L38
call clock
cvtsi2sdq %rbx, %xmm1
movl $.LC4, %edi
cvtsi2sdq %rax, %xmm0
movl $1, %eax
subsd %xmm1, %xmm0
divsd .LC0(%rip), %xmm0
call printf
addq $32, %rsp
popq %rbx
ret
.LFE37:
.size doubles_memalign, .-doubles_memalign
.p2align 4,,15
.globl main
.type main, @function
main:
.LFB38:
subq $8, %rsp
.LCFI16:
xorl %eax, %eax
call doubles_malloc
xorl %eax, %eax
call doubles_memalign
xorl %eax, %eax
call floats_malloc
xorl %eax, %eax
call floats_memalign
xorl %eax, %eax
addq $8, %rsp
ret
.LFE38:
.size main, .-main
.section .rodata.cst8,"aM",@progbits,8
.align 8
.LC0:
.long 0
.long 1093567616
.section .eh_frame,"a",@progbits
.Lframe1:
.long .LECIE1-.LSCIE1
.LSCIE1:
.long 0x0
.byte 0x1
.string "zR"
.uleb128 0x1
.sleb128 -8
.byte 0x10
.uleb128 0x1
.byte 0x3
.byte 0xc
.uleb128 0x7
.uleb128 0x8
.byte 0x90
.uleb128 0x1
.align 8
.LECIE1:
.LSFDE1:
.long .LEFDE1-.LASFDE1
.LASFDE1:
.long .LASFDE1-.Lframe1
.long .LFB32
.long .LFE32-.LFB32
.uleb128 0x0
.align 8
.LEFDE1:
.LSFDE3:
.long .LEFDE3-.LASFDE3
.LASFDE3:
.long .LASFDE3-.Lframe1
.long .LFB33
.long .LFE33-.LFB33
.uleb128 0x0
.align 8
.LEFDE3:
.LSFDE5:
.long .LEFDE5-.LASFDE5
.LASFDE5:
.long .LASFDE5-.Lframe1
.long .LFB36
.long .LFE36-.LFB36
.uleb128 0x0
.byte 0x4
.long .LCFI0-.LFB36
.byte 0xe
.uleb128 0x10
.byte 0x4
.long .LCFI1-.LCFI0
.byte 0xe
.uleb128 0x18
.byte 0x4
.long .LCFI2-.LCFI1
.byte 0xe
.uleb128 0x20
.byte 0x4
.long .LCFI3-.LCFI2
.byte 0xe
.uleb128 0x28
.byte 0x4
.long .LCFI4-.LCFI3
.byte 0xe
.uleb128 0x30
.byte 0x4
.long .LCFI5-.LCFI4
.byte 0xe
.uleb128 0x38
.byte 0x4
.long .LCFI6-.LCFI5
.byte 0xe
.uleb128 0x60
.byte 0x83
.uleb128 0x7
.byte 0x86
.uleb128 0x6
.byte 0x8c
.uleb128 0x5
.byte 0x8d
.uleb128 0x4
.byte 0x8e
.uleb128 0x3
.byte 0x8f
.uleb128 0x2
.align 8
.LEFDE5:
.LSFDE7:
.long .LEFDE7-.LASFDE7
.LASFDE7:
.long .LASFDE7-.Lframe1
.long .LFB35
.long .LFE35-.LFB35
.uleb128 0x0
.byte 0x4
.long .LCFI7-.LFB35
.byte 0xe
.uleb128 0x10
.byte 0x4
.long .LCFI8-.LCFI7
.byte 0xe
.uleb128 0x30
.byte 0x83
.uleb128 0x2
.align 8
.LEFDE7:
.LSFDE9:
.long .LEFDE9-.LASFDE9
.LASFDE9:
.long .LASFDE9-.Lframe1
.long .LFB34
.long .LFE34-.LFB34
.uleb128 0x0
.byte 0x4
.long .LCFI9-.LFB34
.byte 0xe
.uleb128 0x10
.byte 0x4
.long .LCFI10-.LCFI9
.byte 0xe
.uleb128 0x18
.byte 0x4
.long .LCFI11-.LCFI10
.byte 0xe
.uleb128 0x20
.byte 0x4
.long .LCFI12-.LCFI11
.byte 0xe
.uleb128 0x28
.byte 0x4
.long .LCFI13-.LCFI12
.byte 0xe
.uleb128 0x30
.byte 0x83
.uleb128 0x5
.byte 0x86
.uleb128 0x4
.byte 0x8c
.uleb128 0x3
.byte 0x8d
.uleb128 0x2
.align 8
.LEFDE9:
.LSFDE11:
.long .LEFDE11-.LASFDE11
.LASFDE11:
.long .LASFDE11-.Lframe1
.long .LFB37
.long .LFE37-.LFB37
.uleb128 0x0
.byte 0x4
.long .LCFI14-.LFB37
.byte 0xe
.uleb128 0x10
.byte 0x4
.long .LCFI15-.LCFI14
.byte 0xe
.uleb128 0x30
.byte 0x83
.uleb128 0x2
.align 8
.LEFDE11:
.LSFDE13:
.long .LEFDE13-.LASFDE13
.LASFDE13:
.long .LASFDE13-.Lframe1
.long .LFB38
.long .LFE38-.LFB38
.uleb128 0x0
.byte 0x4
.long .LCFI16-.LFB38
.byte 0xe
.uleb128 0x10
.align 8
.LEFDE13:
.ident "GCC: (GNU) 4.3.2 20081105 (Red Hat 4.3.2-7)"
.section .note.GNU-stack,"",@progbits
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment