Displaying 19 results from an estimated 19 matches for "fistp".
Did you mean:
fist
2007 Feb 03
0
need help with MSVC
...t; 2nd, I need an equivalent for lround() (or round() is ok), which
> is not in MSVC6's math.h or anywhere else I could find.
The operation of lround() is basically the same as lrint(). In
src/float_cast.h I have:
__inline long int
lrint (double flt)
{ int intgr ;
_asm
{ fld flt
fistp intgr
} ;
return intgr ;
}
__inline long int
lrintf (float flt)
{ int intgr ;
_asm
{ fld flt
fistp intgr
} ;
return intgr ;
}
Hope this helps,
Erik
--
+-----------------------------------------------------------+
Erik de Castro Lopo
+---------------------------------...
2007 Feb 03
3
need help with MSVC
for recent code changes I find myself needing some workarounds
for MSVC6:
1st, I need a fast way to swap bytes (for endianness) of a 32-bit
int. I could not find a builtin like bswap; the closest thing I
found was ntohl() which appears to be a function call and also
requires linking with winsock2 (ws2_32.lib) to get it.
2nd, I need an equivalent for lround() (or round() is ok), which
is not in
2012 Jan 20
0
[LLVMdev] Best way to interface with MSVC _ftol2 runtime function for fptoui?
...g for the argument to be in ST0.
> You should emit:
>
> %ST0 = COPY %vreg13; RFP80:%vreg13
> %EAX, %EDX = FTOL2 %ST0<kill>
> %vreg16 = COPY %EAX<kill>
> %vreg17 = COPY %EDX<kill>
>
> Then teach X86FloatingPoint that FTOL2 pops its argument, like FISTP64m.
>
> 2. Use inline asm. Which is pretty gross. You would need to construct a SelectionDAG node identical to the one produced by real inline asm. There should be some help in include/llvm/InlineAsm.h
>
> I am not sure which is worse, but if there are multiple libcalls like this, you s...
2000 Oct 19
1
casting/rounding ASM committed to beta3 branch
Jack, I got the asm we were working last night committed ont he beta 3 branch.
It's in use in both vorbisfile:ov_read() and the lsp lookup (when using float
lookups)
I'd like to have a patch of the other things you did in the past day or so, even if you don't want to commit yet.
Monty
--- >8 ----
List archives: http://www.xiph.org/archives/
Ogg project homepage:
2013 Jul 19
2
[LLVMdev] SIMD instructions and memory alignment on X86
...alled 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 te...
2013 Jul 19
0
[LLVMdev] SIMD instructions and memory alignment on X86
...he 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...
2012 Jan 19
2
[LLVMdev] Best way to interface with MSVC _ftol2 runtime function for fptoui?
...turns into a call after arranging for the argument to be in ST0.
You should emit:
%ST0 = COPY %vreg13; RFP80:%vreg13
%EAX, %EDX = FTOL2 %ST0<kill>
%vreg16 = COPY %EAX<kill>
%vreg17 = COPY %EDX<kill>
Then teach X86FloatingPoint that FTOL2 pops its argument, like FISTP64m.
2. Use inline asm. Which is pretty gross. You would need to construct a SelectionDAG node identical to the one produced by real inline asm. There should be some help in include/llvm/InlineAsm.h
I am not sure which is worse, but if there are multiple libcalls like this, you should go with some...
2013 Jul 19
0
[LLVMdev] SIMD instructions and memory alignment on X86
...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...
2013 Jul 19
3
[LLVMdev] fptoui calling a function that modifies ECX
...;>>>> 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
>>>>> 7671...
2013 Jul 19
2
[LLVMdev] SIMD instructions and memory alignment on X86
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> 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".
>
2013 Jul 19
2
[LLVMdev] fptoui calling a function that modifies ECX
...719BA2 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
>>&...
2013 Jul 19
0
[LLVMdev] fptoui calling a function that modifies ECX
...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
>...
2013 Jul 19
2
[LLVMdev] fptoui calling a function that modifies ECX
...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 e...
2013 Jul 19
0
[LLVMdev] fptoui calling a function that modifies ECX
...;> 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]
>>>>> 76719BC...
2013 Jul 19
0
[LLVMdev] fptoui calling a function that modifies ECX
...A4 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]
>>>>>>...
2013 Jul 20
0
[LLVMdev] fptoui calling a function that modifies ECX
...gt;>> 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]...
2013 Jul 19
0
[LLVMdev] llvm.x86.sse2.sqrt.pd not using sqrtpd, calling a function that modifies ECX
...;>
>>> 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
>>>...
2013 Jul 19
4
[LLVMdev] SIMD instructions and memory alignment on X86
...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...
2013 Jul 19
0
[LLVMdev] llvm.x86.sse2.sqrt.pd not using sqrtpd, calling a function that modifies ECX
...BA1 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 76...