Yes, the best is to open a bug ticket.

Am Do., 6. Mai 2021 um 16:56 Uhr schrieb Benjamin Bihler <
[email protected]>:

> Do I need to create a bug ticket for that? Or is it now already known? :-)
>
> Thank you very much again for your help.
>
> Benjamin
>
> -----Ursprüngliche Nachricht-----
> Von: Carl Kleffner [mailto:[email protected]]
> Gesendet: Donnerstag, 6. Mai 2021 16:50
> An: [email protected]
> Betreff: Re: [Mingw-w64-public] Setting Floating-Point Operation Precision
> Changes With Gcc 10.3
>
> It seems that the commit "winpthreads: Call _fpreset() for new threads"
> from aug 2020 makes threads consistent with the build default, not with
> the users default instead. I would call it a bug, as this is unexpected and
> does not fit the usual recommendation to link CRT-fp8.o for the case that
> 53 bit precision is wanted by the user. The only workaround in this
> setting is to statically link winpthreads.
>
> Carl
>
> Am Do., 6. Mai 2021 um 16:33 Uhr schrieb Benjamin Bihler <
> [email protected]>:
>
> > With static builds and mingw-w64 v7 I get the following:
> > - Linking neither CRT_fp8.0 nor CRT_fp10.o : inconsistent behaviour
> > - Linking CRT_fp8.o: consistent behaviour
> > - Linking CRT_fp10.o: inconsistent behaviour
> >
> > (no change)
> >
> > With static builds and mingw-w64 v8 I get the following:
> > - Linking neither CRT_fp8.0 nor CRT_fp10.o : consistent behaviour
> > - Linking CRT_fp8.o: consistent behaviour
> > - Linking CRT_fp10.o: consistent behaviour
> >
> > (behaviour is always consistent now)
> >
> > Now of course the behaviour doesn't change anymore, when I have
> > another libwinpthread-1.dll in the path!
> >
> > This already helps me a lot. Thank you for your research. But I guess
> > that this is not perfect yet, is it?
> >
> > Benjamin
> >
> > -----Ursprüngliche Nachricht-----
> > Von: Carl Kleffner [mailto:[email protected]]
> > Gesendet: Donnerstag, 6. Mai 2021 15:59
> > An: [email protected]
> > Betreff: Re: [Mingw-w64-public] Setting Floating-Point Operation
> > Precision Changes With Gcc 10.3
> >
> >  Please tryout a static build using `-static` and test again.
> > I also performed some tests and guess, that the consistency patch (in
> > v8 but not v7) guarantees the thread has extended precision if you use
> > libwinpthreads.dll. In case of using static build libwinpthreads.a
> > this patch would not apply.
> >
> > Am Do., 6. Mai 2021 um 15:55 Uhr schrieb Benjamin Bihler <
> > [email protected]>:
> >
> > > I have checked it, the patch 295fafc is included in v8 of mingw-w64
> > > when building the compiler with mingw-builds. But does the patch help?
> > > Or is it actually buggy in the sense that it makes the compilation
> > > results behave different from the documentation in float.h?
> > >
> > > Benjamin
> > >
> > > -----Ursprüngliche Nachricht-----
> > > Von: Carl Kleffner [mailto:[email protected]]
> > > Gesendet: Donnerstag, 6. Mai 2021 14:38
> > > An: [email protected]
> > > Betreff: Re: [Mingw-w64-public] Setting Floating-Point Operation
> > > Precision Changes With Gcc 10.3
> > >
> > > You can set the FPU precision for the main thread by linking
> > > CRT_fp8.o or CRT_f10.o. Extended precision is the default for most
> > > mingw-w64 based toolchains as the math library used in mingw-w64 is
> > > based on this. The question is: what happens when a new thread is
> started?.
> > >
> > > Answer: Windows starts new threads NEVER with extended precision,
> > > because double precision is the default for MS VS Studio and the
> > > Win32
> > API.
> > >
> > > To get consistent behaviour inside a mingw-w64 based project the FPU
> > > precision must be coded consistently by the programmer itself. Or
> > > you have to use the patch
> > > https://sourceforge.net/p/mingw-w64/mingw-w64/ci/295fafc
> > > :
> > > consistent behaviour will be guaranteed automatically at least for
> > > pthreads. I guess this patch is not included in the v8 of mingw-w64.
> > >
> > > If you are not sure what is happening use:
> > > https://github.com/jevinskie/fpudump to print out the FPU state
> > > anywhere in your program. It may only work with C, but not with C++
> > > programs, but I'm not sure.
> > >
> > > Am Do., 6. Mai 2021 um 10:11 Uhr schrieb Benjamin Bihler <
> > > [email protected]>:
> > >
> > > > It may have to do something with the commit you have mentioned. I
> > > > am not sure... I am a compiler end user, not a compiler developer.
> > > > What does that mean? That linking CRT_fp8 or CRT_fp10 is not the
> > > > right way anymore to set
> > > > x87 precision?
> > > >
> > > > Benjamin
> > > >
> > > > -----Ursprüngliche Nachricht-----
> > > > Von: Liu Hao [mailto:[email protected]]
> > > > Gesendet: Dienstag, 4. Mai 2021 16:56
> > > > An: [email protected]; Carl Kleffner <
> > > > [email protected]>
> > > > Betreff: Re: [Mingw-w64-public] Setting Floating-Point Operation
> > > > Precision Changes With Gcc 10.3
> > > >
> > > > 在 2021-05-04 22:46, Carl Kleffner 写道:
> > > > > I can't reproduce this behaviour. With gcc-10.3 on msys2/ucrt64
> > > > > as well
> > > > as
> > > > > msy2/mingw64 I get consistent results, regardless if I link
> > > > > CRT_fp10.o, CRT_fp8.o or none of them.
> > > > >
> > > > >
> > > >
> > > > Does it have something to do with
> > > > https://sourceforge.net/p/mingw-w64/mingw-w64/ci/295fafc?
> > > >
> > > >
> > > > --
> > > > Best regards,
> > > > Liu Hao
> > > >
> > > >
> > > > _______________________________________________
> > > > Mingw-w64-public mailing list
> > > > [email protected]
> > > > https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
> > > >
> > >
> > > _______________________________________________
> > > Mingw-w64-public mailing list
> > > [email protected]
> > > https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
> > >
> > > _______________________________________________
> > > Mingw-w64-public mailing list
> > > [email protected]
> > > https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
> > >
> >
> > _______________________________________________
> > Mingw-w64-public mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
> >
> > _______________________________________________
> > Mingw-w64-public mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
> >
>
> _______________________________________________
> Mingw-w64-public mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
>
> _______________________________________________
> Mingw-w64-public mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
>

_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to