We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
It seems like bug in LLVM generator. Code
let rip: u64; asm!("movq %rip, %rax" : "={rax}"(rip) ::: "volatile");
Produces correct LLVM IR:
%46 = call i64 asm sideeffect "movq %rip, %rax", "={rax},~{dirflag},~{fpsr},~{flags}"(), !dbg !4561, !srcloc !4562
But the output sometimes does not contain the instruction and the value of rip is 0x1d1d1d1d1d1d1d1d.
rip
0x1d1d1d1d1d1d1d1d
The text was updated successfully, but these errors were encountered:
Umm, I think you meant to write "leaq (%rip), %rax"? You can't MOV out of RIP.
It's probably a bug that LLVM doesn't reject it, though.
Sorry, something went wrong.
It looks like this is issue 22892 after all.
Yes, I just didn't remembered that I cannot.
Referencing #22892
This issue can be closed, fixed in nightly: https://is.gd/Q3RvxB
No branches or pull requests
It seems like bug in LLVM generator. Code
Produces correct LLVM IR:
But the output sometimes does not contain the instruction and the value of
rip
is0x1d1d1d1d1d1d1d1d
.The text was updated successfully, but these errors were encountered: