-
Notifications
You must be signed in to change notification settings - Fork 13k
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 ERROR: Do not know how to split this operator's operand! #61721
Comments
Can you run with |
I've uploaded to my gdrive here https://drive.google.com/file/d/1fjzKcpAcA6w45pBLc89eE62RIIS2RLos/view?usp=sharing |
Thanks! Reproduces on LLVM master with:
|
Bugpoint reduced:
The problem is the |
Just to clarify is this is a bug in my target, rust, or LLVM. I can't use the CPUs floating point registers as this is code going in a kernel, so if |
@TheEnbyperor It's technically a bug in LLVM. Just not sure how much interest there will be in supporting the rather peculiar combination of +soft-float and +sse2 on x86. |
Ah didn't see +sse2 in there. That's an error in my target, I didn't think it'd be enabled by default if -sse is in the target. |
Hi, I want to add to this issue that this also happens using the However, in case anyone needs the new uefi target: {
"abi-return-struct-as-int": true,
"allows-weak-linkage": false,
"arch": "x86_64",
"code-model": "large",
"cpu": "x86-64",
"data-layout": "e-m:w-i64:64-f80:128-n8:16:32:64-S128",
"disable-redzone": true,
"emit-debug-gdb-scripts": false,
"env": "",
"exe-suffix": ".efi",
"executables": true,
"features": "-mmx",
"linker": "rust-lld",
"linker-flavor": "lld-link",
"lld-flavor": "link",
"llvm-target": "x86_64-unknown-windows",
"max-atomic-width": 64,
"os": "uefi",
"panic-strategy": "abort",
"pre-link-args": {
"lld-link": [
"/NOLOGO",
"/NXCOMPAT",
"/nodefaultlib",
"/entry:efi_main",
"/subsystem:efi_application"
]
},
"singlethread": true,
"stack-probes": true,
"target-c-int-width": "32",
"target-endian": "little",
"target-pointer-width": "64",
"vendor": "unknown"
} |
Getting this same error on Rustc 1.47.0 nightly. I can disable soft-float, but would I then need to implement x87 FPU exception handling? Because I have no idea how to do that. |
Also getting this on the current nightly, Memchr 2.2 and up don't compile on the memchr 2.1 and below compile, however. If memchr is in your dependency tree, a workaround is to add |
fixed it in my operating system by enabling SSE (feature and hardware support). In my case the culprit is (i think) fontdue, but who knows. |
Memchr seems to have silently and unexpectedly fixed it in BurntSushi/memchr#77, on crates.io as 2.3.4! For other crates with this issue they should be able to take a similar approach to memchr's solution, and it also doesn't seem to be a Rust bug, though perhaps problems like this could be detected and a better error message produced? |
I suspect the only really viable solution on the Rust end is to require soft-float XOR x87/sse/sse2, and it's not clear that is desirable. This issue seems to have served its purpose, so closing. Please feel free to reopen and continue if this remains a concern. |
Getting a similar result when attempting to compile |
When compiling the crate
memchr
version 2.2.0 with no_std I get this mysterious error. I have no idea what is causing this and enabling a backtrace does not produce any more outputThe text was updated successfully, but these errors were encountered: