<div dir="ltr"><span style="font-size:12.8000001907349px">Hi,</span><div style="font-size:12.8000001907349px"><br></div><div style="font-size:12.8000001907349px">LLVM made a change a few months ago and starting erroring out when a float is returned in x64 and SSE is disabled. This makes sense, really, since it's specified by the ABI that the return value must be put in a register you were told to disable, but it's breaking soft floats in Rust on x64. It seems there are two options: LLVM could break the ABI spec and have working soft floats on 64bit or Rust could offer a configuration option to remove float support from its "libcore" (the freestanding stdlib).</div><div style="font-size:12.8000001907349px"><br></div><div style="font-size:12.8000001907349px">What do you guys think about fixing it on your end?<div><br></div><div>Relevant links:</div><div>Clang error w/ same message: <a href="https://llvm.org/bugs/show_bug.cgi?id=23203" target="_blank">https://llvm.org/bugs/show_bug.cgi?id=23203</a></div><div>Report of rust bug: <a href="https://github.com/rust-lang/rust/issues/26449" target="_blank">https://github.com/rust-lang/rust/issues/26449</a></div><div>Discussion on why Rust doesn't want to fix (a refused patch to libcore): <a href="https://github.com/rust-lang/rust/pull/26749" target="_blank">https://github.com/rust-lang/rust/pull/26749</a><br><div><div><br></div><div>The error is coming from one of these files:</div><div><div>lib/Target/X86/X86FastISel.cpp:3166:      report_fatal_error("SSE register return with SSE disabled");</div><div>lib/Target/X86/X86ISelLowering.cpp:2107:      report_fatal_error("SSE register return with SSE disabled");</div><div>lib/Target/X86/X86ISelLowering.cpp:2261:      report_fatal_error("SSE register return with SSE disabled");</div><div>test/CodeGen/X86/nosse-error2.ll:4:; NOSSE: {{SSE register return with SSE disabled}}</div><div>test/CodeGen/X86/nosse-error1.ll:4:; NOSSE: {{SSE register return with SSE disabled}}</div></div><div><br></div><div>Thanks for your time,</div><div>Tyler Hardin</div></div></div></div></div>