mingw32 floating point diff - Mailing list pgsql-hackers

From Peter Eisentraut
Subject mingw32 floating point diff
Date
Msg-id 18e57de7-3b46-ecdb-a2f4-d7506397c93e@2ndquadrant.com
Whole thread Raw
In response to mingw32 floating point diff  (Peter Eisentraut <peter.eisentraut@2ndquadrant.com>)
Responses Re: mingw32 floating point diff  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On 2019-08-20 14:59, Peter Eisentraut wrote:
> Running the regression tests on mingw32, I get the following diff in
> circle.out:
> 
> @@ -111,8 +111,8 @@
>    WHERE (c1.f1 < c2.f1) AND ((c1.f1 <-> c2.f1) > 0)
>    ORDER BY distance, area(c1.f1), area(c2.f1);
>   five |      one       |      two       |     distance
> -------+----------------+----------------+------------------
> -      | <(3,5),0>      | <(1,2),3>      | 0.60555127546399
> +------+----------------+----------------+-------------------
> +      | <(3,5),0>      | <(1,2),3>      | 0.605551275463989
>        | <(3,5),0>      | <(5,1),3>      | 1.47213595499958
>        | <(100,200),10> | <(100,1),115>  |               74
>        | <(100,200),10> | <(1,2),100>    | 111.370729772479
> 
> I only get this on master/PG12, but not on PG11, so I suspect that the
> new floating-point output routines could be the root of the issue.
> 
> This happens only with the 32-bit build (mingw32), but not with a 64-bit
> build (mingw64).

OK, the problem isn't the new output routines.  The result of the
computations is actually different.  The test itself is new in PG12.

The difference in output is due to the mingw32 target using -mfpmath=387
by default.  If you build with -mfpmath=sse -msee, the tests pass again.

Do we care to do anything about this?  Pick slightly different test data
perhaps?

-- 
Peter Eisentraut              http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services





pgsql-hackers by date:

Previous
From: Kyotaro Horiguchi
Date:
Subject: Re: [HACKERS] WAL logging problem in 9.4.3?
Next
From: Paul Guo
Date:
Subject: Re: standby recovery fails (tablespace related) (tentative patch and discussion)