Advertisement
Delfigamer

perlin, -O3

Apr 11th, 2016
367
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     .file   "test.cpp"
  2.     .text
  3.     .p2align 4,,15
  4.     .globl  stb_perlin_noise3
  5.     .def    stb_perlin_noise3;  .scl    2;  .type   32; .endef
  6.     .seh_proc   stb_perlin_noise3
  7. stb_perlin_noise3:
  8. .LFB37:
  9.     pushq   %r13
  10.     .seh_pushreg    %r13
  11.     pushq   %r12
  12.     .seh_pushreg    %r12
  13.     pushq   %rbp
  14.     .seh_pushreg    %rbp
  15.     pushq   %rdi
  16.     .seh_pushreg    %rdi
  17.     pushq   %rsi
  18.     .seh_pushreg    %rsi
  19.     pushq   %rbx
  20.     .seh_pushreg    %rbx
  21.     subq    $200, %rsp
  22.     .seh_stackalloc 200
  23.     movaps  %xmm6, 32(%rsp)
  24.     .seh_savexmm    %xmm6, 32
  25.     movaps  %xmm7, 48(%rsp)
  26.     .seh_savexmm    %xmm7, 48
  27.     movaps  %xmm8, 64(%rsp)
  28.     .seh_savexmm    %xmm8, 64
  29.     movaps  %xmm9, 80(%rsp)
  30.     .seh_savexmm    %xmm9, 80
  31.     movaps  %xmm10, 96(%rsp)
  32.     .seh_savexmm    %xmm10, 96
  33.     movaps  %xmm11, 112(%rsp)
  34.     .seh_savexmm    %xmm11, 112
  35.     movaps  %xmm12, 128(%rsp)
  36.     .seh_savexmm    %xmm12, 128
  37.     movaps  %xmm13, 144(%rsp)
  38.     .seh_savexmm    %xmm13, 144
  39.     movaps  %xmm14, 160(%rsp)
  40.     .seh_savexmm    %xmm14, 160
  41.     movaps  %xmm15, 176(%rsp)
  42.     .seh_savexmm    %xmm15, 176
  43.     .seh_endprologue
  44.     movl    288(%rsp), %eax
  45.     subl    $1, %r9d
  46.     movaps  %xmm0, %xmm7
  47.     movzbl  %r9b, %ebp
  48.     movaps  %xmm1, %xmm8
  49.     movaps  %xmm2, %xmm6
  50.     unpcklps    %xmm7, %xmm7
  51.     cvtps2pd    %xmm7, %xmm0
  52.     unpcklps    %xmm8, %xmm8
  53.     unpcklps    %xmm6, %xmm6
  54.     leal    -1(%rax), %r13d
  55.     movl    296(%rsp), %eax
  56.     movzbl  %r13b, %r13d
  57.     leal    -1(%rax), %r12d
  58.     call    floor
  59.     movzbl  %r12b, %r12d
  60.     cvttsd2si   %xmm0, %ebx
  61.     cvtps2pd    %xmm8, %xmm0
  62.     call    floor
  63.     cvttsd2si   %xmm0, %esi
  64.     cvtps2pd    %xmm6, %xmm0
  65.     call    floor
  66.     movss   .LC1(%rip), %xmm14
  67.     cvttsd2si   %xmm0, %eax
  68.     movl    %ebx, %ecx
  69.     movss   .LC2(%rip), %xmm13
  70.     andl    %ebp, %ecx
  71.     cvtsi2ss    %ebx, %xmm0
  72.     leal    1(%rsi), %edx
  73.     movslq  %ecx, %rcx
  74.     movl    %esi, %edi
  75.     andl    %r13d, %edi
  76.     andl    %r13d, %edx
  77.     cvtsi2ss    %eax, %xmm1
  78.     leal    1(%rax), %r8d
  79.     movl    %eax, %r10d
  80.     leaq    _ZL19stb__perlin_randtab(%rip), %rax
  81.     andl    %r12d, %r10d
  82.     andl    %r12d, %r8d
  83.     movl    (%rax,%rcx,4), %r11d
  84.     leal    1(%rbx), %ecx
  85.     subss   %xmm0, %xmm7
  86.     andl    %ebp, %ecx
  87.     cvtsi2ss    %esi, %xmm0
  88.     movslq  %ecx, %rcx
  89.     subss   %xmm1, %xmm6
  90.     movl    (%rax,%rcx,4), %ecx
  91.     leal    (%r11,%rdi), %r9d
  92.     addl    %edx, %r11d
  93.     movslq  %r9d, %r9
  94.     subss   %xmm0, %xmm8
  95.     movss   .LC0(%rip), %xmm0
  96.     movl    (%rax,%r9,4), %ebx
  97.     movaps  %xmm6, %xmm3
  98.     movslq  %r11d, %r11
  99.     addl    %ecx, %edx
  100.     addl    %ecx, %edi
  101.     movl    (%rax,%r11,4), %r11d
  102.     movslq  %edx, %rdx
  103.     movaps  %xmm8, %xmm15
  104.     movaps  %xmm6, %xmm2
  105.     movl    (%rax,%rdx,4), %esi
  106.     leaq    _ZZL16stb__perlin_gradifffE7indices(%rip), %rcx
  107.     movaps  %xmm6, %xmm12
  108.     leal    (%rbx,%r10), %edx
  109.     addl    %r8d, %ebx
  110.     movslq  %edi, %rdi
  111.     movslq  %edx, %rdx
  112.     movslq  %ebx, %rbx
  113.     movl    (%rax,%rdi,4), %edi
  114.     movl    (%rax,%rdx,4), %edx
  115.     mulss   %xmm0, %xmm3
  116.     movaps  %xmm8, %xmm4
  117.     mulss   %xmm0, %xmm4
  118.     mulss   %xmm7, %xmm0
  119.     andl    $63, %edx
  120.     subss   %xmm14, %xmm3
  121.     movzbl  (%rcx,%rdx), %r9d
  122.     leaq    _ZZL16stb__perlin_gradifffE5basis(%rip), %rdx
  123.     subss   %xmm14, %xmm4
  124.     subss   %xmm14, %xmm0
  125.     movaps  160(%rsp), %xmm14
  126.     mulss   %xmm6, %xmm3
  127.     mulss   %xmm8, %xmm4
  128.     mulss   %xmm7, %xmm0
  129.     salq    $4, %r9
  130.     addq    %rdx, %r9
  131.     movss   (%r9), %xmm5
  132.     addss   %xmm13, %xmm3
  133.     movss   4(%r9), %xmm1
  134.     addss   %xmm13, %xmm4
  135.     mulss   %xmm7, %xmm5
  136.     addss   %xmm13, %xmm0
  137.     movaps  144(%rsp), %xmm13
  138.     mulss   %xmm8, %xmm1
  139.     mulss   %xmm6, %xmm3
  140.     mulss   %xmm8, %xmm4
  141.     mulss   %xmm7, %xmm0
  142.     addss   %xmm1, %xmm5
  143.     movss   8(%r9), %xmm1
  144.     movl    (%rax,%rbx,4), %r9d
  145.     mulss   %xmm6, %xmm3
  146.     mulss   %xmm6, %xmm1
  147.     mulss   %xmm8, %xmm4
  148.     mulss   %xmm7, %xmm0
  149.     mulss   %xmm6, %xmm3
  150.     andl    $63, %r9d
  151.     movzbl  (%rcx,%r9), %ebx
  152.     leal    (%r11,%r10), %r9d
  153.     addss   %xmm1, %xmm5
  154.     movslq  %r9d, %r9
  155.     movss   .LC3(%rip), %xmm1
  156.     addl    %r8d, %r11d
  157.     movl    (%rax,%r9,4), %r9d
  158.     mulss   %xmm8, %xmm4
  159.     movslq  %r11d, %r11
  160.     subss   %xmm1, %xmm15
  161.     mulss   %xmm7, %xmm0
  162.     subss   %xmm1, %xmm12
  163.     salq    $4, %rbx
  164.     addq    %rdx, %rbx
  165.     andl    $63, %r9d
  166.     movzbl  (%rcx,%r9), %r9d
  167.     salq    $4, %r9
  168.     addq    %rdx, %r9
  169.     movss   (%r9), %xmm10
  170.     movss   4(%r9), %xmm6
  171.     mulss   %xmm7, %xmm10
  172.     mulss   %xmm15, %xmm6
  173.     addss   %xmm6, %xmm10
  174.     movss   8(%r9), %xmm6
  175.     movl    (%rax,%r11,4), %r9d
  176.     leal    (%rdi,%r10), %r11d
  177.     addl    %r8d, %edi
  178.     mulss   %xmm2, %xmm6
  179.     movslq  %r11d, %r11
  180.     movslq  %edi, %rdi
  181.     movl    (%rax,%r11,4), %r11d
  182.     andl    $63, %r9d
  183.     addss   %xmm6, %xmm10
  184.     movaps  %xmm7, %xmm6
  185.     movzbl  (%rcx,%r9), %r9d
  186.     andl    $63, %r11d
  187.     subss   %xmm1, %xmm6
  188.     movzbl  (%rcx,%r11), %r11d
  189.     movaps  %xmm6, %xmm1
  190.     salq    $4, %r9
  191.     addq    %rdx, %r9
  192.     salq    $4, %r11
  193.     addq    %rdx, %r11
  194.     movss   (%r11), %xmm11
  195.     mulss   %xmm6, %xmm11
  196.     movss   4(%r11), %xmm6
  197.     mulss   %xmm8, %xmm6
  198.     addss   %xmm6, %xmm11
  199.     movss   8(%r11), %xmm6
  200.     movl    (%rax,%rdi,4), %r11d
  201.     mulss   %xmm2, %xmm6
  202.     andl    $63, %r11d
  203.     movzbl  (%rcx,%r11), %r11d
  204.     addss   %xmm6, %xmm11
  205.     salq    $4, %r11
  206.     addq    %rdx, %r11
  207.     addl    %esi, %r10d
  208.     addl    %esi, %r8d
  209.     movslq  %r10d, %r10
  210.     movslq  %r8d, %r8
  211.     movl    (%rax,%r10,4), %r10d
  212.     movl    (%rax,%r8,4), %eax
  213.     andl    $63, %r10d
  214.     movzbl  (%rcx,%r10), %r10d
  215.     andl    $63, %eax
  216.     movzbl  (%rcx,%rax), %eax
  217.     salq    $4, %r10
  218.     addq    %rdx, %r10
  219.     salq    $4, %rax
  220.     movss   (%r10), %xmm9
  221.     addq    %rax, %rdx
  222.     movss   4(%r10), %xmm6
  223.     mulss   %xmm1, %xmm9
  224.     mulss   %xmm15, %xmm6
  225.     mulss   8(%r10), %xmm2
  226.     addss   %xmm6, %xmm9
  227.     movss   (%rbx), %xmm6
  228.     mulss   %xmm7, %xmm6
  229.     addss   %xmm2, %xmm9
  230.     movss   4(%rbx), %xmm2
  231.     mulss   %xmm8, %xmm2
  232.     mulss   4(%r11), %xmm8
  233.     addss   %xmm2, %xmm6
  234.     movss   8(%rbx), %xmm2
  235.     mulss   %xmm12, %xmm2
  236.     addss   %xmm2, %xmm6
  237.     movss   8(%r11), %xmm2
  238.     mulss   %xmm12, %xmm2
  239.     subss   %xmm5, %xmm6
  240.     mulss   %xmm3, %xmm6
  241.     addss   %xmm5, %xmm6
  242.     movss   (%r11), %xmm5
  243.     mulss   %xmm1, %xmm5
  244.     mulss   (%rdx), %xmm1
  245.     addss   %xmm8, %xmm5
  246.     movss   4(%r9), %xmm8
  247.     mulss   %xmm15, %xmm8
  248.     addss   %xmm2, %xmm5
  249.     movss   (%r9), %xmm2
  250.     mulss   4(%rdx), %xmm15
  251.     mulss   %xmm7, %xmm2
  252.     movaps  48(%rsp), %xmm7
  253.     subss   %xmm11, %xmm5
  254.     addss   %xmm15, %xmm1
  255.     movaps  176(%rsp), %xmm15
  256.     addss   %xmm8, %xmm2
  257.     movss   8(%r9), %xmm8
  258.     mulss   %xmm3, %xmm5
  259.     mulss   %xmm12, %xmm8
  260.     mulss   8(%rdx), %xmm12
  261.     addss   %xmm11, %xmm5
  262.     movaps  112(%rsp), %xmm11
  263.     addss   %xmm8, %xmm2
  264.     movaps  64(%rsp), %xmm8
  265.     addss   %xmm12, %xmm1
  266.     movaps  128(%rsp), %xmm12
  267.     subss   %xmm10, %xmm2
  268.     subss   %xmm9, %xmm1
  269.     mulss   %xmm3, %xmm2
  270.     mulss   %xmm3, %xmm1
  271.     addss   %xmm10, %xmm2
  272.     movaps  96(%rsp), %xmm10
  273.     addss   %xmm9, %xmm1
  274.     movaps  80(%rsp), %xmm9
  275.     subss   %xmm6, %xmm2
  276.     subss   %xmm5, %xmm1
  277.     mulss   %xmm4, %xmm2
  278.     mulss   %xmm4, %xmm1
  279.     addss   %xmm6, %xmm2
  280.     movaps  32(%rsp), %xmm6
  281.     addss   %xmm5, %xmm1
  282.     subss   %xmm2, %xmm1
  283.     mulss   %xmm1, %xmm0
  284.     addss   %xmm2, %xmm0
  285.     addq    $200, %rsp
  286.     popq    %rbx
  287.     popq    %rsi
  288.     popq    %rdi
  289.     popq    %rbp
  290.     popq    %r12
  291.     popq    %r13
  292.     ret
  293.     .seh_endproc
  294.     .p2align 4,,15
  295.     .globl  _Z26stb_perlin_noise3_no_floorfffiii
  296.     .def    _Z26stb_perlin_noise3_no_floorfffiii;   .scl    2;  .type   32; .endef
  297.     .seh_proc   _Z26stb_perlin_noise3_no_floorfffiii
  298. _Z26stb_perlin_noise3_no_floorfffiii:
  299. .LFB38:
  300.     pushq   %rbp
  301.     .seh_pushreg    %rbp
  302.     pushq   %rdi
  303.     .seh_pushreg    %rdi
  304.     pushq   %rsi
  305.     .seh_pushreg    %rsi
  306.     pushq   %rbx
  307.     .seh_pushreg    %rbx
  308.     subq    $168, %rsp
  309.     .seh_stackalloc 168
  310.     movaps  %xmm6, (%rsp)
  311.     .seh_savexmm    %xmm6, 0
  312.     movaps  %xmm7, 16(%rsp)
  313.     .seh_savexmm    %xmm7, 16
  314.     movaps  %xmm8, 32(%rsp)
  315.     .seh_savexmm    %xmm8, 32
  316.     movaps  %xmm9, 48(%rsp)
  317.     .seh_savexmm    %xmm9, 48
  318.     movaps  %xmm10, 64(%rsp)
  319.     .seh_savexmm    %xmm10, 64
  320.     movaps  %xmm11, 80(%rsp)
  321.     .seh_savexmm    %xmm11, 80
  322.     movaps  %xmm12, 96(%rsp)
  323.     .seh_savexmm    %xmm12, 96
  324.     movaps  %xmm13, 112(%rsp)
  325.     .seh_savexmm    %xmm13, 112
  326.     movaps  %xmm14, 128(%rsp)
  327.     .seh_savexmm    %xmm14, 128
  328.     movaps  %xmm15, 144(%rsp)
  329.     .seh_savexmm    %xmm15, 144
  330.     .seh_endprologue
  331.     xorps   %xmm3, %xmm3
  332.     movss   .LC1(%rip), %xmm14
  333.     movss   .LC2(%rip), %xmm13
  334.     movl    240(%rsp), %eax
  335.     subl    $1, %r9d
  336.     cvttss2si   %xmm0, %edx
  337.     cvttss2si   %xmm1, %ecx
  338.     movaps  %xmm0, %xmm7
  339.     movzbl  %r9b, %r9d
  340.     leal    -1(%rax), %r8d
  341.     movl    248(%rsp), %eax
  342.     movzbl  %r8b, %r8d
  343.     movl    %r8d, %esi
  344.     leal    -1(%rax), %ebx
  345.     xorl    %eax, %eax
  346.     ucomiss %xmm0, %xmm3
  347.     movzbl  %bl, %ebx
  348.     seta    %al
  349.     subl    %eax, %edx
  350.     xorl    %eax, %eax
  351.     ucomiss %xmm1, %xmm3
  352.     seta    %al
  353.     xorl    %r10d, %r10d
  354.     subl    %eax, %ecx
  355.     ucomiss %xmm2, %xmm3
  356.     cvtsi2ss    %ecx, %xmm0
  357.     leal    1(%rcx), %r11d
  358.     cvttss2si   %xmm2, %eax
  359.     seta    %r10b
  360.     andl    %ecx, %esi
  361.     movl    %r9d, %ecx
  362.     andl    %edx, %ecx
  363.     cvtsi2ss    %edx, %xmm3
  364.     andl    %r8d, %r11d
  365.     subss   %xmm0, %xmm1
  366.     movss   .LC0(%rip), %xmm0
  367.     movslq  %ecx, %rcx
  368.     subl    %r10d, %eax
  369.     movl    %ebx, %r10d
  370.     addl    $1, %edx
  371.     leal    1(%rax), %r8d
  372.     andl    %eax, %r10d
  373.     andl    %r9d, %edx
  374.     movaps  %xmm1, %xmm4
  375.     movaps  %xmm1, %xmm8
  376.     movslq  %edx, %rdx
  377.     mulss   %xmm0, %xmm4
  378.     andl    %ebx, %r8d
  379.     movaps  %xmm8, %xmm15
  380.     subss   %xmm3, %xmm7
  381.     subss   %xmm14, %xmm4
  382.     mulss   %xmm1, %xmm4
  383.     addss   %xmm13, %xmm4
  384.     mulss   %xmm1, %xmm4
  385.     mulss   %xmm1, %xmm4
  386.     mulss   %xmm1, %xmm4
  387.     cvtsi2ss    %eax, %xmm1
  388.     leaq    _ZL19stb__perlin_randtab(%rip), %rax
  389.     movl    (%rax,%rcx,4), %ecx
  390.     movl    (%rax,%rdx,4), %edx
  391.     subss   %xmm1, %xmm2
  392.     leal    (%rcx,%rsi), %r9d
  393.     addl    %r11d, %ecx
  394.     movslq  %r9d, %r9
  395.     addl    %edx, %esi
  396.     addl    %r11d, %edx
  397.     movl    (%rax,%r9,4), %ebx
  398.     movslq  %esi, %rsi
  399.     movslq  %edx, %rdx
  400.     movl    (%rax,%rsi,4), %edi
  401.     movslq  %ecx, %rcx
  402.     movaps  %xmm2, %xmm12
  403.     movl    (%rax,%rdx,4), %esi
  404.     movaps  %xmm2, %xmm3
  405.     movl    (%rax,%rcx,4), %ebp
  406.     leaq    _ZZL16stb__perlin_gradifffE7indices(%rip), %rcx
  407.     leal    (%rbx,%r10), %edx
  408.     addl    %r8d, %ebx
  409.     leal    (%rdi,%r10), %r11d
  410.     movslq  %edx, %rdx
  411.     movslq  %ebx, %rbx
  412.     movl    (%rax,%rdx,4), %edx
  413.     movslq  %r11d, %r11
  414.     addl    %r8d, %edi
  415.     movl    (%rax,%r11,4), %r11d
  416.     mulss   %xmm0, %xmm3
  417.     movslq  %edi, %rdi
  418.     mulss   %xmm7, %xmm0
  419.     andl    $63, %edx
  420.     movzbl  (%rcx,%rdx), %r9d
  421.     leaq    _ZZL16stb__perlin_gradifffE5basis(%rip), %rdx
  422.     andl    $63, %r11d
  423.     movzbl  (%rcx,%r11), %r11d
  424.     subss   %xmm14, %xmm3
  425.     subss   %xmm14, %xmm0
  426.     movaps  128(%rsp), %xmm14
  427.     mulss   %xmm2, %xmm3
  428.     salq    $4, %r9
  429.     mulss   %xmm7, %xmm0
  430.     addq    %rdx, %r9
  431.     salq    $4, %r11
  432.     movss   (%r9), %xmm5
  433.     addq    %rdx, %r11
  434.     movss   4(%r9), %xmm1
  435.     mulss   %xmm7, %xmm5
  436.     movss   (%r11), %xmm11
  437.     addss   %xmm13, %xmm3
  438.     mulss   %xmm8, %xmm1
  439.     addss   %xmm13, %xmm0
  440.     movaps  112(%rsp), %xmm13
  441.     mulss   %xmm2, %xmm3
  442.     mulss   %xmm7, %xmm0
  443.     addss   %xmm1, %xmm5
  444.     movss   8(%r9), %xmm1
  445.     movl    (%rax,%rbx,4), %r9d
  446.     mulss   %xmm2, %xmm1
  447.     mulss   %xmm2, %xmm3
  448.     mulss   %xmm7, %xmm0
  449.     andl    $63, %r9d
  450.     movzbl  (%rcx,%r9), %ebx
  451.     leal    0(%rbp,%r10), %r9d
  452.     addss   %xmm1, %xmm5
  453.     movslq  %r9d, %r9
  454.     movss   .LC3(%rip), %xmm1
  455.     addl    %r8d, %ebp
  456.     movl    (%rax,%r9,4), %r9d
  457.     movslq  %ebp, %rbp
  458.     addl    %esi, %r10d
  459.     subss   %xmm1, %xmm15
  460.     mulss   %xmm2, %xmm3
  461.     movslq  %r10d, %r10
  462.     subss   %xmm1, %xmm12
  463.     movl    (%rax,%r10,4), %r10d
  464.     salq    $4, %rbx
  465.     mulss   %xmm7, %xmm0
  466.     addq    %rdx, %rbx
  467.     andl    $63, %r9d
  468.     movzbl  (%rcx,%r9), %r9d
  469.     salq    $4, %r9
  470.     addq    %rdx, %r9
  471.     movss   (%r9), %xmm10
  472.     movss   4(%r9), %xmm6
  473.     mulss   %xmm7, %xmm10
  474.     mulss   %xmm15, %xmm6
  475.     addss   %xmm6, %xmm10
  476.     movss   8(%r9), %xmm6
  477.     movl    (%rax,%rbp,4), %r9d
  478.     mulss   %xmm2, %xmm6
  479.     andl    $63, %r9d
  480.     addss   %xmm6, %xmm10
  481.     movaps  %xmm7, %xmm6
  482.     movzbl  (%rcx,%r9), %r9d
  483.     subss   %xmm1, %xmm6
  484.     mulss   %xmm6, %xmm11
  485.     movaps  %xmm6, %xmm1
  486.     movss   4(%r11), %xmm6
  487.     salq    $4, %r9
  488.     mulss   %xmm8, %xmm6
  489.     addq    %rdx, %r9
  490.     addss   %xmm6, %xmm11
  491.     movss   8(%r11), %xmm6
  492.     movl    (%rax,%rdi,4), %r11d
  493.     mulss   %xmm2, %xmm6
  494.     andl    $63, %r11d
  495.     movzbl  (%rcx,%r11), %r11d
  496.     addss   %xmm6, %xmm11
  497.     salq    $4, %r11
  498.     addq    %rdx, %r11
  499.     andl    $63, %r10d
  500.     addl    %esi, %r8d
  501.     movzbl  (%rcx,%r10), %r10d
  502.     movslq  %r8d, %r8
  503.     movl    (%rax,%r8,4), %eax
  504.     salq    $4, %r10
  505.     addq    %rdx, %r10
  506.     andl    $63, %eax
  507.     movss   (%r10), %xmm9
  508.     movss   4(%r10), %xmm6
  509.     mulss   %xmm1, %xmm9
  510.     movzbl  (%rcx,%rax), %eax
  511.     mulss   %xmm15, %xmm6
  512.     mulss   8(%r10), %xmm2
  513.     salq    $4, %rax
  514.     addss   %xmm6, %xmm9
  515.     movss   (%rbx), %xmm6
  516.     addq    %rax, %rdx
  517.     mulss   %xmm7, %xmm6
  518.     addss   %xmm2, %xmm9
  519.     movss   4(%rbx), %xmm2
  520.     mulss   %xmm8, %xmm2
  521.     mulss   4(%r11), %xmm8
  522.     addss   %xmm2, %xmm6
  523.     movss   8(%rbx), %xmm2
  524.     mulss   %xmm12, %xmm2
  525.     addss   %xmm2, %xmm6
  526.     movss   8(%r11), %xmm2
  527.     mulss   %xmm12, %xmm2
  528.     subss   %xmm5, %xmm6
  529.     mulss   %xmm3, %xmm6
  530.     addss   %xmm5, %xmm6
  531.     movss   (%r11), %xmm5
  532.     mulss   %xmm1, %xmm5
  533.     mulss   (%rdx), %xmm1
  534.     addss   %xmm8, %xmm5
  535.     movss   4(%r9), %xmm8
  536.     mulss   %xmm15, %xmm8
  537.     addss   %xmm2, %xmm5
  538.     movss   (%r9), %xmm2
  539.     mulss   4(%rdx), %xmm15
  540.     mulss   %xmm7, %xmm2
  541.     movaps  16(%rsp), %xmm7
  542.     subss   %xmm11, %xmm5
  543.     addss   %xmm15, %xmm1
  544.     movaps  144(%rsp), %xmm15
  545.     addss   %xmm8, %xmm2
  546.     movss   8(%r9), %xmm8
  547.     mulss   %xmm3, %xmm5
  548.     mulss   %xmm12, %xmm8
  549.     mulss   8(%rdx), %xmm12
  550.     addss   %xmm11, %xmm5
  551.     movaps  80(%rsp), %xmm11
  552.     addss   %xmm8, %xmm2
  553.     movaps  32(%rsp), %xmm8
  554.     addss   %xmm12, %xmm1
  555.     movaps  96(%rsp), %xmm12
  556.     subss   %xmm10, %xmm2
  557.     subss   %xmm9, %xmm1
  558.     mulss   %xmm3, %xmm2
  559.     mulss   %xmm3, %xmm1
  560.     addss   %xmm10, %xmm2
  561.     movaps  64(%rsp), %xmm10
  562.     addss   %xmm9, %xmm1
  563.     movaps  48(%rsp), %xmm9
  564.     subss   %xmm6, %xmm2
  565.     subss   %xmm5, %xmm1
  566.     mulss   %xmm4, %xmm2
  567.     mulss   %xmm4, %xmm1
  568.     addss   %xmm6, %xmm2
  569.     movaps  (%rsp), %xmm6
  570.     addss   %xmm5, %xmm1
  571.     subss   %xmm2, %xmm1
  572.     mulss   %xmm1, %xmm0
  573.     addss   %xmm2, %xmm0
  574.     addq    $168, %rsp
  575.     popq    %rbx
  576.     popq    %rsi
  577.     popq    %rdi
  578.     popq    %rbp
  579.     ret
  580.     .seh_endproc
  581.     .section    .text$_Z6printfPKcz,"x"
  582.     .linkonce discard
  583.     .p2align 4,,15
  584.     .globl  _Z6printfPKcz
  585.     .def    _Z6printfPKcz;  .scl    2;  .type   32; .endef
  586.     .seh_proc   _Z6printfPKcz
  587. _Z6printfPKcz:
  588. .LFB46:
  589.     subq    $56, %rsp
  590.     .seh_stackalloc 56
  591.     .seh_endprologue
  592.     movq    %rdx, 72(%rsp)
  593.     leaq    72(%rsp), %rdx
  594.     movq    %r8, 80(%rsp)
  595.     movq    %r9, 88(%rsp)
  596.     movq    %rdx, 40(%rsp)
  597.     call    __mingw_vprintf
  598.     addq    $56, %rsp
  599.     ret
  600.     .seh_endproc
  601.     .def    __main; .scl    2;  .type   32; .endef
  602.     .section .rdata,"dr"
  603.     .align 8
  604. .LC12:
  605.     .ascii "stb_perlin_noise3: %.1f ns/call\12\0"
  606.     .align 8
  607. .LC13:
  608.     .ascii "stb_perlin_noise3_no_floor: %.1f ns/call\12\0"
  609.     .section    .text.startup,"x"
  610.     .p2align 4,,15
  611.     .globl  main
  612.     .def    main;   .scl    2;  .type   32; .endef
  613.     .seh_proc   main
  614. main:
  615. .LFB96:
  616.     pushq   %r15
  617.     .seh_pushreg    %r15
  618.     pushq   %r14
  619.     .seh_pushreg    %r14
  620.     pushq   %r13
  621.     .seh_pushreg    %r13
  622.     pushq   %r12
  623.     .seh_pushreg    %r12
  624.     pushq   %rbp
  625.     .seh_pushreg    %rbp
  626.     pushq   %rdi
  627.     .seh_pushreg    %rdi
  628.     pushq   %rsi
  629.     .seh_pushreg    %rsi
  630.     pushq   %rbx
  631.     .seh_pushreg    %rbx
  632.     subq    $216, %rsp
  633.     .seh_stackalloc 216
  634.     movaps  %xmm6, 48(%rsp)
  635.     .seh_savexmm    %xmm6, 48
  636.     movaps  %xmm7, 64(%rsp)
  637.     .seh_savexmm    %xmm7, 64
  638.     movaps  %xmm8, 80(%rsp)
  639.     .seh_savexmm    %xmm8, 80
  640.     movaps  %xmm9, 96(%rsp)
  641.     .seh_savexmm    %xmm9, 96
  642.     movaps  %xmm10, 112(%rsp)
  643.     .seh_savexmm    %xmm10, 112
  644.     movaps  %xmm11, 128(%rsp)
  645.     .seh_savexmm    %xmm11, 128
  646.     movaps  %xmm12, 144(%rsp)
  647.     .seh_savexmm    %xmm12, 144
  648.     movaps  %xmm13, 160(%rsp)
  649.     .seh_savexmm    %xmm13, 160
  650.     movaps  %xmm14, 176(%rsp)
  651.     .seh_savexmm    %xmm14, 176
  652.     movaps  %xmm15, 192(%rsp)
  653.     .seh_savexmm    %xmm15, 192
  654.     .seh_endprologue
  655.     leaq    _ZL19stb__perlin_randtab(%rip), %rbx
  656.     xorl    %r15d, %r15d
  657.     leaq    _ZZL16stb__perlin_gradifffE7indices(%rip), %rdi
  658.     leaq    _ZZL16stb__perlin_gradifffE5basis(%rip), %rsi
  659.     call    __main
  660.     call    clock
  661.     movss   .LC7(%rip), %xmm6
  662.     movl    $1024, 44(%rsp)
  663.     cvtsi2sd    %eax, %xmm7
  664.     movss   .LC3(%rip), %xmm8
  665.     movss   .LC8(%rip), %xmm10
  666.     movss   .LC9(%rip), %xmm9
  667.     movsd   %xmm7, 32(%rsp)
  668. .L5:
  669.     leaq    tex(%rip), %r13
  670.     movl    $0x3c800000, 40(%rsp)
  671.     xorpd   %xmm0, %xmm0
  672.     .p2align 4,,10
  673. .L10:
  674.     cvttsd2si   %xmm0, %eax
  675.     movss   40(%rsp), %xmm11
  676.     xorl    %r14d, %r14d
  677.     movss   .LC0(%rip), %xmm13
  678.     movss   .LC6(%rip), %xmm12
  679.     cvtsi2ss    %eax, %xmm0
  680.     leal    1(%rax), %r12d
  681.     movl    %eax, %ebp
  682.     andl    $31, %ebp
  683.     andl    $31, %r12d
  684.     subss   %xmm0, %xmm11
  685.     movd    %r15, %xmm0
  686.     mulss   %xmm11, %xmm13
  687.     movaps  %xmm11, %xmm7
  688.     subss   %xmm8, %xmm7
  689.     subss   .LC1(%rip), %xmm13
  690.     mulss   %xmm11, %xmm13
  691.     addss   .LC2(%rip), %xmm13
  692.     mulss   %xmm11, %xmm13
  693.     mulss   %xmm11, %xmm13
  694.     mulss   %xmm11, %xmm13
  695.     jmp .L8
  696.     .p2align 4,,10
  697. .L6:
  698.     unpcklps    %xmm12, %xmm12
  699.     cvtps2pd    %xmm12, %xmm0
  700.     call    floor
  701. .L8:
  702.     cvttsd2si   %xmm0, %eax
  703.     movaps  %xmm12, %xmm4
  704.     addss   %xmm9, %xmm12
  705.     movl    %eax, %edx
  706.     cvtsi2ss    %eax, %xmm0
  707.     addl    $1, %eax
  708.     andl    $31, %edx
  709.     andl    $31, %eax
  710.     movl    (%rbx,%rdx,4), %edx
  711.     movl    (%rbx,%rax,4), %eax
  712.     subss   %xmm0, %xmm4
  713.     leal    (%rdx,%rbp), %ecx
  714.     addl    %r12d, %edx
  715.     movslq  %ecx, %rcx
  716.     movslq  %edx, %rdx
  717.     movl    (%rbx,%rcx,4), %r8d
  718.     leal    (%rax,%rbp), %ecx
  719.     addl    %r12d, %eax
  720.     cltq
  721.     movl    (%rbx,%rdx,4), %edx
  722.     movslq  %ecx, %rcx
  723.     movl    (%rbx,%rax,4), %r9d
  724.     movl    (%rbx,%rcx,4), %ecx
  725.     movslq  %r8d, %rax
  726.     addl    $1, %r8d
  727.     movl    (%rbx,%rax,4), %eax
  728.     movslq  %r8d, %r8
  729.     andl    $63, %eax
  730.     movzbl  (%rdi,%rax), %eax
  731.     salq    $4, %rax
  732.     addq    %rsi, %rax
  733.     movss   (%rax), %xmm3
  734.     movss   4(%rax), %xmm0
  735.     mulss   %xmm4, %xmm3
  736.     mulss   %xmm11, %xmm0
  737.     addss   %xmm0, %xmm3
  738.     movss   8(%rax), %xmm0
  739.     movl    (%rbx,%r8,4), %eax
  740.     mulss   %xmm6, %xmm0
  741.     andl    $63, %eax
  742.     movzbl  (%rdi,%rax), %r8d
  743.     movslq  %edx, %rax
  744.     addss   %xmm0, %xmm3
  745.     movl    (%rbx,%rax,4), %eax
  746.     addl    $1, %edx
  747.     movslq  %edx, %rdx
  748.     salq    $4, %r8
  749.     andl    $63, %eax
  750.     addq    %rsi, %r8
  751.     movzbl  (%rdi,%rax), %eax
  752.     movss   4(%r8), %xmm15
  753.     mulss   %xmm11, %xmm15
  754.     salq    $4, %rax
  755.     addq    %rsi, %rax
  756.     movss   (%rax), %xmm14
  757.     movss   4(%rax), %xmm0
  758.     mulss   %xmm4, %xmm14
  759.     mulss   %xmm7, %xmm0
  760.     addss   %xmm0, %xmm14
  761.     movss   8(%rax), %xmm0
  762.     movl    (%rbx,%rdx,4), %eax
  763.     mulss   %xmm6, %xmm0
  764.     andl    $63, %eax
  765.     movzbl  (%rdi,%rax), %edx
  766.     movslq  %ecx, %rax
  767.     addss   %xmm0, %xmm14
  768.     movl    (%rbx,%rax,4), %eax
  769.     movaps  %xmm4, %xmm0
  770.     addl    $1, %ecx
  771.     subss   %xmm8, %xmm0
  772.     movslq  %ecx, %rcx
  773.     salq    $4, %rdx
  774.     andl    $63, %eax
  775.     addq    %rsi, %rdx
  776.     movzbl  (%rdi,%rax), %eax
  777.     salq    $4, %rax
  778.     addq    %rsi, %rax
  779.     movss   (%rax), %xmm1
  780.     movss   4(%rax), %xmm2
  781.     mulss   %xmm0, %xmm1
  782.     mulss   %xmm11, %xmm2
  783.     addss   %xmm2, %xmm1
  784.     movss   8(%rax), %xmm2
  785.     movl    (%rbx,%rcx,4), %eax
  786.     mulss   %xmm6, %xmm2
  787.     andl    $63, %eax
  788.     movzbl  (%rdi,%rax), %ecx
  789.     movslq  %r9d, %rax
  790.     addss   %xmm2, %xmm1
  791.     movl    (%rbx,%rax,4), %eax
  792.     addl    $1, %r9d
  793.     movslq  %r9d, %r9
  794.     salq    $4, %rcx
  795.     andl    $63, %eax
  796.     addq    %rsi, %rcx
  797.     movzbl  (%rdi,%rax), %eax
  798.     salq    $4, %rax
  799.     addq    %rsi, %rax
  800.     movss   (%rax), %xmm5
  801.     movss   4(%rax), %xmm2
  802.     mulss   %xmm0, %xmm5
  803.     mulss   %xmm7, %xmm2
  804.     addss   %xmm2, %xmm5
  805.     movss   8(%rax), %xmm2
  806.     movl    (%rbx,%r9,4), %eax
  807.     mulss   %xmm6, %xmm2
  808.     andl    $63, %eax
  809.     addss   %xmm2, %xmm5
  810.     movss   (%r8), %xmm2
  811.     movzbl  (%rdi,%rax), %eax
  812.     mulss   %xmm4, %xmm2
  813.     salq    $4, %rax
  814.     addss   %xmm15, %xmm2
  815.     movss   8(%r8), %xmm15
  816.     addq    %rsi, %rax
  817.     mulss   %xmm10, %xmm15
  818.     addss   %xmm15, %xmm2
  819.     movss   4(%rcx), %xmm15
  820.     mulss   %xmm11, %xmm15
  821.     subss   %xmm3, %xmm2
  822.     mulss   %xmm6, %xmm2
  823.     addss   %xmm3, %xmm2
  824.     movss   (%rcx), %xmm3
  825.     mulss   %xmm0, %xmm3
  826.     mulss   (%rax), %xmm0
  827.     addss   %xmm15, %xmm3
  828.     movss   8(%rcx), %xmm15
  829.     mulss   %xmm10, %xmm15
  830.     addss   %xmm15, %xmm3
  831.     movss   4(%rdx), %xmm15
  832.     mulss   %xmm7, %xmm15
  833.     subss   %xmm1, %xmm3
  834.     mulss   %xmm6, %xmm3
  835.     addss   %xmm1, %xmm3
  836.     movss   (%rdx), %xmm1
  837.     mulss   %xmm4, %xmm1
  838.     addss   %xmm15, %xmm1
  839.     movss   8(%rdx), %xmm15
  840.     mulss   %xmm10, %xmm15
  841.     addss   %xmm15, %xmm1
  842.     subss   %xmm14, %xmm1
  843.     mulss   %xmm6, %xmm1
  844.     addss   %xmm14, %xmm1
  845.     subss   %xmm2, %xmm1
  846.     mulss   %xmm13, %xmm1
  847.     addss   %xmm2, %xmm1
  848.     movss   .LC0(%rip), %xmm2
  849.     mulss   %xmm4, %xmm2
  850.     subss   .LC1(%rip), %xmm2
  851.     mulss   %xmm4, %xmm2
  852.     addss   .LC2(%rip), %xmm2
  853.     mulss   %xmm4, %xmm2
  854.     mulss   %xmm4, %xmm2
  855.     mulss   %xmm4, %xmm2
  856.     movss   4(%rax), %xmm4
  857.     mulss   %xmm7, %xmm4
  858.     addss   %xmm4, %xmm0
  859.     movss   8(%rax), %xmm4
  860.     mulss   %xmm10, %xmm4
  861.     addss   %xmm4, %xmm0
  862.     subss   %xmm5, %xmm0
  863.     mulss   %xmm6, %xmm0
  864.     addss   %xmm5, %xmm0
  865.     subss   %xmm3, %xmm0
  866.     mulss   %xmm13, %xmm0
  867.     addss   %xmm3, %xmm0
  868.     subss   %xmm1, %xmm0
  869.     mulss   %xmm0, %xmm2
  870.     addss   %xmm1, %xmm2
  871.     movss   %xmm2, 0(%r13,%r14)
  872.     addq    $4, %r14
  873.     cmpq    $128, %r14
  874.     jne .L6
  875.     movss   40(%rsp), %xmm7
  876.     subq    $-128, %r13
  877.     leaq    4096+tex(%rip), %rax
  878.     addss   %xmm9, %xmm7
  879.     cmpq    %rax, %r13
  880.     movss   %xmm7, 40(%rsp)
  881.     je  .L7
  882.     unpcklps    %xmm7, %xmm7
  883.     cvtps2pd    %xmm7, %xmm0
  884.     call    floor
  885.     jmp .L10
  886. .L7:
  887.     subl    $1, 44(%rsp)
  888.     jne .L5
  889.     .p2align 4,,6
  890.     call    clock
  891.     leaq    .LC12(%rip), %rcx
  892.     cvtsi2sd    %eax, %xmm0
  893.     subsd   32(%rsp), %xmm0
  894.     mulsd   .LC10(%rip), %xmm0
  895.     divsd   .LC11(%rip), %xmm0
  896.     movapd  %xmm0, %xmm1
  897.     movd    %xmm0, %rdx
  898.     call    _Z6printfPKcz
  899.     call    clock
  900.     movl    $1024, %ecx
  901.     movl    $0x3c800000, %r11d
  902.     cvtsi2sd    %eax, %xmm7
  903.     movl    %r11d, %r15d
  904.     movl    %ecx, %r14d
  905.     movsd   %xmm7, 32(%rsp)
  906. .L11:
  907.     leaq    tex(%rip), %r13
  908.     movl    %r11d, 40(%rsp)
  909.     .p2align 4,,10
  910. .L16:
  911.     movss   40(%rsp), %xmm11
  912.     xorps   %xmm7, %xmm7
  913.     xorl    %edx, %edx
  914.     movss   .LC0(%rip), %xmm12
  915.     ucomiss %xmm11, %xmm7
  916.     movd    %r15d, %xmm7
  917.     cvttss2si   %xmm11, %eax
  918.     seta    %dl
  919.     subl    %edx, %eax
  920.     cvtsi2ss    %eax, %xmm0
  921.     leal    1(%rax), %ebp
  922.     movl    %eax, %r12d
  923.     andl    $31, %r12d
  924.     andl    $31, %ebp
  925.     xorl    %eax, %eax
  926.     subss   %xmm0, %xmm11
  927.     mulss   %xmm11, %xmm12
  928.     movaps  %xmm11, %xmm13
  929.     subss   %xmm8, %xmm13
  930.     subss   .LC1(%rip), %xmm12
  931.     mulss   %xmm11, %xmm12
  932.     addss   .LC2(%rip), %xmm12
  933.     mulss   %xmm11, %xmm12
  934.     mulss   %xmm11, %xmm12
  935.     mulss   %xmm11, %xmm12
  936.     .p2align 4,,10
  937. .L14:
  938.     cvttss2si   %xmm7, %edx
  939.     xorps   %xmm5, %xmm5
  940.     xorl    %ecx, %ecx
  941.     ucomiss %xmm7, %xmm5
  942.     movaps  %xmm7, %xmm4
  943.     addss   %xmm9, %xmm7
  944.     seta    %cl
  945.     subl    %ecx, %edx
  946.     movl    %edx, %ecx
  947.     cvtsi2ss    %edx, %xmm0
  948.     addl    $1, %edx
  949.     andl    $31, %ecx
  950.     andl    $31, %edx
  951.     movl    (%rbx,%rcx,4), %ecx
  952.     movl    (%rbx,%rdx,4), %edx
  953.     subss   %xmm0, %xmm4
  954.     leal    (%rcx,%r12), %r8d
  955.     addl    %ebp, %ecx
  956.     leal    (%rdx,%r12), %r9d
  957.     movslq  %r8d, %r8
  958.     addl    %ebp, %edx
  959.     movl    (%rbx,%r8,4), %r8d
  960.     movslq  %edx, %rdx
  961.     movslq  %ecx, %rcx
  962.     movl    (%rbx,%rdx,4), %r10d
  963.     movslq  %r9d, %r9
  964.     movl    (%rbx,%rcx,4), %ecx
  965.     movl    (%rbx,%r9,4), %r9d
  966.     movslq  %r8d, %rdx
  967.     addl    $1, %r8d
  968.     movl    (%rbx,%rdx,4), %edx
  969.     movslq  %r8d, %r8
  970.     andl    $63, %edx
  971.     movzbl  (%rdi,%rdx), %edx
  972.     salq    $4, %rdx
  973.     addq    %rsi, %rdx
  974.     movss   (%rdx), %xmm3
  975.     movss   4(%rdx), %xmm0
  976.     mulss   %xmm4, %xmm3
  977.     mulss   %xmm11, %xmm0
  978.     addss   %xmm0, %xmm3
  979.     movss   8(%rdx), %xmm0
  980.     movl    (%rbx,%r8,4), %edx
  981.     mulss   %xmm6, %xmm0
  982.     andl    $63, %edx
  983.     movzbl  (%rdi,%rdx), %r8d
  984.     movslq  %ecx, %rdx
  985.     addss   %xmm0, %xmm3
  986.     movl    (%rbx,%rdx,4), %edx
  987.     addl    $1, %ecx
  988.     movslq  %ecx, %rcx
  989.     salq    $4, %r8
  990.     andl    $63, %edx
  991.     addq    %rsi, %r8
  992.     movzbl  (%rdi,%rdx), %edx
  993.     movss   4(%r8), %xmm15
  994.     mulss   %xmm11, %xmm15
  995.     salq    $4, %rdx
  996.     addq    %rsi, %rdx
  997.     movss   (%rdx), %xmm14
  998.     movss   4(%rdx), %xmm0
  999.     mulss   %xmm4, %xmm14
  1000.     mulss   %xmm13, %xmm0
  1001.     addss   %xmm0, %xmm14
  1002.     movss   8(%rdx), %xmm0
  1003.     movl    (%rbx,%rcx,4), %edx
  1004.     movslq  %r9d, %rcx
  1005.     addl    $1, %r9d
  1006.     movl    (%rbx,%rcx,4), %ecx
  1007.     mulss   %xmm6, %xmm0
  1008.     movslq  %r9d, %r9
  1009.     andl    $63, %edx
  1010.     andl    $63, %ecx
  1011.     addss   %xmm0, %xmm14
  1012.     movaps  %xmm4, %xmm0
  1013.     movzbl  (%rdi,%rcx), %ecx
  1014.     subss   %xmm8, %xmm0
  1015.     movzbl  (%rdi,%rdx), %edx
  1016.     salq    $4, %rcx
  1017.     addq    %rsi, %rcx
  1018.     salq    $4, %rdx
  1019.     movss   (%rcx), %xmm1
  1020.     addq    %rsi, %rdx
  1021.     movss   4(%rcx), %xmm2
  1022.     mulss   %xmm0, %xmm1
  1023.     mulss   %xmm11, %xmm2
  1024.     addss   %xmm2, %xmm1
  1025.     movss   8(%rcx), %xmm2
  1026.     movl    (%rbx,%r9,4), %ecx
  1027.     movslq  %r10d, %r9
  1028.     addl    $1, %r10d
  1029.     movl    (%rbx,%r9,4), %r9d
  1030.     mulss   %xmm6, %xmm2
  1031.     movslq  %r10d, %r10
  1032.     andl    $63, %ecx
  1033.     andl    $63, %r9d
  1034.     addss   %xmm2, %xmm1
  1035.     movzbl  (%rdi,%rcx), %ecx
  1036.     movzbl  (%rdi,%r9), %r9d
  1037.     salq    $4, %rcx
  1038.     salq    $4, %r9
  1039.     addq    %rsi, %rcx
  1040.     addq    %rsi, %r9
  1041.     movss   (%r9), %xmm5
  1042.     movss   4(%r9), %xmm2
  1043.     mulss   %xmm0, %xmm5
  1044.     mulss   %xmm13, %xmm2
  1045.     addss   %xmm2, %xmm5
  1046.     movss   8(%r9), %xmm2
  1047.     movl    (%rbx,%r10,4), %r9d
  1048.     mulss   %xmm6, %xmm2
  1049.     andl    $63, %r9d
  1050.     addss   %xmm2, %xmm5
  1051.     movss   (%r8), %xmm2
  1052.     movzbl  (%rdi,%r9), %r9d
  1053.     mulss   %xmm4, %xmm2
  1054.     salq    $4, %r9
  1055.     addss   %xmm15, %xmm2
  1056.     movss   8(%r8), %xmm15
  1057.     addq    %rsi, %r9
  1058.     mulss   %xmm10, %xmm15
  1059.     addss   %xmm15, %xmm2
  1060.     movss   4(%rcx), %xmm15
  1061.     mulss   %xmm11, %xmm15
  1062.     subss   %xmm3, %xmm2
  1063.     mulss   %xmm6, %xmm2
  1064.     addss   %xmm3, %xmm2
  1065.     movss   (%rcx), %xmm3
  1066.     mulss   %xmm0, %xmm3
  1067.     mulss   (%r9), %xmm0
  1068.     addss   %xmm15, %xmm3
  1069.     movss   8(%rcx), %xmm15
  1070.     mulss   %xmm10, %xmm15
  1071.     addss   %xmm15, %xmm3
  1072.     movss   4(%rdx), %xmm15
  1073.     mulss   %xmm13, %xmm15
  1074.     subss   %xmm1, %xmm3
  1075.     mulss   %xmm6, %xmm3
  1076.     addss   %xmm1, %xmm3
  1077.     movss   (%rdx), %xmm1
  1078.     mulss   %xmm4, %xmm1
  1079.     addss   %xmm15, %xmm1
  1080.     movss   8(%rdx), %xmm15
  1081.     mulss   %xmm10, %xmm15
  1082.     addss   %xmm15, %xmm1
  1083.     subss   %xmm14, %xmm1
  1084.     mulss   %xmm6, %xmm1
  1085.     addss   %xmm14, %xmm1
  1086.     subss   %xmm2, %xmm1
  1087.     mulss   %xmm12, %xmm1
  1088.     addss   %xmm2, %xmm1
  1089.     movss   .LC0(%rip), %xmm2
  1090.     mulss   %xmm4, %xmm2
  1091.     subss   .LC1(%rip), %xmm2
  1092.     mulss   %xmm4, %xmm2
  1093.     addss   .LC2(%rip), %xmm2
  1094.     mulss   %xmm4, %xmm2
  1095.     mulss   %xmm4, %xmm2
  1096.     mulss   %xmm4, %xmm2
  1097.     movss   4(%r9), %xmm4
  1098.     mulss   %xmm13, %xmm4
  1099.     addss   %xmm4, %xmm0
  1100.     movss   8(%r9), %xmm4
  1101.     mulss   %xmm10, %xmm4
  1102.     addss   %xmm4, %xmm0
  1103.     subss   %xmm5, %xmm0
  1104.     mulss   %xmm6, %xmm0
  1105.     addss   %xmm5, %xmm0
  1106.     subss   %xmm3, %xmm0
  1107.     mulss   %xmm12, %xmm0
  1108.     addss   %xmm3, %xmm0
  1109.     subss   %xmm1, %xmm0
  1110.     mulss   %xmm0, %xmm2
  1111.     addss   %xmm1, %xmm2
  1112.     movss   %xmm2, 0(%r13,%rax)
  1113.     addq    $4, %rax
  1114.     cmpq    $128, %rax
  1115.     jne .L14
  1116.     movss   40(%rsp), %xmm7
  1117.     subq    $-128, %r13
  1118.     leaq    4096+tex(%rip), %rax
  1119.     addss   %xmm9, %xmm7
  1120.     cmpq    %r13, %rax
  1121.     movss   %xmm7, 40(%rsp)
  1122.     jne .L16
  1123.     subl    $1, %r14d
  1124.     jne .L11
  1125.     call    clock
  1126.     leaq    .LC13(%rip), %rcx
  1127.     cvtsi2sd    %eax, %xmm0
  1128.     subsd   32(%rsp), %xmm0
  1129.     mulsd   .LC10(%rip), %xmm0
  1130.     divsd   .LC11(%rip), %xmm0
  1131.     movapd  %xmm0, %xmm1
  1132.     movd    %xmm0, %rdx
  1133.     call    _Z6printfPKcz
  1134.     nop
  1135.     movaps  48(%rsp), %xmm6
  1136.     xorl    %eax, %eax
  1137.     movaps  64(%rsp), %xmm7
  1138.     movaps  80(%rsp), %xmm8
  1139.     movaps  96(%rsp), %xmm9
  1140.     movaps  112(%rsp), %xmm10
  1141.     movaps  128(%rsp), %xmm11
  1142.     movaps  144(%rsp), %xmm12
  1143.     movaps  160(%rsp), %xmm13
  1144.     movaps  176(%rsp), %xmm14
  1145.     movaps  192(%rsp), %xmm15
  1146.     addq    $216, %rsp
  1147.     popq    %rbx
  1148.     popq    %rsi
  1149.     popq    %rdi
  1150.     popq    %rbp
  1151.     popq    %r12
  1152.     popq    %r13
  1153.     popq    %r14
  1154.     popq    %r15
  1155.     ret
  1156.     .seh_endproc
  1157.     .data
  1158.     .align 32
  1159. _ZZL16stb__perlin_gradifffE5basis:
  1160.     .long   1065353216
  1161.     .long   1065353216
  1162.     .long   0
  1163.     .space 4
  1164.     .long   -1082130432
  1165.     .long   1065353216
  1166.     .long   0
  1167.     .space 4
  1168.     .long   1065353216
  1169.     .long   -1082130432
  1170.     .long   0
  1171.     .space 4
  1172.     .long   -1082130432
  1173.     .long   -1082130432
  1174.     .long   0
  1175.     .space 4
  1176.     .long   1065353216
  1177.     .long   0
  1178.     .long   1065353216
  1179.     .space 4
  1180.     .long   -1082130432
  1181.     .long   0
  1182.     .long   1065353216
  1183.     .space 4
  1184.     .long   1065353216
  1185.     .long   0
  1186.     .long   -1082130432
  1187.     .space 4
  1188.     .long   -1082130432
  1189.     .long   0
  1190.     .long   -1082130432
  1191.     .space 4
  1192.     .long   0
  1193.     .long   1065353216
  1194.     .long   1065353216
  1195.     .space 4
  1196.     .long   0
  1197.     .long   -1082130432
  1198.     .long   1065353216
  1199.     .space 4
  1200.     .long   0
  1201.     .long   1065353216
  1202.     .long   -1082130432
  1203.     .space 4
  1204.     .long   0
  1205.     .long   -1082130432
  1206.     .long   -1082130432
  1207.     .space 4
  1208.     .section .rdata,"dr"
  1209.     .align 32
  1210. _ZZL16stb__perlin_gradifffE7indices:
  1211.     .byte   0
  1212.     .byte   1
  1213.     .byte   2
  1214.     .byte   3
  1215.     .byte   4
  1216.     .byte   5
  1217.     .byte   6
  1218.     .byte   7
  1219.     .byte   8
  1220.     .byte   9
  1221.     .byte   10
  1222.     .byte   11
  1223.     .byte   0
  1224.     .byte   9
  1225.     .byte   1
  1226.     .byte   11
  1227.     .byte   0
  1228.     .byte   1
  1229.     .byte   2
  1230.     .byte   3
  1231.     .byte   4
  1232.     .byte   5
  1233.     .byte   6
  1234.     .byte   7
  1235.     .byte   8
  1236.     .byte   9
  1237.     .byte   10
  1238.     .byte   11
  1239.     .byte   0
  1240.     .byte   1
  1241.     .byte   2
  1242.     .byte   3
  1243.     .byte   4
  1244.     .byte   5
  1245.     .byte   6
  1246.     .byte   7
  1247.     .byte   8
  1248.     .byte   9
  1249.     .byte   10
  1250.     .byte   11
  1251.     .byte   0
  1252.     .byte   1
  1253.     .byte   2
  1254.     .byte   3
  1255.     .byte   4
  1256.     .byte   5
  1257.     .byte   6
  1258.     .byte   7
  1259.     .byte   8
  1260.     .byte   9
  1261.     .byte   10
  1262.     .byte   11
  1263.     .byte   0
  1264.     .byte   1
  1265.     .byte   2
  1266.     .byte   3
  1267.     .byte   4
  1268.     .byte   5
  1269.     .byte   6
  1270.     .byte   7
  1271.     .byte   8
  1272.     .byte   9
  1273.     .byte   10
  1274.     .byte   11
  1275.     .globl  tex
  1276.     .bss
  1277.     .align 32
  1278. tex:
  1279.     .space 4096
  1280.     .section .rdata,"dr"
  1281.     .align 32
  1282. _ZL19stb__perlin_randtab:
  1283.     .long   23
  1284.     .long   125
  1285.     .long   161
  1286.     .long   52
  1287.     .long   103
  1288.     .long   117
  1289.     .long   70
  1290.     .long   37
  1291.     .long   247
  1292.     .long   101
  1293.     .long   203
  1294.     .long   169
  1295.     .long   124
  1296.     .long   126
  1297.     .long   44
  1298.     .long   123
  1299.     .long   152
  1300.     .long   238
  1301.     .long   145
  1302.     .long   45
  1303.     .long   171
  1304.     .long   114
  1305.     .long   253
  1306.     .long   10
  1307.     .long   192
  1308.     .long   136
  1309.     .long   4
  1310.     .long   157
  1311.     .long   249
  1312.     .long   30
  1313.     .long   35
  1314.     .long   72
  1315.     .long   175
  1316.     .long   63
  1317.     .long   77
  1318.     .long   90
  1319.     .long   181
  1320.     .long   16
  1321.     .long   96
  1322.     .long   111
  1323.     .long   133
  1324.     .long   104
  1325.     .long   75
  1326.     .long   162
  1327.     .long   93
  1328.     .long   56
  1329.     .long   66
  1330.     .long   240
  1331.     .long   8
  1332.     .long   50
  1333.     .long   84
  1334.     .long   229
  1335.     .long   49
  1336.     .long   210
  1337.     .long   173
  1338.     .long   239
  1339.     .long   141
  1340.     .long   1
  1341.     .long   87
  1342.     .long   18
  1343.     .long   2
  1344.     .long   198
  1345.     .long   143
  1346.     .long   57
  1347.     .long   225
  1348.     .long   160
  1349.     .long   58
  1350.     .long   217
  1351.     .long   168
  1352.     .long   206
  1353.     .long   245
  1354.     .long   204
  1355.     .long   199
  1356.     .long   6
  1357.     .long   73
  1358.     .long   60
  1359.     .long   20
  1360.     .long   230
  1361.     .long   211
  1362.     .long   233
  1363.     .long   94
  1364.     .long   200
  1365.     .long   88
  1366.     .long   9
  1367.     .long   74
  1368.     .long   155
  1369.     .long   33
  1370.     .long   15
  1371.     .long   219
  1372.     .long   130
  1373.     .long   226
  1374.     .long   202
  1375.     .long   83
  1376.     .long   236
  1377.     .long   42
  1378.     .long   172
  1379.     .long   165
  1380.     .long   218
  1381.     .long   55
  1382.     .long   222
  1383.     .long   46
  1384.     .long   107
  1385.     .long   98
  1386.     .long   154
  1387.     .long   109
  1388.     .long   67
  1389.     .long   196
  1390.     .long   178
  1391.     .long   127
  1392.     .long   158
  1393.     .long   13
  1394.     .long   243
  1395.     .long   65
  1396.     .long   79
  1397.     .long   166
  1398.     .long   248
  1399.     .long   25
  1400.     .long   224
  1401.     .long   115
  1402.     .long   80
  1403.     .long   68
  1404.     .long   51
  1405.     .long   184
  1406.     .long   128
  1407.     .long   232
  1408.     .long   208
  1409.     .long   151
  1410.     .long   122
  1411.     .long   26
  1412.     .long   212
  1413.     .long   105
  1414.     .long   43
  1415.     .long   179
  1416.     .long   213
  1417.     .long   235
  1418.     .long   148
  1419.     .long   146
  1420.     .long   89
  1421.     .long   14
  1422.     .long   195
  1423.     .long   28
  1424.     .long   78
  1425.     .long   112
  1426.     .long   76
  1427.     .long   250
  1428.     .long   47
  1429.     .long   24
  1430.     .long   251
  1431.     .long   140
  1432.     .long   108
  1433.     .long   186
  1434.     .long   190
  1435.     .long   228
  1436.     .long   170
  1437.     .long   183
  1438.     .long   139
  1439.     .long   39
  1440.     .long   188
  1441.     .long   244
  1442.     .long   246
  1443.     .long   132
  1444.     .long   48
  1445.     .long   119
  1446.     .long   144
  1447.     .long   180
  1448.     .long   138
  1449.     .long   134
  1450.     .long   193
  1451.     .long   82
  1452.     .long   182
  1453.     .long   120
  1454.     .long   121
  1455.     .long   86
  1456.     .long   220
  1457.     .long   209
  1458.     .long   3
  1459.     .long   91
  1460.     .long   241
  1461.     .long   149
  1462.     .long   85
  1463.     .long   205
  1464.     .long   150
  1465.     .long   113
  1466.     .long   216
  1467.     .long   31
  1468.     .long   100
  1469.     .long   41
  1470.     .long   164
  1471.     .long   177
  1472.     .long   214
  1473.     .long   153
  1474.     .long   231
  1475.     .long   38
  1476.     .long   71
  1477.     .long   185
  1478.     .long   174
  1479.     .long   97
  1480.     .long   201
  1481.     .long   29
  1482.     .long   95
  1483.     .long   7
  1484.     .long   92
  1485.     .long   54
  1486.     .long   254
  1487.     .long   191
  1488.     .long   118
  1489.     .long   34
  1490.     .long   221
  1491.     .long   131
  1492.     .long   11
  1493.     .long   163
  1494.     .long   99
  1495.     .long   234
  1496.     .long   81
  1497.     .long   227
  1498.     .long   147
  1499.     .long   156
  1500.     .long   176
  1501.     .long   17
  1502.     .long   142
  1503.     .long   69
  1504.     .long   12
  1505.     .long   110
  1506.     .long   62
  1507.     .long   27
  1508.     .long   255
  1509.     .long   0
  1510.     .long   194
  1511.     .long   59
  1512.     .long   116
  1513.     .long   242
  1514.     .long   252
  1515.     .long   19
  1516.     .long   21
  1517.     .long   187
  1518.     .long   53
  1519.     .long   207
  1520.     .long   129
  1521.     .long   64
  1522.     .long   135
  1523.     .long   61
  1524.     .long   40
  1525.     .long   167
  1526.     .long   237
  1527.     .long   102
  1528.     .long   223
  1529.     .long   106
  1530.     .long   159
  1531.     .long   197
  1532.     .long   189
  1533.     .long   215
  1534.     .long   137
  1535.     .long   36
  1536.     .long   32
  1537.     .long   22
  1538.     .long   5
  1539.     .long   23
  1540.     .long   125
  1541.     .long   161
  1542.     .long   52
  1543.     .long   103
  1544.     .long   117
  1545.     .long   70
  1546.     .long   37
  1547.     .long   247
  1548.     .long   101
  1549.     .long   203
  1550.     .long   169
  1551.     .long   124
  1552.     .long   126
  1553.     .long   44
  1554.     .long   123
  1555.     .long   152
  1556.     .long   238
  1557.     .long   145
  1558.     .long   45
  1559.     .long   171
  1560.     .long   114
  1561.     .long   253
  1562.     .long   10
  1563.     .long   192
  1564.     .long   136
  1565.     .long   4
  1566.     .long   157
  1567.     .long   249
  1568.     .long   30
  1569.     .long   35
  1570.     .long   72
  1571.     .long   175
  1572.     .long   63
  1573.     .long   77
  1574.     .long   90
  1575.     .long   181
  1576.     .long   16
  1577.     .long   96
  1578.     .long   111
  1579.     .long   133
  1580.     .long   104
  1581.     .long   75
  1582.     .long   162
  1583.     .long   93
  1584.     .long   56
  1585.     .long   66
  1586.     .long   240
  1587.     .long   8
  1588.     .long   50
  1589.     .long   84
  1590.     .long   229
  1591.     .long   49
  1592.     .long   210
  1593.     .long   173
  1594.     .long   239
  1595.     .long   141
  1596.     .long   1
  1597.     .long   87
  1598.     .long   18
  1599.     .long   2
  1600.     .long   198
  1601.     .long   143
  1602.     .long   57
  1603.     .long   225
  1604.     .long   160
  1605.     .long   58
  1606.     .long   217
  1607.     .long   168
  1608.     .long   206
  1609.     .long   245
  1610.     .long   204
  1611.     .long   199
  1612.     .long   6
  1613.     .long   73
  1614.     .long   60
  1615.     .long   20
  1616.     .long   230
  1617.     .long   211
  1618.     .long   233
  1619.     .long   94
  1620.     .long   200
  1621.     .long   88
  1622.     .long   9
  1623.     .long   74
  1624.     .long   155
  1625.     .long   33
  1626.     .long   15
  1627.     .long   219
  1628.     .long   130
  1629.     .long   226
  1630.     .long   202
  1631.     .long   83
  1632.     .long   236
  1633.     .long   42
  1634.     .long   172
  1635.     .long   165
  1636.     .long   218
  1637.     .long   55
  1638.     .long   222
  1639.     .long   46
  1640.     .long   107
  1641.     .long   98
  1642.     .long   154
  1643.     .long   109
  1644.     .long   67
  1645.     .long   196
  1646.     .long   178
  1647.     .long   127
  1648.     .long   158
  1649.     .long   13
  1650.     .long   243
  1651.     .long   65
  1652.     .long   79
  1653.     .long   166
  1654.     .long   248
  1655.     .long   25
  1656.     .long   224
  1657.     .long   115
  1658.     .long   80
  1659.     .long   68
  1660.     .long   51
  1661.     .long   184
  1662.     .long   128
  1663.     .long   232
  1664.     .long   208
  1665.     .long   151
  1666.     .long   122
  1667.     .long   26
  1668.     .long   212
  1669.     .long   105
  1670.     .long   43
  1671.     .long   179
  1672.     .long   213
  1673.     .long   235
  1674.     .long   148
  1675.     .long   146
  1676.     .long   89
  1677.     .long   14
  1678.     .long   195
  1679.     .long   28
  1680.     .long   78
  1681.     .long   112
  1682.     .long   76
  1683.     .long   250
  1684.     .long   47
  1685.     .long   24
  1686.     .long   251
  1687.     .long   140
  1688.     .long   108
  1689.     .long   186
  1690.     .long   190
  1691.     .long   228
  1692.     .long   170
  1693.     .long   183
  1694.     .long   139
  1695.     .long   39
  1696.     .long   188
  1697.     .long   244
  1698.     .long   246
  1699.     .long   132
  1700.     .long   48
  1701.     .long   119
  1702.     .long   144
  1703.     .long   180
  1704.     .long   138
  1705.     .long   134
  1706.     .long   193
  1707.     .long   82
  1708.     .long   182
  1709.     .long   120
  1710.     .long   121
  1711.     .long   86
  1712.     .long   220
  1713.     .long   209
  1714.     .long   3
  1715.     .long   91
  1716.     .long   241
  1717.     .long   149
  1718.     .long   85
  1719.     .long   205
  1720.     .long   150
  1721.     .long   113
  1722.     .long   216
  1723.     .long   31
  1724.     .long   100
  1725.     .long   41
  1726.     .long   164
  1727.     .long   177
  1728.     .long   214
  1729.     .long   153
  1730.     .long   231
  1731.     .long   38
  1732.     .long   71
  1733.     .long   185
  1734.     .long   174
  1735.     .long   97
  1736.     .long   201
  1737.     .long   29
  1738.     .long   95
  1739.     .long   7
  1740.     .long   92
  1741.     .long   54
  1742.     .long   254
  1743.     .long   191
  1744.     .long   118
  1745.     .long   34
  1746.     .long   221
  1747.     .long   131
  1748.     .long   11
  1749.     .long   163
  1750.     .long   99
  1751.     .long   234
  1752.     .long   81
  1753.     .long   227
  1754.     .long   147
  1755.     .long   156
  1756.     .long   176
  1757.     .long   17
  1758.     .long   142
  1759.     .long   69
  1760.     .long   12
  1761.     .long   110
  1762.     .long   62
  1763.     .long   27
  1764.     .long   255
  1765.     .long   0
  1766.     .long   194
  1767.     .long   59
  1768.     .long   116
  1769.     .long   242
  1770.     .long   252
  1771.     .long   19
  1772.     .long   21
  1773.     .long   187
  1774.     .long   53
  1775.     .long   207
  1776.     .long   129
  1777.     .long   64
  1778.     .long   135
  1779.     .long   61
  1780.     .long   40
  1781.     .long   167
  1782.     .long   237
  1783.     .long   102
  1784.     .long   223
  1785.     .long   106
  1786.     .long   159
  1787.     .long   197
  1788.     .long   189
  1789.     .long   215
  1790.     .long   137
  1791.     .long   36
  1792.     .long   32
  1793.     .long   22
  1794.     .long   5
  1795.     .align 4
  1796. .LC0:
  1797.     .long   1086324736
  1798.     .align 4
  1799. .LC1:
  1800.     .long   1097859072
  1801.     .align 4
  1802. .LC2:
  1803.     .long   1092616192
  1804.     .align 4
  1805. .LC3:
  1806.     .long   1065353216
  1807.     .align 4
  1808. .LC6:
  1809.     .long   1015021568
  1810.     .align 4
  1811. .LC7:
  1812.     .long   1056964608
  1813.     .align 4
  1814. .LC8:
  1815.     .long   -1090519040
  1816.     .align 4
  1817. .LC9:
  1818.     .long   1023410176
  1819.     .align 8
  1820. .LC10:
  1821.     .long   0
  1822.     .long   1104006501
  1823.     .align 8
  1824. .LC11:
  1825.     .long   0
  1826.     .long   1104101376
  1827.     .ident  "GCC: (rev5, Built by MinGW-W64 project) 4.8.1"
  1828.     .def    floor;  .scl    2;  .type   32; .endef
  1829.     .def    __mingw_vprintf;    .scl    2;  .type   32; .endef
  1830.     .def    clock;  .scl    2;  .type   32; .endef
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement