On 2/11/2019 7:44 PM, Jeremie Courreges-Anglas wrote:

cc'ing Alexander who reported the bug in base and Patrick who commented
on upstream's bugzilla...

On Mon, Feb 11 2019, Brad Smith <b...@comstyle.com> wrote:
Pull in 3 patches for the X86 backend..

- [X86] Add FPSW as a Def on some FP instructions that were missing it.
- [X86] Connect the default fpsr and dirflag clobbers in inline
   assembly to the registers we have defined for them.
- [X86] Add FPCW as a register and start using it as an implicit use on
   floating point instructions.

Resolves miscompilation of libm mentioned here..
https://marc.info/?l=openbsd-bugs&m=154896725914212&w=2
Thanks.  Just to be clear, the bc testcase still fails with base from

   kern.version=OpenBSD 6.4-current (GENERIC.MP) #703: Sun Feb 10 20:20:49 MST 
2019

but rebuilding libm and the testcase with the patched ports-clang fixes
the issue.  (I haven't done further tests.)

https://bugs.llvm.org/show_bug.cgi?id=40206 says

    Craig Topper 2019-02-08 15:31:09 PST
    Fixed in r353489

So I don't know whether one of three commits are needed.  Three,
I guess?

Anyway, this feels like it should go in base first.  Alexander, Patrick,
any opinion?

https://marc.info/?l=freebsd-commits-all&m=154965032814190&w=2

I brought over the same bits FreeBSD did when backporting from trunk to 7.

--78<--
Pull in 3 patches for the X86 backend..

- [X86] Add FPSW as a Def on some FP instructions that were missing it.
- [X86] Connect the default fpsr and dirflag clobbers in inline
   assembly to the registers we have defined for them.
- [X86] Add FPCW as a register and start using it as an implicit use on
   floating point instructions.

Resolves miscompilation of libm mentioned here..
https://marc.info/?l=openbsd-bugs&m=154896725914212&w=2

Reply via email to