[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Optimized gcc 4.3.0 build on Windows returns 0 secs for all time val
From: |
Juanma Barranquero |
Subject: |
Re: Optimized gcc 4.3.0 build on Windows returns 0 secs for all time values of system-process-attributes |
Date: |
Sat, 3 Jan 2009 03:27:15 +0100 |
On Thu, Jan 1, 2009 at 19:54, Eli Zaretskii <address@hidden> wrote:
> Looks like Microsoft's runtime does not support the GCC 80-bit long
> double, it thinks that long double is the same as double, a 64-bit FP
> number.
OK.
> Why not? it worked for me, and it still does.
Manipulating precise quantities through floats seems ugly.
> If the suspicion is that long double calculations don't work here, can
> you please show the disassembly of these source lines, as they are
> compiled by GCC 4.3.0:
>
>> - tem1 = convert_time_raw (ft_kernel) * 0.1L;
>> - stime_usec = fmodl (tem1, 1000000.0L);
>> - stime_sec = tem1 * 0.000001L;
3792 tem1 = convert_time_raw (ft_kernel) * 0.1L;
0x010b6a94 <system_process_attributes+2140>: mov -0x6c(%ebp),%eax
0x010b6a97 <system_process_attributes+2143>: xor %edx,%edx
0x010b6a99 <system_process_attributes+2145>: push %edx
0x010b6a9a <system_process_attributes+2146>: push %eax
0x010b6a9b <system_process_attributes+2147>: fildll (%esp)
0x010b6a9e <system_process_attributes+2150>: add $0x8,%esp
0x010b6aa1 <system_process_attributes+2153>: fmuls 0x140ff84
0x010b6aa7 <system_process_attributes+2159>: flds 0x140ff88
0x010b6aad <system_process_attributes+2165>: fmul %st,%st(1)
0x010b6aaf <system_process_attributes+2167>: fmulp %st,%st(1)
0x010b6ab1 <system_process_attributes+2169>: mov -0x70(%ebp),%eax
0x010b6ab4 <system_process_attributes+2172>: xor %edx,%edx
0x010b6ab6 <system_process_attributes+2174>: push %edx
0x010b6ab7 <system_process_attributes+2175>: push %eax
0x010b6ab8 <system_process_attributes+2176>: fildll (%esp)
0x010b6abb <system_process_attributes+2179>: add $0x8,%esp
0x010b6abe <system_process_attributes+2182>: faddp %st,%st(1)
0x010b6ac0 <system_process_attributes+2184>: fldt 0x140ff90
0x010b6ac6 <system_process_attributes+2190>: fmulp %st,%st(1)
3793 stime_usec = fmodl (tem1, 1000000.0L);
0x010b6ac8 <system_process_attributes+2192>: flds 0x140ff9c
0x010b6ace <system_process_attributes+2198>: fxch %st(1)
0x010b6ad0 <system_process_attributes+2200>: fprem
0x010b6ad2 <system_process_attributes+2202>: fnstsw %ax
0x010b6ad4 <system_process_attributes+2204>: sahf
0x010b6ad5 <system_process_attributes+2205>: jp 0x10b6ad0
<system_process_attributes+2200>
0x010b6ad7 <system_process_attributes+2207>: fstp %st(1)
0x010b6ad9 <system_process_attributes+2209>: fld %st(0)
0x010b6adb <system_process_attributes+2211>: fucom %st(0)
0x010b6add <system_process_attributes+2213>: fnstsw %ax
0x010b6adf <system_process_attributes+2215>: sahf
0x010b6ae0 <system_process_attributes+2216>: jp 0x10b70e6
<system_process_attributes+3758>
0x010b6ae6 <system_process_attributes+2222>: jne 0x10b70ea
<system_process_attributes+3762>
3794 stime_sec = tem1 * 0.000001L;
0x010b6aec <system_process_attributes+2228>: fldt 0x140ffa0
0x010b6af2 <system_process_attributes+2234>: fmul %st(1),%st
0x010b6af4 <system_process_attributes+2236>: fnstcw -0x892(%ebp)
0x010b6afa <system_process_attributes+2242>: movzwl -0x892(%ebp),%eax
0x010b6b01 <system_process_attributes+2249>: mov $0xc,%ah
0x010b6b03 <system_process_attributes+2251>: mov %ax,-0x894(%ebp)
0x010b6b0a <system_process_attributes+2258>: fldcw -0x894(%ebp)
0x010b6b10 <system_process_attributes+2264>: fistpl -0x898(%ebp)
0x010b6b16 <system_process_attributes+2270>: fldcw -0x892(%ebp)
0x010b6b1c <system_process_attributes+2276>: fxch %st(1)
0x010b6b1e <system_process_attributes+2278>: mov -0x898(%ebp),%edx
> Also, which version of the MinGW runtime do you use?
gcc 4.3.0-20080502-mingw32-alpha
mingw-runtime 3.15.1
w32api 3.13
Hope this helps,
Juanma
Re: Optimized gcc 4.3.0 build on Windows returns 0 secs for all time values of system-process-attributes, Juanma Barranquero, 2009/01/01
- Re: Optimized gcc 4.3.0 build on Windows returns 0 secs for all time values of system-process-attributes, Eli Zaretskii, 2009/01/01
- Re: Optimized gcc 4.3.0 build on Windows returns 0 secs for all time values of system-process-attributes,
Juanma Barranquero <=
- Re: Optimized gcc 4.3.0 build on Windows returns 0 secs for all time values of system-process-attributes, Eli Zaretskii, 2009/01/03
- Re: Optimized gcc 4.3.0 build on Windows returns 0 secs for all time values of system-process-attributes, Juanma Barranquero, 2009/01/03
- Re: Optimized gcc 4.3.0 build on Windows returns 0 secs for all time values of system-process-attributes, Juanma Barranquero, 2009/01/03
- Re: Optimized gcc 4.3.0 build on Windows returns 0 secs for all time values of system-process-attributes, Eli Zaretskii, 2009/01/03
- Re: Optimized gcc 4.3.0 build on Windows returns 0 secs for all time values of system-process-attributes, Juanma Barranquero, 2009/01/03
- Re: Optimized gcc 4.3.0 build on Windows returns 0 secs for all time values of system-process-attributes, Eli Zaretskii, 2009/01/03
- Re: Optimized gcc 4.3.0 build on Windows returns 0 secs for all time values of system-process-attributes, Eli Zaretskii, 2009/01/03
- Re: Optimized gcc 4.3.0 build on Windows returns 0 secs for all time values of system-process-attributes, Juanma Barranquero, 2009/01/03
- Re: Optimized gcc 4.3.0 build on Windows returns 0 secs for all time values of system-process-attributes, Eli Zaretskii, 2009/01/03
- Re: Optimized gcc 4.3.0 build on Windows returns 0 secs for all time values of system-process-attributes, Jason Rumney, 2009/01/03