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