New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LLVM (thus, Rust) floating point support support is incomplete #10186

Open
thestinger opened this Issue Oct 31, 2013 · 8 comments

Comments

Projects
None yet
8 participants
@thestinger
Contributor

thestinger commented Oct 31, 2013

  • signalling NaN results in undefined behaviour
  • floating point environment (rounding mode, exceptions) is not supported

This is not going to be easy to fix since the only sane fix is to improve LLVM.

@pnkfelix

This comment has been minimized.

Member

pnkfelix commented Dec 20, 2013

cc @nikomatsakis since i think this is relevant to a point of discussion from last night's triage meeting.

@steveklabnik

This comment has been minimized.

Member

steveklabnik commented Jan 20, 2015

triage bump: I don't follow LLVM development closely enough to know if anything has changed here, but it's true, if they're deficient, it's going to be hard for us.

@eefriedman

This comment has been minimized.

Contributor

eefriedman commented Jun 27, 2015

This is https://bugs.llvm.org//show_bug.cgi?id=8100 on the LLVM side; it's a longstanding issue.

@steveklabnik

This comment has been minimized.

Member

steveklabnik commented Jan 3, 2017

Triage: LLVM bug is still open.

@varkor

This comment has been minimized.

Member

varkor commented Dec 22, 2017

Since https://reviews.llvm.org/D27028 (late January 2017), LLVM has had experimental intrinsics for floating-point environment support (see llvm.experimental.constrained.*). It's probably better to wait until they're stabilised before implementing the corresponding functionality in Rust?

@bstrie

This comment has been minimized.

Contributor

bstrie commented Oct 16, 2018

@varkor , is there an LLVM tracking issue for when (or if) those might be stabilized? cc #55107

@varkor

This comment has been minimized.

Member

varkor commented Oct 16, 2018

@bstrie: I've not found one, unfortunately 😕The process seems to be ad hoc. From what I could tell, the intrinsics should be correct, but not necessarily efficient.

@rkruppe

This comment has been minimized.

Contributor

rkruppe commented Oct 16, 2018

The intrinsics exist in IR but last I heard backend support was incomplete, at least in the sense that dependencies between instructions that affect or are affected by the floating point environment are not respected in MachineIR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment