[LLVMdev] llvm.x86.sse2.sqrt.pd not using sqrtpd, calling a function that modifies ECX
Peter Newman
peter at uformia.com
Thu Jul 18 23:34:56 PDT 2013
(Changing subject line as diagnosis has changed)
I'm attaching the compiled code that I've been getting, both with
CodeGenOpt::Default and CodeGenOpt::None . The crash isn't occurring
with CodeGenOpt::None, but that seems to be because ECX isn't being used
- it still gets set to 0x7fffffff by one of the calls to 76719BA1
I notice that X86::SQRTPD[m|r] appear in X86InstrInfo::isHighLatencyDef.
I was thinking an optimization might be removing it, but I don't get the
sqrtpd instruction even if the createJIT optimization level turned off.
I am trying this with the Release 3.3 code - I'll try it with trunk and
see if I get a different result there. Maybe there was a recent commit
for this.
--
Peter N
On 19/07/2013 4:00 PM, Craig Topper wrote:
> Hmm, I'm not able to get those .ll files to compile if I disable SSE
> and I end up with SSE instructions(including sqrtpd) if I don't
> disable it.
>
>
> On Thu, Jul 18, 2013 at 10:53 PM, Peter Newman <peter at uformia.com
> <mailto:peter at uformia.com>> wrote:
>
> Is there something specifically required to enable SSE? If it's
> not detected as available (based from the target triple?) then I
> don't think we enable it specifically.
>
> Also it seems that it should handle converting to/from the vector
> types, although I can see it getting confused about needing to do
> that if it thinks SSE isn't available at all.
>
>
> On 19/07/2013 3:47 PM, Craig Topper wrote:
>> Hmm, maybe sse isn't being enabled so its falling back to
>> emulating sqrt?
>>
>>
>> On Thu, Jul 18, 2013 at 10:45 PM, Peter Newman <peter at uformia.com
>> <mailto:peter at uformia.com>> wrote:
>>
>> In the disassembly, I'm seeing three cases of
>> call 76719BA1
>>
>> I am assuming this is the sqrt function as this is the only
>> function called in the LLVM IR.
>>
>> The code at 76719BA1 is:
>>
>> 76719BA1 push ebp
>> 76719BA2 mov ebp,esp
>> 76719BA4 sub esp,20h
>> 76719BA7 and esp,0FFFFFFF0h
>> 76719BAA fld st(0)
>> 76719BAC fst dword ptr [esp+18h]
>> 76719BB0 fistp qword ptr [esp+10h]
>> 76719BB4 fild qword ptr [esp+10h]
>> 76719BB8 mov edx,dword ptr [esp+18h]
>> 76719BBC mov eax,dword ptr [esp+10h]
>> 76719BC0 test eax,eax
>> 76719BC2 je 76719DCF
>> 76719BC8 fsubp st(1),st
>> 76719BCA test edx,edx
>> 76719BCC js 7671F9DB
>> 76719BD2 fstp dword ptr [esp]
>> 76719BD5 mov ecx,dword ptr [esp]
>> 76719BD8 add ecx,7FFFFFFFh
>> 76719BDE sbb eax,0
>> 76719BE1 mov edx,dword ptr [esp+14h]
>> 76719BE5 sbb edx,0
>> 76719BE8 leave
>> 76719BE9 ret
>>
>>
>> As you can see at 76719BD5, it modifies ECX .
>>
>> I don't know that this is the sqrtpd function (for example,
>> I'm not seeing any SSE instructions here?) but whatever it
>> is, it's being called from the IR I attached earlier, and is
>> modifying ECX under some circumstances.
>>
>>
>> On 19/07/2013 3:29 PM, Craig Topper wrote:
>>> That should map directly to sqrtpd which can't modify ecx.
>>>
>>>
>>> On Thu, Jul 18, 2013 at 10:27 PM, Peter Newman
>>> <peter at uformia.com <mailto:peter at uformia.com>> wrote:
>>>
>>> Sorry, that should have been llvm.x86.sse2.sqrt.pd
>>>
>>>
>>> On 19/07/2013 3:25 PM, Craig Topper wrote:
>>>> What is "frep.x86.sse2.sqrt.pd". I'm only familiar with
>>>> things prefixed with "llvm.x86".
>>>>
>>>>
>>>> On Thu, Jul 18, 2013 at 10:12 PM, Peter Newman
>>>> <peter at uformia.com <mailto:peter at uformia.com>> wrote:
>>>>
>>>> After stepping through the produced assembly, I
>>>> believe I have a culprit.
>>>>
>>>> One of the calls to @frep.x86.sse2.sqrt.pd is
>>>> modifying the value of ECX - while the produced
>>>> code is expecting it to still contain its previous
>>>> value.
>>>>
>>>> Peter N
>>>>
>>>>
>>>> On 19/07/2013 2:09 PM, Peter Newman wrote:
>>>>> I've attached the module->dump() that our code is
>>>>> producing. Unfortunately this is the smallest test
>>>>> case I have available.
>>>>>
>>>>> This is before any optimization passes are
>>>>> applied. There are two separate modules in
>>>>> existence at the time, and there are no guarantees
>>>>> about the order the surrounding code calls those
>>>>> functions, so there may be some interaction
>>>>> between them? There shouldn't be, they don't refer
>>>>> to any common memory etc. There is no
>>>>> multi-threading occurring.
>>>>>
>>>>> The function in module-dump.ll (called crashfunc
>>>>> in this file) is called with
>>>>> - func_params 0x0018f3b0 double [3]
>>>>> [0x0] -11.339976634695301 double
>>>>> [0x1] -9.7504239056205506 double
>>>>> [0x2] -5.2900856817382804 double
>>>>> at the time of the exception.
>>>>>
>>>>> This is compiled on a "i686-pc-win32" triple. All
>>>>> of the non-intrinsic functions referred to in
>>>>> these modules are the standard equivalents from
>>>>> the MSVC library (e.g. @asin is the standard C lib
>>>>> double asin( double ) ).
>>>>>
>>>>> Hopefully this is reproducible for you.
>>>>>
>>>>> --
>>>>> PeterN
>>>>>
>>>>> On 18/07/2013 4:37 PM, Craig Topper wrote:
>>>>>> Are you able to send any IR for others to
>>>>>> reproduce this issue?
>>>>>>
>>>>>>
>>>>>> On Wed, Jul 17, 2013 at 11:23 PM, Peter Newman
>>>>>> <peter at uformia.com <mailto:peter at uformia.com>> wrote:
>>>>>>
>>>>>> Unfortunately, this doesn't appear to be the
>>>>>> bug I'm hitting. I applied the fix to my
>>>>>> source and it didn't make a difference.
>>>>>>
>>>>>> Also further testing found me getting the
>>>>>> same behavior with other SIMD instructions.
>>>>>> The common factor is in each case, ECX is set
>>>>>> to 0x7fffffff, and it's an operation using
>>>>>> xmm ptr ecx+offset .
>>>>>>
>>>>>> Additionally, turning the optimization level
>>>>>> passed to createJIT down appears to avoid it,
>>>>>> so I'm now leaning towards a bug in one of
>>>>>> the optimization passes.
>>>>>>
>>>>>> I'm going to dig through the passes
>>>>>> controlled by that parameter and see if I can
>>>>>> narrow down which optimization is causing it.
>>>>>>
>>>>>> Peter N
>>>>>>
>>>>>>
>>>>>> On 17/07/2013 1:58 PM, Solomon Boulos wrote:
>>>>>>
>>>>>> As someone off list just told me, perhaps
>>>>>> my new bug is the same issue:
>>>>>>
>>>>>> http://llvm.org/bugs/show_bug.cgi?id=16640
>>>>>>
>>>>>> Do you happen to be using FastISel?
>>>>>>
>>>>>> Solomon
>>>>>>
>>>>>> On Jul 16, 2013, at 6:39 PM, Peter Newman
>>>>>> <peter at uformia.com
>>>>>> <mailto:peter at uformia.com>> wrote:
>>>>>>
>>>>>> Hello all,
>>>>>>
>>>>>> I'm currently in the process of
>>>>>> debugging a crash occurring in our
>>>>>> program. In LLVM 3.2 and 3.3 it
>>>>>> appears that JIT generated code is
>>>>>> attempting to perform access
>>>>>> unaligned memory with a SSE2
>>>>>> instruction. However this only
>>>>>> happens under certain conditions that
>>>>>> seem (but may not be) related to the
>>>>>> stacks state on calling the function.
>>>>>>
>>>>>> Our program acts as a front-end,
>>>>>> using the LLVM C++ API to generate a
>>>>>> JIT generated function. This function
>>>>>> is primarily mathematical, so we use
>>>>>> the Vector types to take advantage of
>>>>>> SIMD instructions (as well as a few
>>>>>> SSE2 intrinsics).
>>>>>>
>>>>>> This worked in LLVM 2.8 but started
>>>>>> failing in 3.2 and has continued to
>>>>>> fail in 3.3. It fails with no
>>>>>> optimizations applied to the LLVM
>>>>>> Function/Module. It crashes with what
>>>>>> is reported as a memory access error
>>>>>> (accessing 0xffffffff), however it's
>>>>>> suggested that this is how the SSE
>>>>>> fault raising mechanism appears.
>>>>>>
>>>>>> The generated instruction varies, but
>>>>>> it seems to often be similar to (I
>>>>>> don't have it in front of me, sorry):
>>>>>> movapd xmm0, xmm[ecx+0x???????]
>>>>>> Where the xmm register changes, and
>>>>>> the second parameter is a memory access.
>>>>>> ECX is always set to 0x7ffffff -
>>>>>> however I don't know if this is part
>>>>>> of the SSE error reporting process or
>>>>>> is part of the situation causing the
>>>>>> error.
>>>>>>
>>>>>> I haven't worked out exactly what
>>>>>> code path etc is causing this crash.
>>>>>> I'm hoping that someone can tell me
>>>>>> if there were any changed
>>>>>> requirements for working with SIMD in
>>>>>> LLVM 3.2 (or earlier, we haven't
>>>>>> tried 3.0 or 3.1). I currently
>>>>>> suspect the use of GlobalVariable (we
>>>>>> first discovered the crash when using
>>>>>> a feature that uses them), however I
>>>>>> have attempted using setAlignment on
>>>>>> the GlobalVariables without any change.
>>>>>>
>>>>>> --
>>>>>> Peter N
>>>>>> _______________________________________________
>>>>>> LLVM Developers mailing list
>>>>>> LLVMdev at cs.uiuc.edu
>>>>>> <mailto:LLVMdev at cs.uiuc.edu>
>>>>>> http://llvm.cs.uiuc.edu
>>>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> LLVM Developers mailing list
>>>>>> LLVMdev at cs.uiuc.edu
>>>>>> <mailto:LLVMdev at cs.uiuc.edu>
>>>>>> http://llvm.cs.uiuc.edu
>>>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> ~Craig
>>>>>
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> ~Craig
>>>
>>>
>>>
>>>
>>> --
>>> ~Craig
>>
>>
>>
>>
>> --
>> ~Craig
>
>
>
>
> --
> ~Craig
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130719/d61f6a7f/attachment.html>
-------------- next part --------------
002E00D0 push ebp
002E00D1 mov ebp,esp
002E00D3 push ebx
002E00D4 push edi
002E00D5 push esi
002E00D6 and esp,0FFFFFFF0h
002E00DC sub esp,110h
002E00E2 mov eax,dword ptr [ebp+8]
002E00E5 movddup xmm0,mmword ptr [eax+10h]
002E00EA movapd xmmword ptr [esp+80h],xmm0
002E00F3 movddup xmm0,mmword ptr [eax+8]
002E00F8 movapd xmmword ptr [esp+70h],xmm0
002E00FE movddup xmm0,mmword ptr [eax]
002E0102 movapd xmmword ptr [esp+60h],xmm0
002E0108 xorpd xmm0,xmm0
002E010C movapd xmmword ptr [esp+0C0h],xmm0
002E0115 xorpd xmm1,xmm1
002E0119 xorpd xmm7,xmm7
002E011D movapd xmmword ptr [esp+0A0h],xmm1
002E0126 movapd xmmword ptr [esp+0B0h],xmm7
002E012F movapd xmm3,xmm1
002E0133 movlpd qword ptr [esp+0F0h],xmm3
002E013C movhpd qword ptr [esp+0E0h],xmm3
002E0145 movlpd qword ptr [esp+100h],xmm7
002E014E pshufd xmm0,xmm7,44h
002E0153 movdqa xmm5,xmm0
002E0157 xorpd xmm4,xmm4
002E015B mulpd xmm5,xmm4
002E015F pshufd xmm2,xmm3,44h
002E0164 movdqa xmm1,xmm2
002E0168 mulpd xmm1,xmm4
002E016C xorpd xmm7,xmm7
002E0170 movapd xmm4,xmmword ptr [esp+70h]
002E0176 subpd xmm4,xmm1
002E017A pshufd xmm3,xmm3,0EEh
002E017F subpd xmm4,xmm3
002E0183 subpd xmm4,xmm5
002E0187 fld qword ptr [esp+0F0h]
002E018E call 76719BA1 CALL
002E0193 imul ebx,eax,0Ch
002E0196 lea esi,[ebx+3]
002E0199 shl esi,4
002E019C movapd xmm6,xmmword ptr [esi+2C0030h]
002E01A4 mulpd xmm6,xmm4
002E01A8 mulpd xmm3,xmm7
002E01AC movapd xmm7,xmmword ptr [esp+60h]
002E01B2 subpd xmm7,xmm2
002E01B6 subpd xmm7,xmm3
002E01BA subpd xmm7,xmm5
002E01BE movapd xmm2,xmmword ptr [esi+2C0020h]
002E01C6 mulpd xmm2,xmm7
002E01CA addpd xmm2,xmm6
002E01CE movapd xmm5,xmmword ptr [esp+80h]
002E01D7 subpd xmm5,xmm1
002E01DB subpd xmm5,xmm3
002E01DF mulpd xmm0,xmmword ptr ds:[2E0010h]
002E01E7 subpd xmm5,xmm0
002E01EB movapd xmm6,xmmword ptr [esi+2C0040h]
002E01F3 mulpd xmm6,xmm5
002E01F7 addpd xmm6,xmm2
002E01FB addpd xmm6,xmmword ptr [esi+2C0050h]
002E0203 fld qword ptr [esp+0E0h]
002E020A call 76719BA1 CALL
002E020F imul edi,eax,0Ch
002E0212 lea ecx,[edi+3] First time ECX is touched
002E0215 shl ecx,4
002E0218 movapd xmm0,xmmword ptr [ecx+2C0030h] ***
002E0220 mulpd xmm0,xmm6
002E0224 mov eax,ebx
002E0226 shl eax,4
002E0229 movapd xmm1,xmmword ptr [eax+2C0010h]
002E0231 mulpd xmm1,xmm7
002E0235 or ebx,1
002E0238 shl ebx,4
002E023B movapd xmm2,xmmword ptr [ebx+2C0010h]
002E0243 mulpd xmm2,xmm4
002E0247 addpd xmm2,xmm1
002E024B movapd xmm3,xmmword ptr [ebx+2C0020h]
002E0253 mulpd xmm3,xmm5
002E0257 addpd xmm3,xmm2
002E025B addpd xmm3,xmmword ptr [esi+2C0010h]
002E0263 movapd xmm1,xmmword ptr [ecx+2C0020h] ***
002E026B mulpd xmm1,xmm3
002E026F addpd xmm1,xmm0
002E0273 mulpd xmm4,xmmword ptr [esi+2C0070h]
002E027B mulpd xmm7,xmmword ptr [esi+2C0060h]
002E0283 addpd xmm7,xmm4
002E0287 mulpd xmm5,xmmword ptr [esi+2C0080h]
002E028F addpd xmm5,xmm7
002E0293 addpd xmm5,xmmword ptr [esi+2C0090h]
002E029B movapd xmm7,xmmword ptr [ecx+2C0040h] ***
002E02A3 mulpd xmm7,xmm5
002E02A7 addpd xmm7,xmm1
002E02AB addpd xmm7,xmmword ptr [ecx+2C0050h] ***
002E02B3 fld qword ptr [esp+100h]
002E02BA call 76719BA1 CALL
002E02BF imul edx,eax,0Ch
002E02C2 lea eax,[edx+3]
002E02C5 shl eax,4
002E02C8 movapd xmm1,xmmword ptr [eax+2C0130h]
002E02D0 mulpd xmm1,xmm7
002E02D4 lea esi,[edi+1]
002E02D7 shl esi,4
002E02DA movapd xmm0,xmmword ptr [esi+2C0010h]
002E02E2 mulpd xmm0,xmm6
002E02E6 shl edi,4
002E02E9 movapd xmm2,xmmword ptr [edi+2C0010h]
002E02F1 mulpd xmm2,xmm3
002E02F5 addpd xmm2,xmm0
002E02F9 movapd xmm0,xmmword ptr [esi+2C0020h]
002E0301 mulpd xmm0,xmm5
002E0305 addpd xmm0,xmm2
002E0309 addpd xmm0,xmmword ptr [ecx+2C0010h] ***
002E0311 movapd xmm2,xmmword ptr [eax+2C0120h] ***
002E0319 mulpd xmm2,xmm0
002E031D addpd xmm2,xmm1
002E0321 mulpd xmm6,xmmword ptr [ecx+2C0070h] ***
002E0329 mulpd xmm3,xmmword ptr [ecx+2C0060h] ***
002E0331 addpd xmm3,xmm6
002E0335 mulpd xmm5,xmmword ptr [ecx+2C0080h] ***
002E033D addpd xmm5,xmm3
002E0341 addpd xmm5,xmmword ptr [ecx+2C0090h] ***
002E0349 movapd xmm6,xmmword ptr [eax+2C0140h] ***
002E0351 mulpd xmm6,xmm5
002E0355 addpd xmm6,xmm2
002E0359 addpd xmm6,xmmword ptr [eax+2C0150h] ***
002E0361 movapd xmm2,xmm6
002E0365 mulpd xmm2,xmmword ptr ds:[2E00C0h]
002E036D lea ecx,[edx+1] ECX set
002E0370 shl ecx,4
002E0373 movapd xmm1,xmmword ptr [ecx+2C00D0h]
002E037B mulpd xmm1,xmm7
002E037F shl edx,4
002E0382 movapd xmm3,xmmword ptr [edx+2C00D0h]
002E038A mulpd xmm3,xmm0
002E038E addpd xmm3,xmm1
002E0392 movapd xmm4,xmmword ptr [ecx+2C00E0h]
002E039A mulpd xmm4,xmm5
002E039E addpd xmm4,xmm3
002E03A2 addpd xmm4,xmmword ptr [eax+2C00D0h]
002E03AA movapd xmm3,xmm4
002E03AE addpd xmm3,xmmword ptr ds:[2E0020h]
002E03B6 movapd xmm1,xmm3
002E03BA subpd xmm1,xmm2
002E03BE movapd xmmword ptr [esp+90h],xmm1
002E03C7 movapd xmm2,xmmword ptr ds:[2E0030h]
002E03CF mulpd xmm1,xmm2
002E03D3 mulpd xmm7,xmmword ptr [eax+2C00F0h]
002E03DB mulpd xmm0,xmmword ptr [eax+2C00E0h]
002E03E3 addpd xmm0,xmm7
002E03E7 mulpd xmm5,xmmword ptr [eax+2C0100h]
002E03EF addpd xmm5,xmm0
002E03F3 addpd xmm5,xmmword ptr [eax+2C0110h]
002E03FB movapd xmm0,xmm5
002E03FF addpd xmm0,xmmword ptr ds:[2E0040h]
002E0407 movapd xmm7,xmm0
002E040B movapd xmm2,xmmword ptr ds:[2E0050h]
002E0413 mulpd xmm7,xmm2
002E0417 subpd xmm7,xmm1
002E041B xorpd xmm1,xmm1
002E041F mulpd xmm3,xmm1
002E0423 addpd xmm3,xmm6
002E0427 movapd xmm2,xmm3
002E042B mulpd xmm2,xmm1
002E042F addpd xmm2,xmm7
002E0433 addpd xmm2,xmm1
002E0437 movapd xmm1,xmmword ptr ds:[2E0060h]
002E043F mulpd xmm2,xmm1
002E0443 mulpd xmm2,xmm2
002E0447 movapd xmm1,xmmword ptr [esp+90h]
002E0450 mulpd xmm1,xmmword ptr ds:[2E0050h]
002E0458 mulpd xmm0,xmmword ptr ds:[2E0030h]
002E0460 addpd xmm0,xmm1
002E0464 addpd xmm0,xmmword ptr ds:[2E00C0h]
002E046C movapd xmm1,xmmword ptr ds:[2E0060h]
002E0474 mulpd xmm0,xmm1
002E0478 mulpd xmm0,xmm0
002E047C addpd xmm0,xmm2
002E0480 mulpd xmm7,xmmword ptr ds:[2E00C0h]
002E0488 xorpd xmm2,xmm2
002E048C subpd xmm3,xmm7
002E0490 addpd xmm3,xmm2
002E0494 mulpd xmm3,xmm1
002E0498 mulpd xmm3,xmm3
002E049C addpd xmm3,xmm0
002E04A0 movapd xmm7,xmmword ptr ds:[2E0070h]
002E04A8 movapd xmm0,xmm7
002E04AC subpd xmm0,xmm3
002E04B0 movapd xmm1,xmmword ptr ds:[2E0080h]
002E04B8 mulpd xmm5,xmm1
002E04BC mulpd xmm5,xmm5
002E04C0 mulpd xmm4,xmm1
002E04C4 mulpd xmm4,xmm4
002E04C8 addpd xmm4,xmm5
002E04CC mulpd xmm6,xmm1
002E04D0 mulpd xmm6,xmm6
002E04D4 addpd xmm6,xmm4
002E04D8 movapd xmm2,xmm7
002E04DC subpd xmm2,xmm6
002E04E0 movapd xmm1,xmm2
002E04E4 addpd xmm1,xmm0
002E04E8 mulpd xmm0,xmm0
002E04EC mulpd xmm2,xmm2
002E04F0 addpd xmm2,xmm0
002E04F4 sqrtpd xmm0,xmm2
002E04F8 addpd xmm0,xmm1
002E04FC addpd xmm2,xmm7
002E0500 movsd xmm4,mmword ptr ds:[2E0090h]
002E0508 movapd xmm1,xmm4
002E050C divsd xmm1,xmm2
002E0510 unpckhpd xmm2,xmm2
002E0514 movapd xmm3,xmm4
002E0518 divsd xmm3,xmm2
002E051C unpcklpd xmm1,xmm3
002E0520 mulpd xmm1,xmmword ptr ds:[2E00A0h]
002E0528 addpd xmm1,xmm0
002E052C movapd xmm3,xmmword ptr [esp+0A0h]
002E0535 movapd xmm0,xmm3
002E0539 unpckhpd xmm0,xmm0
002E053D movapd xmm2,xmm3
002E0541 movapd xmm6,xmm3
002E0545 addsd xmm2,xmm0
002E0549 movapd xmm3,xmmword ptr [esp+0B0h]
002E0552 addsd xmm2,xmm3
002E0556 movapd xmm7,xmm3
002E055A xorpd xmm3,xmm3
002E055E ucomisd xmm2,xmm3
002E0562 setnp al
002E0565 sete cl
002E0568 test al,cl
002E056A jne 002E059A
002E0570 movapd xmm5,xmmword ptr [esp+0C0h]
002E0579 movapd xmm2,xmm5
002E057D addpd xmm2,xmm1
002E0581 mulpd xmm1,xmm1
002E0585 mulpd xmm5,xmm5
002E0589 addpd xmm5,xmm1
002E058D sqrtpd xmm5,xmm5
002E0591 addpd xmm5,xmm2
002E0595 jmp 002E059E
002E059A movapd xmm5,xmm1
002E059E movapd xmmword ptr [esp+0C0h],xmm5
002E05A7 movapd xmm2,xmm6
002E05AB addsd xmm2,xmm4
002E05AF ucomisd xmm2,xmm4
002E05B3 xorpd xmm1,xmm1
002E05B7 jae 002E05C1
002E05BD movapd xmm1,xmm2
002E05C1 jb 002E05CB
002E05C7 addsd xmm0,xmm4
002E05CB ucomisd xmm0,xmm4
002E05CF xorpd xmm2,xmm2
002E05D3 jae 002E05DD
002E05D9 movapd xmm2,xmm0
002E05DD movsd xmm6,xmm1
002E05E1 unpcklpd xmm6,xmm2
002E05E5 movapd xmm1,xmm6
002E05E9 movapd xmm0,xmm7
002E05ED jb 002E05F7
002E05F3 addsd xmm0,xmm4
002E05F7 ucomisd xmm0,mmword ptr ds:[2E00B0h]
002E05FF jae 002E0609
002E0605 movapd xmm3,xmm0
002E0609 movsd xmm7,xmm3
002E060D jb 002E011D
002E0613 movapd xmm0,xmmword ptr [esp+0C0h]
002E061C movlpd qword ptr [esp+0D0h],xmm0
002E0625 fld qword ptr [esp+0D0h]
002E062C lea esp,[ebp-0Ch]
002E062F pop esi
002E0630 pop edi
002E0631 pop ebx
002E0632 pop ebp
002E0633 ret
-------------- next part --------------
002B00B8 push ebp
002B00B9 mov ebp,esp
002B00BB and esp,0FFFFFFF0h
002B00C1 sub esp,540h
002B00C7 mov eax,dword ptr [ebp+8]
002B00CA movsd xmm0,mmword ptr [eax+10h]
002B00CF unpcklpd xmm0,xmm0
002B00D3 movsd xmm1,mmword ptr [eax]
002B00D7 movsd xmm2,mmword ptr [eax+8]
002B00DC unpcklpd xmm2,xmm2
002B00E0 unpcklpd xmm1,xmm1
002B00E4 xorps xmm3,xmm3
002B00E7 movaps xmm4,xmm3
002B00EA movaps xmm5,xmm3
002B00ED movaps xmmword ptr [esp+4F0h],xmm2
002B00F5 movaps xmmword ptr [esp+4E0h],xmm0
002B00FD movaps xmmword ptr [esp+4D0h],xmm1
002B0105 movaps xmmword ptr [esp+4C0h],xmm5
002B010D movaps xmmword ptr [esp+4B0h],xmm3
002B0115 movaps xmmword ptr [esp+4A0h],xmm4
002B011D movaps xmm0,xmmword ptr [esp+4C0h]
002B0125 movaps xmm1,xmmword ptr [esp+4B0h]
002B012D movaps xmm2,xmmword ptr [esp+4A0h]
002B0135 movaps xmm3,xmm1
002B0138 movaps xmm4,xmm1
002B013B shufpd xmm4,xmm4,0
002B0140 movaps xmm5,xmmword ptr [esp+4D0h]
002B0148 subpd xmm5,xmm4
002B014C xorps xmm6,xmm6
002B014F mulpd xmm4,xmm6
002B0153 xorps xmm7,xmm7
002B0156 movaps xmmword ptr [esp+490h],xmm0
002B015E movaps xmm0,xmmword ptr [esp+4F0h]
002B0166 subpd xmm0,xmm4
002B016A movaps xmmword ptr [esp+480h],xmm0
002B0172 movaps xmm0,xmmword ptr [esp+4E0h]
002B017A subpd xmm0,xmm4
002B017E movaps xmm4,xmm1
002B0181 shufpd xmm4,xmm4,3
002B0186 movaps xmmword ptr [esp+470h],xmm0
002B018E movaps xmm0,xmm4
002B0191 mulpd xmm0,xmm6
002B0195 subpd xmm5,xmm0
002B0199 movaps xmmword ptr [esp+460h],xmm0
002B01A1 movaps xmm0,xmmword ptr [esp+480h]
002B01A9 subpd xmm0,xmm4
002B01AD movaps xmm4,xmmword ptr [esp+470h]
002B01B5 movaps xmmword ptr [esp+450h],xmm0
002B01BD movaps xmm0,xmmword ptr [esp+460h]
002B01C5 subpd xmm4,xmm0
002B01C9 movaps xmm0,xmm2
002B01CC movsd mmword ptr [esp+448h],xmm0
002B01D5 movaps xmm0,xmm2
002B01D8 shufpd xmm0,xmm0,0
002B01DD movaps xmmword ptr [esp+430h],xmm0
002B01E5 mulpd xmm0,xmm6
002B01E9 subpd xmm5,xmm0
002B01ED movaps xmmword ptr [esp+420h],xmm0
002B01F5 movaps xmm0,xmmword ptr [esp+450h]
002B01FD movaps xmmword ptr [esp+410h],xmm1
002B0205 movaps xmm1,xmmword ptr [esp+420h]
002B020D subpd xmm0,xmm1
002B0211 movapd xmm1,xmmword ptr ds:[2B0010h]
002B0219 movaps xmmword ptr [esp+400h],xmm0
002B0221 movaps xmm0,xmmword ptr [esp+430h]
002B0229 mulpd xmm0,xmm1
002B022D subpd xmm4,xmm0
002B0231 movaps xmm0,xmmword ptr [esp+410h]
002B0239 movlpd qword ptr [esp+520h],xmm0
002B0242 fld qword ptr [esp+520h]
002B0249 call 76719BA1
002B024E imul eax,eax,0Ch
002B0251 mov edx,eax
002B0253 shl edx,4
002B0256 movapd xmm1,xmmword ptr [edx+330010h]
002B025E mov edx,eax
002B0260 or edx,1
002B0263 shl edx,4
002B0266 movapd xmm0,xmmword ptr [edx+330010h]
002B026E movaps xmmword ptr [esp+3F0h],xmm0
002B0276 movapd xmm0,xmmword ptr [edx+330020h]
002B027E or eax,3
002B0281 shl eax,4
002B0284 movaps xmmword ptr [esp+3E0h],xmm0
002B028C movapd xmm0,xmmword ptr [eax+330010h]
002B0294 movaps xmmword ptr [esp+3D0h],xmm0
002B029C movapd xmm0,xmmword ptr [eax+330020h]
002B02A4 movaps xmmword ptr [esp+3C0h],xmm0
002B02AC movapd xmm0,xmmword ptr [eax+330030h]
002B02B4 movaps xmmword ptr [esp+3B0h],xmm0
002B02BC movapd xmm0,xmmword ptr [eax+330040h]
002B02C4 movaps xmmword ptr [esp+3A0h],xmm0
002B02CC movapd xmm0,xmmword ptr [eax+330050h]
002B02D4 movaps xmmword ptr [esp+390h],xmm0
002B02DC movapd xmm0,xmmword ptr [eax+330060h]
002B02E4 movaps xmmword ptr [esp+380h],xmm0
002B02EC movapd xmm0,xmmword ptr [eax+330070h]
002B02F4 movaps xmmword ptr [esp+370h],xmm0
002B02FC movapd xmm0,xmmword ptr [eax+330080h]
002B0304 movaps xmmword ptr [esp+360h],xmm0
002B030C movapd xmm0,xmmword ptr [eax+330090h]
002B0314 movaps xmmword ptr [esp+350h],xmm0
002B031C movaps xmm0,xmmword ptr [esp+3E0h]
002B0324 mulpd xmm0,xmm4
002B0328 movaps xmmword ptr [esp+340h],xmm0
002B0330 movaps xmm0,xmmword ptr [esp+3F0h]
002B0338 movaps xmmword ptr [esp+330h],xmm1
002B0340 movaps xmm1,xmmword ptr [esp+400h]
002B0348 mulpd xmm0,xmm1
002B034C movaps xmm1,xmmword ptr [esp+330h]
002B0354 mulpd xmm1,xmm5
002B0358 addpd xmm1,xmm0
002B035C movaps xmm0,xmmword ptr [esp+340h]
002B0364 addpd xmm0,xmm1
002B0368 movaps xmm1,xmmword ptr [esp+3D0h]
002B0370 addpd xmm1,xmm0
002B0374 movaps xmm0,xmm4
002B0377 movaps xmmword ptr [esp+320h],xmm1
002B037F movaps xmm1,xmmword ptr [esp+3A0h]
002B0387 mulpd xmm0,xmm1
002B038B movaps xmm1,xmmword ptr [esp+3B0h]
002B0393 movaps xmmword ptr [esp+310h],xmm0
002B039B movaps xmm0,xmmword ptr [esp+400h]
002B03A3 mulpd xmm1,xmm0
002B03A7 movaps xmm0,xmmword ptr [esp+3C0h]
002B03AF mulpd xmm0,xmm5
002B03B3 addpd xmm0,xmm1
002B03B7 movaps xmm1,xmmword ptr [esp+310h]
002B03BF addpd xmm1,xmm0
002B03C3 movaps xmm0,xmmword ptr [esp+390h]
002B03CB addpd xmm0,xmm1
002B03CF movaps xmm1,xmmword ptr [esp+360h]
002B03D7 mulpd xmm4,xmm1
002B03DB movaps xmm1,xmmword ptr [esp+400h]
002B03E3 movaps xmmword ptr [esp+300h],xmm0
002B03EB movaps xmm0,xmmword ptr [esp+370h]
002B03F3 mulpd xmm1,xmm0
002B03F7 movaps xmm0,xmmword ptr [esp+380h]
002B03FF mulpd xmm5,xmm0
002B0403 addpd xmm5,xmm1
002B0407 addpd xmm5,xmm4
002B040B movaps xmm0,xmmword ptr [esp+350h]
002B0413 addpd xmm0,xmm5
002B0417 movaps xmm1,xmmword ptr [esp+410h]
002B041F movhpd qword ptr [esp+510h],xmm1
002B0428 fld qword ptr [esp+510h]
002B042F call 76719BA1
002B0434 imul eax,eax,0Ch
002B0437 mov edx,eax
002B0439 shl edx,4
002B043C movapd xmm4,xmmword ptr [edx+330010h]
002B0444 mov edx,eax
002B0446 or edx,1
002B0449 shl edx,4
002B044C movapd xmm5,xmmword ptr [edx+330010h]
002B0454 movapd xmm1,xmmword ptr [edx+330020h]
002B045C or eax,3
002B045F shl eax,4
002B0462 movaps xmmword ptr [esp+2F0h],xmm0
002B046A movapd xmm0,xmmword ptr [eax+330010h]
002B0472 movaps xmmword ptr [esp+2E0h],xmm0
002B047A movapd xmm0,xmmword ptr [eax+330020h]
002B0482 movaps xmmword ptr [esp+2D0h],xmm0
002B048A movapd xmm0,xmmword ptr [eax+330030h]
002B0492 movaps xmmword ptr [esp+2C0h],xmm0
002B049A movapd xmm0,xmmword ptr [eax+330040h]
002B04A2 movaps xmmword ptr [esp+2B0h],xmm0
002B04AA movapd xmm0,xmmword ptr [eax+330050h]
002B04B2 movaps xmmword ptr [esp+2A0h],xmm0
002B04BA movapd xmm0,xmmword ptr [eax+330060h]
002B04C2 movaps xmmword ptr [esp+290h],xmm0
002B04CA movapd xmm0,xmmword ptr [eax+330070h]
002B04D2 movaps xmmword ptr [esp+280h],xmm0
002B04DA movapd xmm0,xmmword ptr [eax+330080h]
002B04E2 movaps xmmword ptr [esp+270h],xmm0
002B04EA movapd xmm0,xmmword ptr [eax+330090h]
002B04F2 movaps xmmword ptr [esp+260h],xmm0
002B04FA movaps xmm0,xmmword ptr [esp+2F0h]
002B0502 mulpd xmm0,xmm1
002B0506 movaps xmm1,xmmword ptr [esp+300h]
002B050E mulpd xmm1,xmm5
002B0512 movaps xmm5,xmmword ptr [esp+320h]
002B051A mulpd xmm5,xmm4
002B051E addpd xmm5,xmm1
002B0522 addpd xmm5,xmm0
002B0526 movaps xmm0,xmmword ptr [esp+2E0h]
002B052E addpd xmm0,xmm5
002B0532 movaps xmm1,xmmword ptr [esp+2F0h]
002B053A movaps xmm4,xmmword ptr [esp+2B0h]
002B0542 mulpd xmm1,xmm4
002B0546 movaps xmm4,xmmword ptr [esp+300h]
002B054E movaps xmm5,xmmword ptr [esp+2C0h]
002B0556 mulpd xmm4,xmm5
002B055A movaps xmm5,xmmword ptr [esp+320h]
002B0562 movaps xmmword ptr [esp+250h],xmm0
002B056A movaps xmm0,xmmword ptr [esp+2D0h]
002B0572 mulpd xmm5,xmm0
002B0576 addpd xmm5,xmm4
002B057A addpd xmm5,xmm1
002B057E movaps xmm0,xmmword ptr [esp+2A0h]
002B0586 addpd xmm0,xmm5
002B058A movaps xmm1,xmmword ptr [esp+2F0h]
002B0592 movaps xmm4,xmmword ptr [esp+270h]
002B059A mulpd xmm1,xmm4
002B059E movaps xmm4,xmmword ptr [esp+300h]
002B05A6 movaps xmm5,xmmword ptr [esp+280h]
002B05AE mulpd xmm4,xmm5
002B05B2 movaps xmm5,xmmword ptr [esp+320h]
002B05BA movaps xmmword ptr [esp+240h],xmm0
002B05C2 movaps xmm0,xmmword ptr [esp+290h]
002B05CA mulpd xmm5,xmm0
002B05CE addpd xmm5,xmm4
002B05D2 addpd xmm5,xmm1
002B05D6 movaps xmm0,xmmword ptr [esp+260h]
002B05DE addpd xmm0,xmm5
002B05E2 movlpd qword ptr [esp+530h],xmm2
002B05EB fld qword ptr [esp+530h]
002B05F2 call 76719BA1
002B05F7 imul eax,eax,0Ch
002B05FA mov edx,eax
002B05FC shl edx,4
002B05FF movapd xmm1,xmmword ptr [edx+3300D0h]
002B0607 mov edx,eax
002B0609 or edx,1
002B060C shl edx,4
002B060F movapd xmm4,xmmword ptr [edx+3300D0h]
002B0617 movapd xmm5,xmmword ptr [edx+3300E0h]
002B061F or eax,3
002B0622 shl eax,4
002B0625 movaps xmmword ptr [esp+230h],xmm0
002B062D movapd xmm0,xmmword ptr [eax+3300D0h]
002B0635 movaps xmmword ptr [esp+220h],xmm0
002B063D movapd xmm0,xmmword ptr [eax+3300E0h]
002B0645 movaps xmmword ptr [esp+210h],xmm0
002B064D movapd xmm0,xmmword ptr [eax+3300F0h]
002B0655 movaps xmmword ptr [esp+200h],xmm0
002B065D movapd xmm0,xmmword ptr [eax+330100h]
002B0665 movaps xmmword ptr [esp+1F0h],xmm0
002B066D movapd xmm0,xmmword ptr [eax+330110h]
002B0675 movaps xmmword ptr [esp+1E0h],xmm0
002B067D movapd xmm0,xmmword ptr [eax+330120h]
002B0685 movaps xmmword ptr [esp+1D0h],xmm0
002B068D movapd xmm0,xmmword ptr [eax+330130h]
002B0695 movaps xmmword ptr [esp+1C0h],xmm0
002B069D movapd xmm0,xmmword ptr [eax+330140h]
002B06A5 movaps xmmword ptr [esp+1B0h],xmm0
002B06AD movapd xmm0,xmmword ptr [eax+330150h]
002B06B5 movaps xmmword ptr [esp+1A0h],xmm0
002B06BD movaps xmm0,xmmword ptr [esp+230h]
002B06C5 mulpd xmm0,xmm5
002B06C9 movaps xmm5,xmmword ptr [esp+240h]
002B06D1 mulpd xmm5,xmm4
002B06D5 movaps xmm4,xmmword ptr [esp+250h]
002B06DD mulpd xmm4,xmm1
002B06E1 addpd xmm4,xmm5
002B06E5 addpd xmm4,xmm0
002B06E9 movaps xmm0,xmmword ptr [esp+220h]
002B06F1 addpd xmm0,xmm4
002B06F5 movaps xmm1,xmmword ptr [esp+230h]
002B06FD movaps xmm4,xmmword ptr [esp+1F0h]
002B0705 mulpd xmm1,xmm4
002B0709 movaps xmm4,xmmword ptr [esp+240h]
002B0711 movaps xmm5,xmmword ptr [esp+200h]
002B0719 mulpd xmm4,xmm5
002B071D movaps xmm5,xmmword ptr [esp+250h]
002B0725 movaps xmmword ptr [esp+190h],xmm0
002B072D movaps xmm0,xmmword ptr [esp+210h]
002B0735 mulpd xmm5,xmm0
002B0739 addpd xmm5,xmm4
002B073D addpd xmm5,xmm1
002B0741 movaps xmm0,xmmword ptr [esp+1E0h]
002B0749 addpd xmm0,xmm5
002B074D movaps xmm1,xmmword ptr [esp+230h]
002B0755 movaps xmm4,xmmword ptr [esp+1B0h]
002B075D mulpd xmm1,xmm4
002B0761 movaps xmm4,xmmword ptr [esp+240h]
002B0769 movaps xmm5,xmmword ptr [esp+1C0h]
002B0771 mulpd xmm4,xmm5
002B0775 movaps xmm5,xmmword ptr [esp+250h]
002B077D movaps xmmword ptr [esp+180h],xmm0
002B0785 movaps xmm0,xmmword ptr [esp+1D0h]
002B078D mulpd xmm5,xmm0
002B0791 addpd xmm5,xmm4
002B0795 addpd xmm5,xmm1
002B0799 movaps xmm0,xmmword ptr [esp+1A0h]
002B07A1 addpd xmm0,xmm5
002B07A5 movapd xmm1,xmmword ptr ds:[2B0020h]
002B07AD movaps xmm4,xmmword ptr [esp+190h]
002B07B5 mulpd xmm4,xmm1
002B07B9 mulpd xmm4,xmm4
002B07BD movaps xmm5,xmmword ptr [esp+180h]
002B07C5 mulpd xmm5,xmm1
002B07C9 mulpd xmm5,xmm5
002B07CD movaps xmmword ptr [esp+170h],xmm0
002B07D5 mulpd xmm0,xmm1
002B07D9 mulpd xmm0,xmm0
002B07DD addpd xmm4,xmm5
002B07E1 addpd xmm4,xmm0
002B07E5 movapd xmm0,xmmword ptr ds:[2B0030h]
002B07ED movaps xmm1,xmm0
002B07F0 subpd xmm1,xmm4
002B07F4 movapd xmm4,xmmword ptr ds:[2B0040h]
002B07FC movaps xmm5,xmmword ptr [esp+190h]
002B0804 addpd xmm5,xmm4
002B0808 movapd xmm4,xmmword ptr ds:[2B0050h]
002B0810 movaps xmmword ptr [esp+160h],xmm0
002B0818 movaps xmm0,xmmword ptr [esp+180h]
002B0820 addpd xmm0,xmm4
002B0824 movaps xmm4,xmmword ptr [esp+170h]
002B082C mulpd xmm4,xmm6
002B0830 movaps xmmword ptr [esp+150h],xmm0
002B0838 movaps xmm0,xmm5
002B083B subpd xmm0,xmm4
002B083F mulpd xmm5,xmm6
002B0843 movaps xmm4,xmmword ptr [esp+170h]
002B084B addpd xmm5,xmm4
002B084F movapd xmm4,xmmword ptr ds:[2B0060h]
002B0857 movaps xmmword ptr [esp+140h],xmm0
002B085F mulpd xmm0,xmm4
002B0863 movaps xmmword ptr [esp+130h],xmm0
002B086B movapd xmm0,xmmword ptr ds:[2B0070h]
002B0873 movaps xmmword ptr [esp+120h],xmm0
002B087B movaps xmm0,xmmword ptr [esp+150h]
002B0883 movaps xmmword ptr [esp+110h],xmm1
002B088B movaps xmm1,xmmword ptr [esp+120h]
002B0893 mulpd xmm0,xmm1
002B0897 movaps xmm1,xmmword ptr [esp+130h]
002B089F addpd xmm0,xmm1
002B08A3 movaps xmm1,xmmword ptr [esp+140h]
002B08AB movaps xmmword ptr [esp+100h],xmm0
002B08B3 movaps xmm0,xmmword ptr [esp+120h]
002B08BB mulpd xmm1,xmm0
002B08BF movaps xmm0,xmmword ptr [esp+150h]
002B08C7 mulpd xmm0,xmm4
002B08CB subpd xmm0,xmm1
002B08CF movaps xmm1,xmm5
002B08D2 mulpd xmm1,xmm6
002B08D6 addpd xmm1,xmm0
002B08DA mulpd xmm0,xmm6
002B08DE subpd xmm5,xmm0
002B08E2 movaps xmm0,xmmword ptr [esp+100h]
002B08EA addpd xmm0,xmm6
002B08EE addpd xmm1,xmm6
002B08F2 addpd xmm5,xmm6
002B08F6 movapd xmm4,xmmword ptr ds:[2B0080h]
002B08FE mulpd xmm0,xmm4
002B0902 mulpd xmm0,xmm0
002B0906 mulpd xmm1,xmm4
002B090A mulpd xmm1,xmm1
002B090E mulpd xmm5,xmm4
002B0912 mulpd xmm5,xmm5
002B0916 addpd xmm0,xmm1
002B091A addpd xmm0,xmm5
002B091E movaps xmm1,xmmword ptr [esp+160h]
002B0926 subpd xmm1,xmm0
002B092A movaps xmm0,xmmword ptr [esp+110h]
002B0932 mulpd xmm0,xmm0
002B0936 movaps xmm4,xmm1
002B0939 mulpd xmm4,xmm4
002B093D addpd xmm0,xmm4
002B0941 movaps xmm4,xmm0
002B0944 movaps xmm5,xmmword ptr [esp+160h]
002B094C addpd xmm4,xmm5
002B0950 movaps xmm6,xmm4
002B0953 movsd xmm5,mmword ptr ds:[2B0090h]
002B095B movaps xmmword ptr [esp+0F0h],xmm0
002B0963 movaps xmm0,xmm5
002B0966 divsd xmm0,xmm6
002B096A unpckhpd xmm4,xmm4
002B096E movaps xmm6,xmm5
002B0971 divsd xmm6,xmm4
002B0975 unpcklpd xmm0,xmm6
002B0979 movapd xmm4,xmmword ptr ds:[2B00A0h]
002B0981 mulpd xmm0,xmm4
002B0985 movaps xmm4,xmmword ptr [esp+110h]
002B098D addpd xmm4,xmm1
002B0991 movaps xmm1,xmmword ptr [esp+0F0h]
002B0999 sqrtpd xmm6,xmm1
002B099D addpd xmm6,xmm4
002B09A1 addpd xmm0,xmm6
002B09A5 movaps xmm4,xmmword ptr [esp+410h]
002B09AD unpckhpd xmm4,xmm4
002B09B1 movaps xmm6,xmm3
002B09B4 addsd xmm6,xmm4
002B09B8 movsd xmm1,mmword ptr [esp+448h]
002B09C1 addsd xmm1,xmm6
002B09C5 movaps xmm6,xmm0
002B09C8 mulpd xmm6,xmm6
002B09CC movaps xmmword ptr [esp+0E0h],xmm0
002B09D4 movaps xmm0,xmmword ptr [esp+490h]
002B09DC mulpd xmm0,xmm0
002B09E0 addpd xmm0,xmm6
002B09E4 movaps xmm6,xmmword ptr [esp+490h]
002B09EC movaps xmmword ptr [esp+0D0h],xmm0
002B09F4 movaps xmm0,xmmword ptr [esp+0E0h]
002B09FC addpd xmm6,xmm0
002B0A00 movaps xmm0,xmmword ptr [esp+0D0h]
002B0A08 sqrtpd xmm0,xmm0
002B0A0C addpd xmm0,xmm6
002B0A10 addsd xmm3,xmm5
002B0A14 movaps xmm6,xmm4
002B0A17 addsd xmm6,xmm5
002B0A1B movaps xmmword ptr [esp+0C0h],xmm0
002B0A23 movsd xmm0,mmword ptr [esp+448h]
002B0A2C addsd xmm0,xmm5
002B0A30 ucomisd xmm1,xmm7
002B0A34 setnp cl
002B0A37 sete ch
002B0A3A test cl,ch
002B0A3C movaps xmm1,xmmword ptr [esp+0E0h]
002B0A44 movsd mmword ptr [esp+0B8h],xmm7
002B0A4D movsd mmword ptr [esp+0B0h],xmm0
002B0A56 movaps xmmword ptr [esp+0A0h],xmm2
002B0A5E movsd mmword ptr [esp+98h],xmm4
002B0A67 movsd mmword ptr [esp+90h],xmm6
002B0A70 movsd mmword ptr [esp+88h],xmm5
002B0A79 movsd mmword ptr [esp+80h],xmm3
002B0A82 movaps xmmword ptr [esp+70h],xmm1
002B0A87 jne 002B0A9A
002B0A8D movaps xmm0,xmmword ptr [esp+0C0h]
002B0A95 movaps xmmword ptr [esp+70h],xmm0
002B0A9A movaps xmm0,xmmword ptr [esp+70h]
002B0A9F movsd xmm1,mmword ptr [esp+80h]
002B0AA8 movsd xmm2,mmword ptr [esp+88h]
002B0AB1 ucomisd xmm1,xmm2
002B0AB5 movsd xmm3,mmword ptr [esp+0B8h]
002B0ABE movaps xmmword ptr [esp+60h],xmm0
002B0AC3 movsd mmword ptr [esp+58h],xmm3
002B0AC9 jae 002B0ADE
002B0ACF movsd xmm0,mmword ptr [esp+80h]
002B0AD8 movsd mmword ptr [esp+58h],xmm0
002B0ADE movsd xmm0,mmword ptr [esp+58h]
002B0AE4 movsd xmm1,mmword ptr [esp+90h]
002B0AED movsd mmword ptr [esp+50h],xmm0
002B0AF3 movsd mmword ptr [esp+48h],xmm1
002B0AF9 jae 002B0B0E
002B0AFF movsd xmm0,mmword ptr [esp+98h]
002B0B08 movsd mmword ptr [esp+48h],xmm0
002B0B0E movsd xmm0,mmword ptr [esp+48h]
002B0B14 movsd xmm1,mmword ptr [esp+88h]
002B0B1D ucomisd xmm0,xmm1
002B0B21 movsd xmm2,mmword ptr [esp+0B8h]
002B0B2A movsd mmword ptr [esp+40h],xmm0
002B0B30 movsd mmword ptr [esp+38h],xmm2
002B0B36 jae 002B0B48
002B0B3C movsd xmm0,mmword ptr [esp+40h]
002B0B42 movsd mmword ptr [esp+38h],xmm0
002B0B48 movsd xmm0,mmword ptr [esp+38h]
002B0B4E movaps xmm1,xmmword ptr [esp+410h]
002B0B56 movsd xmm2,mmword ptr [esp+50h]
002B0B5C movsd xmm1,xmm2
002B0B60 unpcklpd xmm1,xmm0
002B0B64 movsd xmm0,mmword ptr [esp+0B0h]
002B0B6D movaps xmmword ptr [esp+20h],xmm1
002B0B72 movsd mmword ptr [esp+18h],xmm0
002B0B78 jae 002B0B8D
002B0B7E movsd xmm0,mmword ptr [esp+448h]
002B0B87 movsd mmword ptr [esp+18h],xmm0
002B0B8D movsd xmm0,mmword ptr [esp+18h]
002B0B93 movsd xmm1,mmword ptr ds:[2B00B0h]
002B0B9B ucomisd xmm0,xmm1
002B0B9F movsd xmm1,mmword ptr [esp+0B8h]
002B0BA8 movsd mmword ptr [esp+10h],xmm0
002B0BAE movsd mmword ptr [esp+8],xmm1
002B0BB4 jae 002B0BC6
002B0BBA movsd xmm0,mmword ptr [esp+10h]
002B0BC0 movsd mmword ptr [esp+8],xmm0
002B0BC6 movsd xmm0,mmword ptr [esp+8]
002B0BCC movaps xmm1,xmmword ptr [esp+0A0h]
002B0BD4 movsd xmm1,xmm0
002B0BD8 movaps xmm0,xmmword ptr [esp+60h]
002B0BDD movaps xmm2,xmmword ptr [esp+20h]
002B0BE2 movaps xmmword ptr [esp+4B0h],xmm2
002B0BEA movaps xmmword ptr [esp+4C0h],xmm0
002B0BF2 movaps xmmword ptr [esp+4A0h],xmm1
002B0BFA jb 002B011D
002B0C00 jmp 002B0C05
002B0C05 movaps xmm0,xmmword ptr [esp+60h]
002B0C0A movaps xmm1,xmmword ptr [esp+60h]
002B0C0F movlpd qword ptr [esp+500h],xmm1
002B0C18 fld qword ptr [esp+500h]
002B0C1F movsd mmword ptr [esp],xmm0
002B0C24 mov esp,ebp
002B0C26 pop ebp
002B0C27 ret
More information about the llvm-dev
mailing list