emacs-devel
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]