Advertisement
rg8032

Assembly of Core/SPU.cpp:872-913(DeSmuMe r4297)(Xcode 4.3.1)

Jul 4th, 2012
37
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     .section    __TEXT,__literal8,8byte_literals
  2.     .align  3
  3. LCPI165_0:
  4.     .quad   4607182418800017408     ## double 1.000000e+00
  5.     .section    __TEXT,__text,regular,pure_instructions
  6.     .align  4, 0x90
  7. __ZL14FetchADPCMDataIL20SPUInterpolationMode2EEvP14channel_structPi: ## @_ZL14FetchADPCMDataIL20SPUInterpolationMode2EEvP14channel_structPi
  8. Ltmp1860:
  9.     .cfi_startproc
  10. Lfunc_begin165:
  11.     .loc    1 873 0                 ## /Users/ryan/Downloads/trunk/desmume/src/cocoa/../SPU.cpp:873:0
  12. ## BB#0:
  13.     pushq   %rbp
  14. Ltmp1861:
  15.     .cfi_def_cfa_offset 16
  16. Ltmp1862:
  17.     .cfi_offset %rbp, -16
  18.     movq    %rsp, %rbp
  19. Ltmp1863:
  20.     .cfi_def_cfa_register %rbp
  21.     pushq   %rbx
  22.     subq    $264, %rsp              ## imm = 0x108
  23. Ltmp1864:
  24.     .cfi_offset %rbx, -24
  25.     movabsq $8, %rax
  26.     cvtsi2sdq   %rax, %xmm0
  27.     movq    %rdi, -216(%rbp)
  28.     movq    %rsi, -224(%rbp)
  29.     .loc    1 874 2 prologue_end    ## /Users/ryan/Downloads/trunk/desmume/src/cocoa/../SPU.cpp:874:2
  30. Ltmp1865:
  31.     movq    -216(%rbp), %rax
  32.     ucomisd 40(%rax), %xmm0
  33.     jbe LBB165_2
  34. ## BB#1:
  35.     .loc    1 876 3                 ## /Users/ryan/Downloads/trunk/desmume/src/cocoa/../SPU.cpp:876:3
  36. Ltmp1866:
  37.     movq    -224(%rbp), %rax
  38.     movl    $0, (%rax)
  39.     .loc    1 877 3                 ## /Users/ryan/Downloads/trunk/desmume/src/cocoa/../SPU.cpp:877:3
  40.     jmp LBB165_14
  41. Ltmp1867:
  42. LBB165_2:
  43.     .loc    1 881 3                 ## /Users/ryan/Downloads/trunk/desmume/src/cocoa/../SPU.cpp:881:3
  44.     movq    -216(%rbp), %rax
  45.     movl    56(%rax), %ecx
  46.     .loc    1 881 28                ## /Users/ryan/Downloads/trunk/desmume/src/cocoa/../SPU.cpp:881:28
  47.     movsd   40(%rax), %xmm0
  48.     movsd   %xmm0, -208(%rbp)
  49.     movsd   %xmm0, -200(%rbp)
  50.     movsd   %xmm0, -168(%rbp)
  51.                                         ## implicit-def: XMM1
  52.     movaps  %xmm0, %xmm1
  53.     movq    %xmm1, %xmm0
  54.     movapd  %xmm0, -192(%rbp)
  55.     movapd  %xmm0, -160(%rbp)
  56.     cvttsd2si   %xmm0, %edx
  57.     cmpl    %edx, %ecx
  58.     je  LBB165_13
  59. ## BB#3:
  60.     movabsq $8, %rax
  61.     cvtsi2sdq   %rax, %xmm0
  62.     movq    -216(%rbp), %rax
  63.     movsd   40(%rax), %xmm1
  64.     ucomisd %xmm0, %xmm1
  65.     jbe LBB165_13
  66. ## BB#4:
  67. Ltmp1868:
  68.     ##DEBUG_VALUE: endExclusive <- [%rbp+$-228]+$0
  69.     .loc    1 883 29                ## /Users/ryan/Downloads/trunk/desmume/src/cocoa/../SPU.cpp:883:29
  70.     movq    -216(%rbp), %rax
  71.     movsd   40(%rax), %xmm0
  72.     movsd   LCPI165_0(%rip), %xmm1
  73.     addsd   %xmm0, %xmm1
  74.     movsd   %xmm1, -144(%rbp)
  75.     movsd   %xmm1, -136(%rbp)
  76.     movsd   %xmm1, -104(%rbp)
  77.                                         ## implicit-def: XMM0
  78.     movaps  %xmm1, %xmm0
  79.     movq    %xmm0, %xmm0
  80.     movapd  %xmm0, -128(%rbp)
  81.     movapd  %xmm0, -96(%rbp)
  82.     cvttsd2si   %xmm0, %ecx
  83.     movl    %ecx, -228(%rbp)
  84.     .loc    1 884 36                ## /Users/ryan/Downloads/trunk/desmume/src/cocoa/../SPU.cpp:884:36
  85. Ltmp1869:
  86.     movq    -216(%rbp), %rax
  87.     movl    56(%rax), %ecx
  88.     addl    $1, %ecx
  89.     movl    %ecx, -232(%rbp)
  90. LBB165_5:                               ## =>This Inner Loop Header: Depth=1
  91.     movl    -232(%rbp), %eax
  92.     cmpl    -228(%rbp), %eax
  93.     jae LBB165_12
  94. ## BB#6:                                ##   in Loop: Header=BB165_5 Depth=1
  95.     .loc    1 886 31                ## /Users/ryan/Downloads/trunk/desmume/src/cocoa/../SPU.cpp:886:31
  96. Ltmp1870:
  97.     movl    -232(%rbp), %eax
  98.     andl    $1, %eax
  99.     shll    $2, %eax
  100.     movl    %eax, -236(%rbp)
  101.     .loc    1 887 32                ## /Users/ryan/Downloads/trunk/desmume/src/cocoa/../SPU.cpp:887:32
  102.     movq    -216(%rbp), %rcx
  103.     movl    16(%rcx), %eax
  104.     movl    -232(%rbp), %edx
  105.     shrl    $1, %edx
  106.     addl    %eax, %edx
  107.     movl    %edx, %edi
  108.     callq   __ZL6read08j
  109.     movl    $4294934528, %esi       ## imm = 0xFFFF8000
  110.     movl    $32767, %edx            ## imm = 0x7FFF
  111.     leaq    __ZL15precalcindextbl(%rip), %rcx
  112.     leaq    __ZL14precalcdifftbl(%rip), %r8
  113.     movzbl  %al, %edi
  114.     movl    -236(%rbp), %r9d
  115.     movq    %rcx, -256(%rbp)        ## 8-byte Spill
  116.     movl    %r9d, %ecx
  117.                                         ## kill: CL<def> ECX<kill>
  118.     shrl    %cl, %edi
  119.     movl    %edi, -240(%rbp)
  120.     .loc    1 889 65                ## /Users/ryan/Downloads/trunk/desmume/src/cocoa/../SPU.cpp:889:65
  121.     movl    -240(%rbp), %edi
  122.     andl    $15, %edi
  123.     movl    %edi, %r10d
  124.     movq    -216(%rbp), %r11
  125.     movslq  68(%r11), %r11
  126.     shlq    $6, %r11
  127.     addq    %r8, %r11
  128.     movl    (%r11,%r10,4), %edi
  129.     movl    %edi, -244(%rbp)
  130.     .loc    1 890 5                 ## /Users/ryan/Downloads/trunk/desmume/src/cocoa/../SPU.cpp:890:5
  131.     movl    -240(%rbp), %edi
  132.     andl    $7, %edi
  133.     movl    %edi, %r8d
  134.     movq    -216(%rbp), %r10
  135.     movslq  68(%r10), %r10
  136.     shlq    $3, %r10
  137.     movq    -256(%rbp), %r11        ## 8-byte Reload
  138.     addq    %r11, %r10
  139.     movzbl  (%r10,%r8), %edi
  140.     movq    -216(%rbp), %r8
  141.     movl    %edi, 68(%r8)
  142.     .loc    1 892 5                 ## /Users/ryan/Downloads/trunk/desmume/src/cocoa/../SPU.cpp:892:5
  143.     movq    -216(%rbp), %r8
  144.     movw    60(%r8), %bx
  145.     movq    -216(%rbp), %r8
  146.     movw    %bx, 62(%r8)
  147.     .loc    1 893 20                ## /Users/ryan/Downloads/trunk/desmume/src/cocoa/../SPU.cpp:893:20
  148.     movq    -216(%rbp), %r8
  149.     movswl  60(%r8), %edi
  150.     addl    -244(%rbp), %edi
  151.     callq   __ZL6MinMaxIiET_S0_S0_S0_
  152.     movw    %ax, %bx
  153.     movq    -216(%rbp), %r8
  154.     movw    %bx, 60(%r8)
  155.     .loc    1 895 5                 ## /Users/ryan/Downloads/trunk/desmume/src/cocoa/../SPU.cpp:895:5
  156.     movl    -232(%rbp), %eax
  157.     movq    -216(%rbp), %r8
  158.     movzwl  22(%r8), %edx
  159.     shll    $3, %edx
  160.     cmpl    %edx, %eax
  161.     jne LBB165_10
  162. ## BB#7:                                ##   in Loop: Header=BB165_5 Depth=1
  163.     .loc    1 896 6                 ## /Users/ryan/Downloads/trunk/desmume/src/cocoa/../SPU.cpp:896:6
  164. Ltmp1871:
  165.     movq    -216(%rbp), %rax
  166.     cmpl    $99999, 72(%rax)        ## imm = 0x1869F
  167.     je  LBB165_9
  168. ## BB#8:                                ##   in Loop: Header=BB165_5 Depth=1
  169.     leaq    L_.str15(%rip), %rdi
  170.     .loc    1 896 61                ## /Users/ryan/Downloads/trunk/desmume/src/cocoa/../SPU.cpp:896:61
  171.     movb    $0, %al
  172.     callq   _printf
  173.     movl    %eax, -260(%rbp)        ## 4-byte Spill
  174. LBB165_9:                               ##   in Loop: Header=BB165_5 Depth=1
  175.     .loc    1 897 6                 ## /Users/ryan/Downloads/trunk/desmume/src/cocoa/../SPU.cpp:897:6
  176.     movq    -216(%rbp), %rax
  177.     movw    60(%rax), %cx
  178.     movq    -216(%rbp), %rax
  179.     movw    %cx, 64(%rax)
  180.     .loc    1 898 6                 ## /Users/ryan/Downloads/trunk/desmume/src/cocoa/../SPU.cpp:898:6
  181.     movq    -216(%rbp), %rax
  182.     movl    68(%rax), %edx
  183.     movq    -216(%rbp), %rax
  184.     movl    %edx, 72(%rax)
  185. Ltmp1872:
  186. LBB165_10:                              ##   in Loop: Header=BB165_5 Depth=1
  187. ## BB#11:                               ##   in Loop: Header=BB165_5 Depth=1
  188.     .loc    1 884 56                ## /Users/ryan/Downloads/trunk/desmume/src/cocoa/../SPU.cpp:884:56
  189.     movl    -232(%rbp), %eax
  190.     addl    $1, %eax
  191.     movl    %eax, -232(%rbp)
  192.     jmp LBB165_5
  193. Ltmp1873:
  194. LBB165_12:
  195.     .loc    1 902 24                ## /Users/ryan/Downloads/trunk/desmume/src/cocoa/../SPU.cpp:902:24
  196.     movq    -216(%rbp), %rax
  197.     movsd   40(%rax), %xmm0
  198.     movsd   %xmm0, -80(%rbp)
  199.     movsd   %xmm0, -72(%rbp)
  200.     movsd   %xmm0, -40(%rbp)
  201.                                         ## implicit-def: XMM1
  202.     movaps  %xmm0, %xmm1
  203.     movq    %xmm1, %xmm0
  204.     movapd  %xmm0, -64(%rbp)
  205.     movapd  %xmm0, -32(%rbp)
  206.     cvttsd2si   %xmm0, %ecx
  207.     movq    -216(%rbp), %rax
  208.     movl    %ecx, 56(%rax)
  209. Ltmp1874:
  210. LBB165_13:
  211.     .loc    1 906 12                ## /Users/ryan/Downloads/trunk/desmume/src/cocoa/../SPU.cpp:906:12
  212.     movq    -216(%rbp), %rax
  213.     movswl  62(%rax), %edi
  214.     movq    -216(%rbp), %rax
  215.     movswl  60(%rax), %esi
  216.     movq    -216(%rbp), %rax
  217.     movsd   40(%rax), %xmm0
  218.     callq   __ZL11InterpolateIL20SPUInterpolationMode2EEiiid
  219.     movq    -224(%rbp), %rcx
  220.     movl    %eax, (%rcx)
  221. Ltmp1875:
  222. LBB165_14:
  223.     .loc    1 911 1                 ## /Users/ryan/Downloads/trunk/desmume/src/cocoa/../SPU.cpp:911:1
  224.     addq    $264, %rsp              ## imm = 0x108
  225.     popq    %rbx
  226.     popq    %rbp
  227.     ret
  228. Ltmp1876:
  229. Lfunc_end165:
  230. Ltmp1877:
  231.     .cfi_endproc
  232. Leh_func_end165:
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement