Skip to content

Instantly share code, notes, and snippets.

@mysteriouspants
Created August 4, 2010 20:45
Show Gist options
  • Save mysteriouspants/508767 to your computer and use it in GitHub Desktop.
Save mysteriouspants/508767 to your computer and use it in GitHub Desktop.
Quake 3 finvsqrt plus corresponding assembler (x86)
#include <stdio.h>
#include <math.h>
/*
** float q_rsqrt( float number )
*/
float Q_rsqrt( float number ) {
long i;
float x2, y;
const float threehalfs = 1.5F;
x2 = number * 0.5F;
y = number;
i = * ( long * ) &y; // evil floating point bit level hacking
i = 0x5f3759df - ( i >> 1 ); // what the fuck?
y = * ( float * ) &i;
y = y * ( threehalfs - ( x2 * y * y ) ); // 1st iteration
// y = y * ( threehalfs - ( x2 * y * y ) ); // 2nd iteration, this can be removed
#ifndef Q3_VM
#ifdef __linux__
assert( !isnan(y) ); // bk010122 - FPE?
#endif
#endif
return y;
}
int main(int argc, char * args[]) {
float i = 10.0f;
printf("Normal: %f\n", 1.0f / sqrt(i));
printf("Fast: %f\n", Q_rsqrt(i));
return 0;
}
; created by gcc -S -g -O2 -mfpmath=387 -arch i386 -mtune=i386 Q_rsqrt.c -o Q_rsqrt.gcc.s
.section __DWARF,__debug_frame,regular,debug
Lsection__debug_frame:
.section __DWARF,__debug_info,regular,debug
Lsection__debug_info:
.section __DWARF,__debug_abbrev,regular,debug
Lsection__debug_abbrev:
.section __DWARF,__debug_aranges,regular,debug
Lsection__debug_aranges:
.section __DWARF,__debug_macinfo,regular,debug
Lsection__debug_macinfo:
.section __DWARF,__debug_line,regular,debug
Lsection__debug_line:
.section __DWARF,__debug_loc,regular,debug
Lsection__debug_loc:
.section __DWARF,__debug_pubnames,regular,debug
Lsection__debug_pubnames:
.section __DWARF,__debug_pubtypes,regular,debug
Lsection__debug_pubtypes:
.section __DWARF,__debug_inlined,regular,debug
Lsection__debug_inlined:
.section __DWARF,__debug_str,regular,debug
Lsection__debug_str:
.section __DWARF,__debug_ranges,regular,debug
Lsection__debug_ranges:
.section __DWARF,__debug_abbrev,regular,debug
Ldebug_abbrev0:
.section __DWARF,__debug_info,regular,debug
Ldebug_info0:
.section __DWARF,__debug_line,regular,debug
Ldebug_line0:
.text
Ltext0:
.align 2,0x90
.globl _Q_rsqrt
_Q_rsqrt:
LFB18:
.file 1 "Q_rsqrt.c"
.loc 1 6 0
LVL0:
pushl %ebp
LCFI0:
movl %esp, %ebp
LCFI1:
subl $16, %esp
LCFI2:
call L3
"L00000000001$pb":
L3:
popl %ecx
flds 8(%ebp)
.loc 1 12 0
fsts -8(%ebp)
LVL1:
.loc 1 14 0
movl -8(%ebp), %edx
sarl %edx
movl $1597463007, %eax
subl %edx, %eax
movl %eax, -4(%ebp)
LVL2:
.loc 1 15 0
flds -4(%ebp)
fxch %st(1)
fmuls LC0-"L00000000001$pb"(%ecx)
fmul %st(1), %st
fmul %st(1), %st
fsubrs LC1-"L00000000001$pb"(%ecx)
fmulp %st, %st(1)
.loc 1 25 0
leave
ret
LFE18:
.cstring
LC3:
.ascii "Normal: %f\12\0"
LC5:
.ascii "Fast: %f\12\0"
.text
.align 2,0x90
.globl _main
_main:
LFB19:
.loc 1 27 0
LVL3:
pushl %ebp
LCFI3:
movl %esp, %ebp
LCFI4:
pushl %ebx
LCFI5:
subl $8, %esp
LCFI6:
call L6
"L00000000002$pb":
L6:
popl %ebx
.loc 1 29 0
pushl $1070873875
pushl $1648904463
leal LC3-"L00000000002$pb"(%ebx), %eax
pushl %eax
LCFI7:
call _printf
.loc 1 30 0
movl $0x41200000, (%esp)
LCFI8:
call _Q_rsqrt
popl %eax
fstpl (%esp)
leal LC5-"L00000000002$pb"(%ebx), %eax
pushl %eax
LCFI9:
call _printf
.loc 1 32 0
xorl %eax, %eax
movl -4(%ebp), %ebx
leave
ret
LFE19:
.literal4
.align 2
LC0:
.long 1056964608
.align 2
LC1:
.long 1069547520
.section __DWARF,__debug_frame,regular,debug
Lframe0:
.set L$set$0,LECIE0-LSCIE0
.long L$set$0
LSCIE0:
.long 0xffffffff
.byte 0x1
.ascii "\0"
.byte 0x1
.byte 0x7c
.byte 0x8
.byte 0xc
.byte 0x4
.byte 0x4
.byte 0x88
.byte 0x1
.align 2
LECIE0:
LSFDE0:
.set L$set$1,LEFDE0-LASFDE0
.long L$set$1
LASFDE0:
.set L$set$2,Lframe0-Lsection__debug_frame
.long L$set$2
.long LFB18
.set L$set$3,LFE18-LFB18
.long L$set$3
.byte 0x4
.set L$set$4,LCFI0-LFB18
.long L$set$4
.byte 0xe
.byte 0x8
.byte 0x85
.byte 0x2
.byte 0x4
.set L$set$5,LCFI1-LCFI0
.long L$set$5
.byte 0xd
.byte 0x5
.align 2
LEFDE0:
LSFDE2:
.set L$set$6,LEFDE2-LASFDE2
.long L$set$6
LASFDE2:
.set L$set$7,Lframe0-Lsection__debug_frame
.long L$set$7
.long LFB19
.set L$set$8,LFE19-LFB19
.long L$set$8
.byte 0x4
.set L$set$9,LCFI3-LFB19
.long L$set$9
.byte 0xe
.byte 0x8
.byte 0x85
.byte 0x2
.byte 0x4
.set L$set$10,LCFI4-LCFI3
.long L$set$10
.byte 0xd
.byte 0x5
.byte 0x4
.set L$set$11,LCFI6-LCFI4
.long L$set$11
.byte 0x83
.byte 0x3
.byte 0x4
.set L$set$12,LCFI7-LCFI6
.long L$set$12
.byte 0x2e
.byte 0x10
.byte 0x4
.set L$set$13,LCFI8-LCFI7
.long L$set$13
.byte 0x2e
.byte 0xc
.byte 0x4
.set L$set$14,LCFI9-LCFI8
.long L$set$14
.byte 0x2e
.byte 0x10
.align 2
LEFDE2:
.text
Letext0:
.section __DWARF,__debug_loc,regular,debug
Ldebug_loc0:
LLST0:
.set L$set$15,LFB18-Ltext0
.long L$set$15
.set L$set$16,LCFI0-Ltext0
.long L$set$16
.word 0x2
.byte 0x74
.byte 0x4
.set L$set$17,LCFI0-Ltext0
.long L$set$17
.set L$set$18,LCFI1-Ltext0
.long L$set$18
.word 0x2
.byte 0x74
.byte 0x8
.set L$set$19,LCFI1-Ltext0
.long L$set$19
.set L$set$20,LFE18-Ltext0
.long L$set$20
.word 0x2
.byte 0x75
.byte 0x8
.long 0x0
.long 0x0
LLST1:
.set L$set$21,LFB19-Ltext0
.long L$set$21
.set L$set$22,LCFI3-Ltext0
.long L$set$22
.word 0x2
.byte 0x74
.byte 0x4
.set L$set$23,LCFI3-Ltext0
.long L$set$23
.set L$set$24,LCFI4-Ltext0
.long L$set$24
.word 0x2
.byte 0x74
.byte 0x8
.set L$set$25,LCFI4-Ltext0
.long L$set$25
.set L$set$26,LFE19-Ltext0
.long L$set$26
.word 0x2
.byte 0x75
.byte 0x8
.long 0x0
.long 0x0
.section __DWARF,__debug_info,regular,debug
.long 0x21e
.word 0x2
.set L$set$27,Ldebug_abbrev0-Lsection__debug_abbrev
.long L$set$27
.byte 0x4
.byte 0x1
.ascii "GNU C 4.2.1 (Apple Inc. build 5664)\0"
.byte 0x1
.ascii "Q_rsqrt.c\0"
.ascii "/Users/cmiller/Desktop\0"
.byte 0x1
.long Ltext0
.long Letext0
.set L$set$28,Ldebug_line0-Lsection__debug_line
.long L$set$28
.byte 0x2
.byte 0x1
.byte 0x6
.ascii "signed char\0"
.byte 0x2
.byte 0x1
.byte 0x8
.ascii "unsigned char\0"
.byte 0x2
.byte 0x2
.byte 0x5
.ascii "short int\0"
.byte 0x2
.byte 0x2
.byte 0x7
.ascii "short unsigned int\0"
.byte 0x2
.byte 0x4
.byte 0x5
.ascii "int\0"
.byte 0x2
.byte 0x4
.byte 0x7
.ascii "unsigned int\0"
.byte 0x2
.byte 0x8
.byte 0x5
.ascii "long long int\0"
.byte 0x2
.byte 0x8
.byte 0x7
.ascii "long long unsigned int\0"
.byte 0x2
.byte 0x4
.byte 0x5
.ascii "long int\0"
.byte 0x3
.byte 0x4
.byte 0x7
.byte 0x2
.byte 0x1
.byte 0x6
.ascii "char\0"
.byte 0x2
.byte 0x4
.byte 0x7
.ascii "long unsigned int\0"
.byte 0x4
.byte 0x4
.long 0xf3
.byte 0x2
.byte 0x10
.byte 0x4
.ascii "long double\0"
.byte 0x2
.byte 0x8
.byte 0x4
.ascii "double\0"
.byte 0x5
.byte 0x1
.set L$set$29,LASF0-Lsection__debug_str
.long L$set$29
.byte 0x1
.byte 0x6
.byte 0x1
.long 0x193
.long LFB18
.long LFE18
.set L$set$30,LLST0-Lsection__debug_loc
.long L$set$30
.byte 0x1
.long 0x193
.byte 0x6
.ascii "number\0"
.byte 0x1
.byte 0x6
.long 0x193
.byte 0x2
.byte 0x91
.byte 0x0
.byte 0x7
.ascii "i\0"
.byte 0x1
.byte 0x7
.long 0xe4
.byte 0x2
.byte 0x75
.byte 0x7c
.byte 0x8
.ascii "x2\0"
.byte 0x1
.byte 0x8
.long 0x193
.byte 0x7
.ascii "y\0"
.byte 0x1
.byte 0x8
.long 0x193
.byte 0x2
.byte 0x75
.byte 0x78
.byte 0x8
.ascii "threehalfs\0"
.byte 0x1
.byte 0x9
.long 0x19c
.byte 0x0
.byte 0x2
.byte 0x4
.byte 0x4
.ascii "float\0"
.byte 0x9
.long 0x193
.byte 0x5
.byte 0x1
.set L$set$31,LASF1-Lsection__debug_str
.long L$set$31
.byte 0x1
.byte 0x1b
.byte 0x1
.long 0xa2
.long LFB19
.long LFE19
.set L$set$32,LLST1-Lsection__debug_loc
.long L$set$32
.byte 0x1
.long 0x1e7
.byte 0x6
.ascii "argc\0"
.byte 0x1
.byte 0x1b
.long 0xa2
.byte 0x2
.byte 0x91
.byte 0x0
.byte 0x6
.ascii "args\0"
.byte 0x1
.byte 0x1b
.long 0x1e7
.byte 0x2
.byte 0x91
.byte 0x4
.byte 0x8
.ascii "i\0"
.byte 0x1
.byte 0x1c
.long 0x193
.byte 0x0
.byte 0x4
.byte 0x4
.long 0x110
.byte 0xa
.long 0xa2
.long 0x1f8
.byte 0xb
.byte 0x0
.byte 0xc
.ascii "__CFConstantStringClassReference\0"
.long 0x1ed
.byte 0x1
.byte 0x1
.byte 0x1
.byte 0x0
.section __DWARF,__debug_abbrev,regular,debug
.byte 0x1
.byte 0x11
.byte 0x1
.byte 0x25
.byte 0x8
.byte 0x13
.byte 0xb
.byte 0x3
.byte 0x8
.byte 0x1b
.byte 0x8
.byte 0xe1,0x7f
.byte 0xc
.byte 0x11
.byte 0x1
.byte 0x12
.byte 0x1
.byte 0x10
.byte 0x6
.byte 0x0
.byte 0x0
.byte 0x2
.byte 0x24
.byte 0x0
.byte 0xb
.byte 0xb
.byte 0x3e
.byte 0xb
.byte 0x3
.byte 0x8
.byte 0x0
.byte 0x0
.byte 0x3
.byte 0x24
.byte 0x0
.byte 0xb
.byte 0xb
.byte 0x3e
.byte 0xb
.byte 0x0
.byte 0x0
.byte 0x4
.byte 0xf
.byte 0x0
.byte 0xb
.byte 0xb
.byte 0x49
.byte 0x13
.byte 0x0
.byte 0x0
.byte 0x5
.byte 0x2e
.byte 0x1
.byte 0x3f
.byte 0xc
.byte 0x3
.byte 0xe
.byte 0x3a
.byte 0xb
.byte 0x3b
.byte 0xb
.byte 0x27
.byte 0xc
.byte 0x49
.byte 0x13
.byte 0x11
.byte 0x1
.byte 0x12
.byte 0x1
.byte 0x40
.byte 0x6
.byte 0xe1,0x7f
.byte 0xc
.byte 0x1
.byte 0x13
.byte 0x0
.byte 0x0
.byte 0x6
.byte 0x5
.byte 0x0
.byte 0x3
.byte 0x8
.byte 0x3a
.byte 0xb
.byte 0x3b
.byte 0xb
.byte 0x49
.byte 0x13
.byte 0x2
.byte 0xa
.byte 0x0
.byte 0x0
.byte 0x7
.byte 0x34
.byte 0x0
.byte 0x3
.byte 0x8
.byte 0x3a
.byte 0xb
.byte 0x3b
.byte 0xb
.byte 0x49
.byte 0x13
.byte 0x2
.byte 0xa
.byte 0x0
.byte 0x0
.byte 0x8
.byte 0x34
.byte 0x0
.byte 0x3
.byte 0x8
.byte 0x3a
.byte 0xb
.byte 0x3b
.byte 0xb
.byte 0x49
.byte 0x13
.byte 0x0
.byte 0x0
.byte 0x9
.byte 0x26
.byte 0x0
.byte 0x49
.byte 0x13
.byte 0x0
.byte 0x0
.byte 0xa
.byte 0x1
.byte 0x1
.byte 0x49
.byte 0x13
.byte 0x1
.byte 0x13
.byte 0x0
.byte 0x0
.byte 0xb
.byte 0x21
.byte 0x0
.byte 0x0
.byte 0x0
.byte 0xc
.byte 0x34
.byte 0x0
.byte 0x3
.byte 0x8
.byte 0x49
.byte 0x13
.byte 0x3f
.byte 0xc
.byte 0x34
.byte 0xc
.byte 0x3c
.byte 0xc
.byte 0x0
.byte 0x0
.byte 0x0
.section __DWARF,__debug_pubnames,regular,debug
.long 0x23
.word 0x2
.set L$set$33,Ldebug_info0-Lsection__debug_info
.long L$set$33
.long 0x222
.long 0x12f
.ascii "Q_rsqrt\0"
.long 0x1a1
.ascii "main\0"
.long 0x0
.section __DWARF,__debug_pubtypes,regular,debug
.long 0xe
.word 0x2
.set L$set$34,Ldebug_info0-Lsection__debug_info
.long L$set$34
.long 0x222
.long 0x0
.section __DWARF,__debug_aranges,regular,debug
.long 0x1c
.word 0x2
.set L$set$35,Ldebug_info0-Lsection__debug_info
.long L$set$35
.byte 0x4
.byte 0x0
.word 0x0
.word 0x0
.long Ltext0
.set L$set$36,Letext0-Ltext0
.long L$set$36
.long 0x0
.long 0x0
.section __DWARF,__debug_str,regular,debug
LASF1:
.ascii "main\0"
LASF0:
.ascii "Q_rsqrt\0"
.subsections_via_symbols
; made with clang -S -g -O2 Q_rsqrt.c -o Q_rsqrt.llvm.s
.section __TEXT,__text,regular,pure_instructions
.section __DWARF,__debug_frame,regular,debug
Lsection_debug_frame:
.section __DWARF,__debug_info,regular,debug
Lsection_info:
.section __DWARF,__debug_abbrev,regular,debug
Lsection_abbrev:
.section __DWARF,__debug_aranges,regular,debug
.section __DWARF,__debug_macinfo,regular,debug
.section __DWARF,__debug_line,regular,debug
Lsection_line:
.section __DWARF,__debug_loc,regular,debug
.section __DWARF,__debug_pubnames,regular,debug
.section __DWARF,__debug_pubtypes,regular,debug
.section __DWARF,__debug_str,regular,debug
Lsection_str:
.section __DWARF,__debug_ranges,regular,debug
Ldebug_range:
.section __DWARF,__debug_loc,regular,debug
Lsection_debug_loc:
.section __TEXT,__text,regular,pure_instructions
Ltext_begin:
.section __DATA,__data
.section __TEXT,__literal4,4byte_literals
.align 2
LCPI0_0: ## constant pool float
.long 3204448256 ## float -5.000000e-01
LCPI0_1: ## constant pool float
.long 1069547520 ## float 1.500000e+00
.section __TEXT,__text,regular,pure_instructions
.globl _Q_rsqrt
.align 4, 0x90
_Q_rsqrt: ## @Q_rsqrt
Leh_func_begin0:
Lfunc_begin0:
Ltmp2:
## BB#0:
pushq %rbp
Ltmp0:
movq %rsp, %rbp
Ltmp1:
##DEBUG_VALUE: Q_rsqrt:number <- XMM0+0 ## Q_rsqrt.c:6:22
Ltmp3:
##DEBUG_VALUE: Q_rsqrt:number <- XMM0+0 ## Q_rsqrt.c:6:22
Ltmp4:
##DEBUG_VALUE: threehalfs <- 1.500000e+00+0 ## Q_rsqrt.c:9:34
movd %xmm0, %eax
shrl %eax
movl $1597463007, %ecx ## imm = 0x5F3759DF
subl %eax, %ecx
movd %ecx, %xmm1
Ltmp5:
mulss LCPI0_0(%rip), %xmm0 ## Q_rsqrt.c:11:5
Ltmp6:
mulss %xmm1, %xmm0 ## Q_rsqrt.c:16:5
mulss %xmm1, %xmm0 ## Q_rsqrt.c:16:5
addss LCPI0_1(%rip), %xmm0 ## Q_rsqrt.c:16:5
mulss %xmm1, %xmm0 ## Q_rsqrt.c:16:5
Ltmp7:
popq %rbp ## Q_rsqrt.c:24:5
ret ## Q_rsqrt.c:24:5
Ltmp8:
Lfunc_end0:
Leh_func_end0:
.section __TEXT,__literal8,8byte_literals
.align 3
LCPI1_0: ## constant pool double
.quad 4599368272914696463 ## double 3.162278e-01
LCPI1_1: ## constant pool double
.quad 4599358509341999104 ## double 3.156858e-01
.section __TEXT,__text,regular,pure_instructions
.globl _main
.align 4, 0x90
_main: ## @main
Leh_func_begin1:
Lfunc_begin1:
Ltmp11:
## BB#0:
pushq %rbp
Ltmp9:
movq %rsp, %rbp
Ltmp10:
##DEBUG_VALUE: main:argc <- EDI+0 ## Q_rsqrt.c:27:14
##DEBUG_VALUE: main:args <- RSI+0 ## Q_rsqrt.c:27:27
Ltmp12:
##DEBUG_VALUE: i <- 1.000000e+01+0 ## Q_rsqrt.c:28:17
Ltmp13:
leaq L_.str(%rip), %rdi ## Q_rsqrt.c:29:2
movsd LCPI1_0(%rip), %xmm0
movb $1, %al
callq _printf ## Q_rsqrt.c:29:2
Ltmp14:
##DEBUG_VALUE: x2 <- 5.000000e+00+0 ## Q_rsqrt.c:11:5[ Q_rsqrt.c:30:3 ]
Ltmp15:
##DEBUG_VALUE: threehalfs <- 1.500000e+00+0 ## Q_rsqrt.c:9:34[ Q_rsqrt.c:30:3 ]
Ltmp16:
##DEBUG_VALUE: Q_rsqrt:number <- 1.000000e+01+0 ## Q_rsqrt.c:6:22[ Q_rsqrt.c:30:3 ]
Ltmp17:
Ltmp18:
leaq L_.str1(%rip), %rdi ## Q_rsqrt.c:30:3
movsd LCPI1_1(%rip), %xmm0
movb $1, %al
callq _printf ## Q_rsqrt.c:30:3
xorl %eax, %eax
Ltmp19:
popq %rbp ## Q_rsqrt.c:31:3
ret ## Q_rsqrt.c:31:3
Ltmp20:
Lfunc_end1:
Leh_func_end1:
.section __TEXT,__cstring,cstring_literals
L_.str: ## @.str
.asciz "Normal: %f\n"
L_.str1: ## @.str1
.asciz "Fast: %f\n"
.section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
EH_frame0:
Lsection_eh_frame0:
Leh_frame_common0:
Lset0 = Leh_frame_common_end0-Leh_frame_common_begin0 ## Length of Common Information Entry
.long Lset0
Leh_frame_common_begin0:
.long 0 ## CIE Identifier Tag
.byte 1 ## DW_CIE_VERSION
.asciz "zR" ## CIE Augmentation
.byte 1 ## CIE Code Alignment Factor
.byte 120 ## CIE Data Alignment Factor
.byte 16 ## CIE Return Address Column
.byte 1 ## Augmentation Size
.byte 16 ## FDE Encoding = pcrel
.byte 12 ## DW_CFA_def_cfa
.byte 7 ## Register
.byte 8 ## Offset
.byte 144 ## DW_CFA_offset + Reg (16)
.byte 1 ## Offset
.align 3
Leh_frame_common_end0:
.globl _Q_rsqrt.eh
_Q_rsqrt.eh:
Lset1 = Leh_frame_end0-Leh_frame_begin0 ## Length of Frame Information Entry
.long Lset1
Leh_frame_begin0:
Lset2 = Leh_frame_begin0-Leh_frame_common0 ## FDE CIE offset
.long Lset2
Ltmp21: ## FDE initial location
.quad Leh_func_begin0-Ltmp21
Lset3 = Leh_func_end0-Leh_func_begin0 ## FDE address range
.quad Lset3
.byte 0 ## Augmentation size
.byte 4 ## DW_CFA_advance_loc4
Lset4 = Ltmp0-Leh_func_begin0
.long Lset4
.byte 14 ## DW_CFA_def_cfa_offset
.byte 16 ## Offset
.byte 134 ## DW_CFA_offset + Reg (6)
.byte 2 ## Offset
.byte 4 ## DW_CFA_advance_loc4
Lset5 = Ltmp1-Ltmp0
.long Lset5
.byte 13 ## DW_CFA_def_cfa_register
.byte 6 ## Register
.align 3
Leh_frame_end0:
.globl _main.eh
_main.eh:
Lset6 = Leh_frame_end1-Leh_frame_begin1 ## Length of Frame Information Entry
.long Lset6
Leh_frame_begin1:
Lset7 = Leh_frame_begin1-Leh_frame_common0 ## FDE CIE offset
.long Lset7
Ltmp22: ## FDE initial location
.quad Leh_func_begin1-Ltmp22
Lset8 = Leh_func_end1-Leh_func_begin1 ## FDE address range
.quad Lset8
.byte 0 ## Augmentation size
.byte 4 ## DW_CFA_advance_loc4
Lset9 = Ltmp9-Leh_func_begin1
.long Lset9
.byte 14 ## DW_CFA_def_cfa_offset
.byte 16 ## Offset
.byte 134 ## DW_CFA_offset + Reg (6)
.byte 2 ## Offset
.byte 4 ## DW_CFA_advance_loc4
Lset10 = Ltmp10-Ltmp9
.long Lset10
.byte 13 ## DW_CFA_def_cfa_register
.byte 6 ## Register
.align 3
Leh_frame_end1:
.section __TEXT,__text,regular,pure_instructions
Ltext_end:
.section __DATA,__data
Ldata_end:
.section __TEXT,__text,regular,pure_instructions
Lsection_end1:
.section __DWARF,__debug_frame,regular,debug
Ldebug_frame_common:
Lset11 = Ldebug_frame_common_end-Ldebug_frame_common_begin ## Length of Common Information Entry
.long Lset11
Ldebug_frame_common_begin:
.long 4294967295 ## CIE Identifier Tag
.byte 1 ## CIE Version
.byte 0 ## CIE Augmentation
.byte 1 ## CIE Code Alignment Factor
.byte 120 ## CIE Data Alignment Factor
.byte 16 ## CIE RA Column
.byte 12 ## DW_CFA_def_cfa
.byte 7 ## Register
.byte 8 ## Offset
.byte 144 ## DW_CFA_offset + Reg (16)
.byte 1 ## Offset
.align 2
Ldebug_frame_common_end:
Lset12 = Ldebug_frame_end0-Ldebug_frame_begin0 ## Length of Frame Information Entry
.long Lset12
Ldebug_frame_begin0:
Lset13 = Ldebug_frame_common-Lsection_debug_frame ## FDE CIE offset
.long Lset13
.quad Lfunc_begin0 ## FDE initial location
Lset14 = Lfunc_end0-Lfunc_begin0 ## FDE address range
.quad Lset14
.byte 4 ## DW_CFA_advance_loc4
Lset15 = Ltmp0-Lfunc_begin0
.long Lset15
.byte 14 ## DW_CFA_def_cfa_offset
.byte 16 ## Offset
.byte 134 ## DW_CFA_offset + Reg (6)
.byte 2 ## Offset
.byte 4 ## DW_CFA_advance_loc4
Lset16 = Ltmp1-Ltmp0
.long Lset16
.byte 13 ## DW_CFA_def_cfa_register
.byte 6 ## Register
.align 2
Ldebug_frame_end0:
Lset17 = Ldebug_frame_end1-Ldebug_frame_begin1 ## Length of Frame Information Entry
.long Lset17
Ldebug_frame_begin1:
Lset18 = Ldebug_frame_common-Lsection_debug_frame ## FDE CIE offset
.long Lset18
.quad Lfunc_begin1 ## FDE initial location
Lset19 = Lfunc_end1-Lfunc_begin1 ## FDE address range
.quad Lset19
.byte 4 ## DW_CFA_advance_loc4
Lset20 = Ltmp9-Lfunc_begin1
.long Lset20
.byte 14 ## DW_CFA_def_cfa_offset
.byte 16 ## Offset
.byte 134 ## DW_CFA_offset + Reg (6)
.byte 2 ## Offset
.byte 4 ## DW_CFA_advance_loc4
Lset21 = Ltmp10-Ltmp9
.long Lset21
.byte 13 ## DW_CFA_def_cfa_register
.byte 6 ## Register
.align 2
Ldebug_frame_end1:
.section __DWARF,__debug_info,regular,debug
Linfo_begin1:
.long 552 ## Length of Compilation Unit Info
.short 2 ## DWARF version number
Lset22 = Labbrev_begin-Lsection_abbrev ## Offset Into Abbrev. Section
.long Lset22
.byte 8 ## Address Size (in bytes)
.byte 1 ## Abbrev [1] 0xb:0x21d DW_TAG_compile_unit
.ascii "Apple clang version 2.0 (tags/Apple/clang-139) (based on LLVM 2.9svn)" ## DW_AT_producer
.byte 0
.byte 12 ## DW_AT_language
.ascii "Q_rsqrt.c" ## DW_AT_name
.byte 0
.quad 0 ## DW_AT_entry_pc
.long 0 ## DW_AT_stmt_list
.ascii "/Users/cmiller/Desktop/508767" ## DW_AT_comp_dir
.byte 0
.byte 1 ## DW_AT_APPLE_optimized
.byte 2 ## Abbrev [2] 0x88:0x9 DW_TAG_base_type
.byte 4 ## DW_AT_encoding
.ascii "float" ## DW_AT_name
.byte 0
.byte 4 ## DW_AT_byte_size
.byte 3 ## Abbrev [3] 0x91:0x86 DW_TAG_subprogram
.long 279 ## DW_AT_sibling
.ascii "Q_rsqrt" ## DW_AT_name
.byte 0
.byte 1 ## DW_AT_decl_file
.byte 6 ## DW_AT_decl_line
.byte 1 ## DW_AT_prototyped
.long 136 ## DW_AT_type
.byte 1 ## DW_AT_external
.quad Lfunc_begin0 ## DW_AT_low_pc
.quad Lfunc_end0 ## DW_AT_high_pc
.byte 1 ## DW_AT_frame_base
.byte 86
.byte 1 ## DW_AT_inline
.byte 4 ## Abbrev [4] 0xb9:0x10 DW_TAG_formal_parameter
.ascii "number" ## DW_AT_name
.byte 0
.byte 1 ## DW_AT_decl_file
.byte 6 ## DW_AT_decl_line
.long 136 ## DW_AT_type
.byte 1 ## DW_AT_location
.byte 97
.byte 5 ## Abbrev [5] 0xc9:0x4d DW_TAG_lexical_block
.quad Ltmp4 ## DW_AT_low_pc
.quad Ltmp8 ## DW_AT_high_pc
.byte 6 ## Abbrev [6] 0xda:0x1f DW_TAG_variable
.ascii "threehalfs" ## DW_AT_name
.byte 0
.byte 1 ## DW_AT_decl_file
.byte 9 ## DW_AT_decl_line
.long 496 ## DW_AT_type
.byte 4 ## DW_AT_const_value
.byte 0
.byte 0
.byte 192
.byte 63
.quad Ltmp4 ## DW_AT_start_scope
.byte 7 ## Abbrev [7] 0xf9:0x9 DW_TAG_variable
.byte 105 ## DW_AT_name
.byte 0
.byte 1 ## DW_AT_decl_file
.byte 7 ## DW_AT_decl_line
.long 519 ## DW_AT_type
.byte 7 ## Abbrev [7] 0x102:0xa DW_TAG_variable
.ascii "x2" ## DW_AT_name
.byte 0
.byte 1 ## DW_AT_decl_file
.byte 8 ## DW_AT_decl_line
.long 136 ## DW_AT_type
.byte 7 ## Abbrev [7] 0x10c:0x9 DW_TAG_variable
.byte 121 ## DW_AT_name
.byte 0
.byte 1 ## DW_AT_decl_file
.byte 8 ## DW_AT_decl_line
.long 136 ## DW_AT_type
.byte 0 ## End Of Children Mark
.byte 0 ## End Of Children Mark
.byte 2 ## Abbrev [2] 0x117:0x7 DW_TAG_base_type
.byte 5 ## DW_AT_encoding
.ascii "int" ## DW_AT_name
.byte 0
.byte 4 ## DW_AT_byte_size
.byte 8 ## Abbrev [8] 0x11e:0xd2 DW_TAG_subprogram
.long 496 ## DW_AT_sibling
.ascii "main" ## DW_AT_name
.byte 0
.byte 1 ## DW_AT_decl_file
.byte 27 ## DW_AT_decl_line
.byte 1 ## DW_AT_prototyped
.long 279 ## DW_AT_type
.byte 1 ## DW_AT_external
.quad Lfunc_begin1 ## DW_AT_low_pc
.quad Lfunc_end1 ## DW_AT_high_pc
.byte 1 ## DW_AT_frame_base
.byte 86
.byte 4 ## Abbrev [4] 0x142:0xe DW_TAG_formal_parameter
.ascii "argc" ## DW_AT_name
.byte 0
.byte 1 ## DW_AT_decl_file
.byte 27 ## DW_AT_decl_line
.long 279 ## DW_AT_type
.byte 1 ## DW_AT_location
.byte 85
.byte 4 ## Abbrev [4] 0x150:0xe DW_TAG_formal_parameter
.ascii "args" ## DW_AT_name
.byte 0
.byte 1 ## DW_AT_decl_file
.byte 27 ## DW_AT_decl_line
.long 545 ## DW_AT_type
.byte 1 ## DW_AT_location
.byte 84
.byte 5 ## Abbrev [5] 0x15e:0x91 DW_TAG_lexical_block
.quad Ltmp12 ## DW_AT_low_pc
.quad Ltmp20 ## DW_AT_high_pc
.byte 6 ## Abbrev [6] 0x16f:0x16 DW_TAG_variable
.byte 105 ## DW_AT_name
.byte 0
.byte 1 ## DW_AT_decl_file
.byte 28 ## DW_AT_decl_line
.long 136 ## DW_AT_type
.byte 4 ## DW_AT_const_value
.byte 0
.byte 0
.byte 32
.byte 65
.quad Ltmp12 ## DW_AT_start_scope
.byte 9 ## Abbrev [9] 0x185:0x69 DW_TAG_inlined_subroutine
.long 145 ## DW_AT_abstract_origin
.quad Ltmp14 ## DW_AT_low_pc
.quad Ltmp17 ## DW_AT_high_pc
.byte 1 ## DW_AT_call_file
.byte 30 ## DW_AT_call_line
.byte 6 ## Abbrev [6] 0x19c:0x17 DW_TAG_variable
.ascii "x2" ## DW_AT_name
.byte 0
.byte 1 ## DW_AT_decl_file
.byte 8 ## DW_AT_decl_line
.long 136 ## DW_AT_type
.byte 4 ## DW_AT_const_value
.byte 0
.byte 0
.byte 160
.byte 64
.quad Ltmp14 ## DW_AT_start_scope
.byte 6 ## Abbrev [6] 0x1b3:0x1f DW_TAG_variable
.ascii "threehalfs" ## DW_AT_name
.byte 0
.byte 1 ## DW_AT_decl_file
.byte 9 ## DW_AT_decl_line
.long 496 ## DW_AT_type
.byte 4 ## DW_AT_const_value
.byte 0
.byte 0
.byte 192
.byte 63
.quad Ltmp15 ## DW_AT_start_scope
.byte 10 ## Abbrev [10] 0x1d2:0x1b DW_TAG_formal_parameter
.ascii "number" ## DW_AT_name
.byte 0
.byte 1 ## DW_AT_decl_file
.byte 6 ## DW_AT_decl_line
.long 136 ## DW_AT_type
.byte 4 ## DW_AT_const_value
.byte 0
.byte 0
.byte 32
.byte 65
.quad Ltmp16 ## DW_AT_start_scope
.byte 0 ## End Of Children Mark
.byte 0 ## End Of Children Mark
.byte 0 ## End Of Children Mark
.byte 11 ## Abbrev [11] 0x1f0:0x5 DW_TAG_const_type
.long 136 ## DW_AT_type
.byte 12 ## Abbrev [12] 0x1f5:0x12 DW_TAG_variable
.ascii "threehalfs" ## DW_AT_name
.byte 0
.long 496 ## DW_AT_type
.byte 1 ## DW_AT_decl_file
.byte 9 ## DW_AT_decl_line
.byte 2 ## Abbrev [2] 0x207:0xc DW_TAG_base_type
.byte 5 ## DW_AT_encoding
.ascii "long int" ## DW_AT_name
.byte 0
.byte 8 ## DW_AT_byte_size
.byte 2 ## Abbrev [2] 0x213:0x8 DW_TAG_base_type
.byte 6 ## DW_AT_encoding
.ascii "char" ## DW_AT_name
.byte 0
.byte 1 ## DW_AT_byte_size
.byte 13 ## Abbrev [13] 0x21b:0x6 DW_TAG_pointer_type
.long 531 ## DW_AT_type
.byte 8 ## DW_AT_byte_size
.byte 13 ## Abbrev [13] 0x221:0x6 DW_TAG_pointer_type
.long 539 ## DW_AT_type
.byte 8 ## DW_AT_byte_size
.byte 0 ## End Of Children Mark
.byte 0 ## 4 extra padding bytes for GDB
.byte 0
.byte 0
.byte 0
Linfo_end1:
.section __DWARF,__debug_abbrev,regular,debug
Labbrev_begin:
.byte 1 ## Abbreviation Code
.byte 17 ## DW_TAG_compile_unit
.byte 1 ## DW_CHILDREN_yes
.byte 37 ## DW_AT_producer
.byte 8 ## DW_FORM_string
.byte 19 ## DW_AT_language
.byte 11 ## DW_FORM_data1
.byte 3 ## DW_AT_name
.byte 8 ## DW_FORM_string
.byte 82 ## DW_AT_entry_pc
.byte 1 ## DW_FORM_addr
.byte 16 ## DW_AT_stmt_list
.byte 6 ## DW_FORM_data4
.byte 27 ## DW_AT_comp_dir
.byte 8 ## DW_FORM_string
.byte 225 ## DW_AT_APPLE_optimized
.byte 127
.byte 12 ## DW_FORM_flag
.byte 0 ## EOM(1)
.byte 0 ## EOM(2)
.byte 2 ## Abbreviation Code
.byte 36 ## DW_TAG_base_type
.byte 0 ## DW_CHILDREN_no
.byte 62 ## DW_AT_encoding
.byte 11 ## DW_FORM_data1
.byte 3 ## DW_AT_name
.byte 8 ## DW_FORM_string
.byte 11 ## DW_AT_byte_size
.byte 11 ## DW_FORM_data1
.byte 0 ## EOM(1)
.byte 0 ## EOM(2)
.byte 3 ## Abbreviation Code
.byte 46 ## DW_TAG_subprogram
.byte 1 ## DW_CHILDREN_yes
.byte 1 ## DW_AT_sibling
.byte 19 ## DW_FORM_ref4
.byte 3 ## DW_AT_name
.byte 8 ## DW_FORM_string
.byte 58 ## DW_AT_decl_file
.byte 11 ## DW_FORM_data1
.byte 59 ## DW_AT_decl_line
.byte 11 ## DW_FORM_data1
.byte 39 ## DW_AT_prototyped
.byte 12 ## DW_FORM_flag
.byte 73 ## DW_AT_type
.byte 19 ## DW_FORM_ref4
.byte 63 ## DW_AT_external
.byte 12 ## DW_FORM_flag
.byte 17 ## DW_AT_low_pc
.byte 1 ## DW_FORM_addr
.byte 18 ## DW_AT_high_pc
.byte 1 ## DW_FORM_addr
.byte 64 ## DW_AT_frame_base
.byte 10 ## DW_FORM_block1
.byte 32 ## DW_AT_inline
.byte 11 ## DW_FORM_data1
.byte 0 ## EOM(1)
.byte 0 ## EOM(2)
.byte 4 ## Abbreviation Code
.byte 5 ## DW_TAG_formal_parameter
.byte 0 ## DW_CHILDREN_no
.byte 3 ## DW_AT_name
.byte 8 ## DW_FORM_string
.byte 58 ## DW_AT_decl_file
.byte 11 ## DW_FORM_data1
.byte 59 ## DW_AT_decl_line
.byte 11 ## DW_FORM_data1
.byte 73 ## DW_AT_type
.byte 19 ## DW_FORM_ref4
.byte 2 ## DW_AT_location
.byte 10 ## DW_FORM_block1
.byte 0 ## EOM(1)
.byte 0 ## EOM(2)
.byte 5 ## Abbreviation Code
.byte 11 ## DW_TAG_lexical_block
.byte 1 ## DW_CHILDREN_yes
.byte 17 ## DW_AT_low_pc
.byte 1 ## DW_FORM_addr
.byte 18 ## DW_AT_high_pc
.byte 1 ## DW_FORM_addr
.byte 0 ## EOM(1)
.byte 0 ## EOM(2)
.byte 6 ## Abbreviation Code
.byte 52 ## DW_TAG_variable
.byte 0 ## DW_CHILDREN_no
.byte 3 ## DW_AT_name
.byte 8 ## DW_FORM_string
.byte 58 ## DW_AT_decl_file
.byte 11 ## DW_FORM_data1
.byte 59 ## DW_AT_decl_line
.byte 11 ## DW_FORM_data1
.byte 73 ## DW_AT_type
.byte 19 ## DW_FORM_ref4
.byte 28 ## DW_AT_const_value
.byte 10 ## DW_FORM_block1
.byte 44 ## DW_AT_start_scope
.byte 1 ## DW_FORM_addr
.byte 0 ## EOM(1)
.byte 0 ## EOM(2)
.byte 7 ## Abbreviation Code
.byte 52 ## DW_TAG_variable
.byte 0 ## DW_CHILDREN_no
.byte 3 ## DW_AT_name
.byte 8 ## DW_FORM_string
.byte 58 ## DW_AT_decl_file
.byte 11 ## DW_FORM_data1
.byte 59 ## DW_AT_decl_line
.byte 11 ## DW_FORM_data1
.byte 73 ## DW_AT_type
.byte 19 ## DW_FORM_ref4
.byte 0 ## EOM(1)
.byte 0 ## EOM(2)
.byte 8 ## Abbreviation Code
.byte 46 ## DW_TAG_subprogram
.byte 1 ## DW_CHILDREN_yes
.byte 1 ## DW_AT_sibling
.byte 19 ## DW_FORM_ref4
.byte 3 ## DW_AT_name
.byte 8 ## DW_FORM_string
.byte 58 ## DW_AT_decl_file
.byte 11 ## DW_FORM_data1
.byte 59 ## DW_AT_decl_line
.byte 11 ## DW_FORM_data1
.byte 39 ## DW_AT_prototyped
.byte 12 ## DW_FORM_flag
.byte 73 ## DW_AT_type
.byte 19 ## DW_FORM_ref4
.byte 63 ## DW_AT_external
.byte 12 ## DW_FORM_flag
.byte 17 ## DW_AT_low_pc
.byte 1 ## DW_FORM_addr
.byte 18 ## DW_AT_high_pc
.byte 1 ## DW_FORM_addr
.byte 64 ## DW_AT_frame_base
.byte 10 ## DW_FORM_block1
.byte 0 ## EOM(1)
.byte 0 ## EOM(2)
.byte 9 ## Abbreviation Code
.byte 29 ## DW_TAG_inlined_subroutine
.byte 1 ## DW_CHILDREN_yes
.byte 49 ## DW_AT_abstract_origin
.byte 19 ## DW_FORM_ref4
.byte 17 ## DW_AT_low_pc
.byte 1 ## DW_FORM_addr
.byte 18 ## DW_AT_high_pc
.byte 1 ## DW_FORM_addr
.byte 88 ## DW_AT_call_file
.byte 11 ## DW_FORM_data1
.byte 89 ## DW_AT_call_line
.byte 11 ## DW_FORM_data1
.byte 0 ## EOM(1)
.byte 0 ## EOM(2)
.byte 10 ## Abbreviation Code
.byte 5 ## DW_TAG_formal_parameter
.byte 0 ## DW_CHILDREN_no
.byte 3 ## DW_AT_name
.byte 8 ## DW_FORM_string
.byte 58 ## DW_AT_decl_file
.byte 11 ## DW_FORM_data1
.byte 59 ## DW_AT_decl_line
.byte 11 ## DW_FORM_data1
.byte 73 ## DW_AT_type
.byte 19 ## DW_FORM_ref4
.byte 28 ## DW_AT_const_value
.byte 10 ## DW_FORM_block1
.byte 44 ## DW_AT_start_scope
.byte 1 ## DW_FORM_addr
.byte 0 ## EOM(1)
.byte 0 ## EOM(2)
.byte 11 ## Abbreviation Code
.byte 38 ## DW_TAG_const_type
.byte 0 ## DW_CHILDREN_no
.byte 73 ## DW_AT_type
.byte 19 ## DW_FORM_ref4
.byte 0 ## EOM(1)
.byte 0 ## EOM(2)
.byte 12 ## Abbreviation Code
.byte 52 ## DW_TAG_variable
.byte 0 ## DW_CHILDREN_no
.byte 3 ## DW_AT_name
.byte 8 ## DW_FORM_string
.byte 73 ## DW_AT_type
.byte 19 ## DW_FORM_ref4
.byte 58 ## DW_AT_decl_file
.byte 11 ## DW_FORM_data1
.byte 59 ## DW_AT_decl_line
.byte 11 ## DW_FORM_data1
.byte 0 ## EOM(1)
.byte 0 ## EOM(2)
.byte 13 ## Abbreviation Code
.byte 15 ## DW_TAG_pointer_type
.byte 0 ## DW_CHILDREN_no
.byte 73 ## DW_AT_type
.byte 19 ## DW_FORM_ref4
.byte 11 ## DW_AT_byte_size
.byte 11 ## DW_FORM_data1
.byte 0 ## EOM(1)
.byte 0 ## EOM(2)
.byte 0 ## EOM(3)
Labbrev_end:
.section __DWARF,__debug_line,regular,debug
Lset23 = Lline_end-Lline_begin ## Length of Source Line Info
.long Lset23
Lline_begin:
.short 2 ## DWARF version number
Lset24 = Lline_prolog_end-Lline_prolog_begin ## Prolog Length
.long Lset24
Lline_prolog_begin:
.byte 1 ## Minimum Instruction Length
.byte 1 ## Default is_stmt_start flag
.byte 246 ## Line Base Value (Special Opcodes)
.byte 245 ## Line Range Value (Special Opcodes)
.byte 10 ## Special Opcode Base
.byte 0 ## DW_LNS_copy arg count
.byte 1 ## DW_LNS_advance_pc arg count
.byte 1 ## DW_LNS_advance_line arg count
.byte 1 ## DW_LNS_set_file arg count
.byte 1 ## DW_LNS_set_column arg count
.byte 0 ## DW_LNS_negate_stmt arg count
.byte 0 ## DW_LNS_set_basic_block arg count
.byte 0 ## DW_LNS_const_add_pc arg count
.byte 1 ## DW_LNS_fixed_advance_pc arg count
.asciz "/Users/cmiller/Desktop/508767" ## Directory
.byte 0 ## End of directories
.asciz "Q_rsqrt.c" ## Source
.byte 1 ## Directory #
.byte 0 ## Mod date
.byte 0 ## File size
.byte 0 ## End of files
Lline_prolog_end:
.byte 0 ## /Users/cmiller/Desktop/508767/Q_rsqrt.c:6
## Extended Op
.byte 9 ## Op size
.byte 2 ## DW_LNE_set_address
.quad Ltmp2 ## Location label
.byte 25 ## Line Delta
.byte 0 ## /Users/cmiller/Desktop/508767/Q_rsqrt.c:6
## Extended Op
.byte 9 ## Op size
.byte 2 ## DW_LNE_set_address
.quad Ltmp3 ## Location label
.byte 1 ## DW_LNS_copy
.byte 0 ## /Users/cmiller/Desktop/508767/Q_rsqrt.c:9
## Extended Op
.byte 9 ## Op size
.byte 2 ## DW_LNE_set_address
.quad Ltmp4 ## Location label
.byte 23 ## Line Delta
.byte 0 ## /Users/cmiller/Desktop/508767/Q_rsqrt.c:11
## Extended Op
.byte 9 ## Op size
.byte 2 ## DW_LNE_set_address
.quad Ltmp5 ## Location label
.byte 22 ## Line Delta
.byte 0 ## /Users/cmiller/Desktop/508767/Q_rsqrt.c:16
## Extended Op
.byte 9 ## Op size
.byte 2 ## DW_LNE_set_address
.quad Ltmp6 ## Location label
.byte 25 ## Line Delta
.byte 0 ## /Users/cmiller/Desktop/508767/Q_rsqrt.c:24
## Extended Op
.byte 9 ## Op size
.byte 2 ## DW_LNE_set_address
.quad Ltmp7 ## Location label
.byte 28 ## Line Delta
.byte 0 ## /Users/cmiller/Desktop/508767/Q_rsqrt.c:27
## Extended Op
.byte 9 ## Op size
.byte 2 ## DW_LNE_set_address
.quad Ltmp11 ## Location label
.byte 23 ## Line Delta
.byte 0 ## /Users/cmiller/Desktop/508767/Q_rsqrt.c:28
## Extended Op
.byte 9 ## Op size
.byte 2 ## DW_LNE_set_address
.quad Ltmp12 ## Location label
.byte 21 ## Line Delta
.byte 0 ## /Users/cmiller/Desktop/508767/Q_rsqrt.c:29
## Extended Op
.byte 9 ## Op size
.byte 2 ## DW_LNE_set_address
.quad Ltmp13 ## Location label
.byte 21 ## Line Delta
.byte 0 ## /Users/cmiller/Desktop/508767/Q_rsqrt.c:11
## Extended Op
.byte 9 ## Op size
.byte 2 ## DW_LNE_set_address
.quad Ltmp14 ## Location label
.byte 3 ## DW_LNS_advance_line
.byte 110 ## Line Offset
.byte 1 ## DW_LNS_copy
.byte 0 ## /Users/cmiller/Desktop/508767/Q_rsqrt.c:9
## Extended Op
.byte 9 ## Op size
.byte 2 ## DW_LNE_set_address
.quad Ltmp15 ## Location label
.byte 18 ## Line Delta
.byte 0 ## /Users/cmiller/Desktop/508767/Q_rsqrt.c:6
## Extended Op
.byte 9 ## Op size
.byte 2 ## DW_LNE_set_address
.quad Ltmp16 ## Location label
.byte 17 ## Line Delta
.byte 0 ## /Users/cmiller/Desktop/508767/Q_rsqrt.c:30
## Extended Op
.byte 9 ## Op size
.byte 2 ## DW_LNE_set_address
.quad Ltmp18 ## Location label
.byte 44 ## Line Delta
.byte 0 ## /Users/cmiller/Desktop/508767/Q_rsqrt.c:31
## Extended Op
.byte 9 ## Op size
.byte 2 ## DW_LNE_set_address
.quad Ltmp19 ## Location label
.byte 21 ## Line Delta
.byte 0 ## Extended Op
.byte 9 ## Op size
.byte 2 ## DW_LNE_set_address
.quad Lsection_end1 ## Section end label
.byte 0 ## DW_LNE_end_sequence
.byte 1
.byte 1
Lline_end:
.section __DWARF,__debug_pubnames,regular,debug
Lset25 = Lpubnames_end1-Lpubnames_begin1 ## Length of Public Names Info
.long Lset25
Lpubnames_begin1:
.short 2 ## DWARF Version
Lset26 = Linfo_begin1-Lsection_info ## Offset of Compilation Unit Info
.long Lset26
Lset27 = Linfo_end1-Linfo_begin1 ## Compilation Unit Length
.long Lset27
.long 286 ## DIE offset
.asciz "main" ## External Name
.long 145 ## DIE offset
.asciz "Q_rsqrt" ## External Name
.long 0 ## End Mark
Lpubnames_end1:
.section __DWARF,__debug_pubtypes,regular,debug
Lset28 = Lpubtypes_end1-Lpubtypes_begin1 ## Length of Public Types Info
.long Lset28
Lpubtypes_begin1:
.short 2 ## DWARF Version
Lset29 = Linfo_begin1-Lsection_info ## Offset of Compilation Unit Info
.long Lset29
Lset30 = Linfo_end1-Linfo_begin1 ## Compilation Unit Length
.long Lset30
.long 0 ## End Mark
Lpubtypes_end1:
.section __DWARF,__debug_aranges,regular,debug
.section __DWARF,__debug_ranges,regular,debug
.section __DWARF,__debug_macinfo,regular,debug
.section __DWARF,__debug_inlined,regular,debug
Lset31 = Ldebug_inlined_end1-Ldebug_inlined_begin1 ## Length of Debug Inlined Information Entry
.long Lset31
Ldebug_inlined_begin1:
.short 2 ## Dwarf Version
.byte 8 ## Address Size (in bytes)
.ascii "Q_rsqrt" ## MIPS linkage name
.byte 0
Lset32 = Lstring0-Lsection_str ## Function name
.long Lset32
.byte 1 ## Inline count
.long 389 ## DIE offset
.quad Ltmp14 ## low_pc
Ldebug_inlined_end1:
.section __DWARF,__debug_str,regular,debug
Lstring0:
.ascii "Q_rsqrt"
.subsections_via_symbols
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment