-
Notifications
You must be signed in to change notification settings - Fork 12.6k
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
Simple X32 miscompilation #55061
Labels
Comments
@llvm/issue-subscribers-backend-x86 |
CC @hvdijk |
Confirmed. I was initially thinking this is unlikely to affect real programs since all symbols are guaranteed to be located in the low 2GB virtual address space, but no such restriction is present for |
RKSimon
added a commit
that referenced
this issue
Sep 20, 2023
Test file showing current codegen for D124406
This was referenced Sep 20, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
test.c:
Compile with:
clang -target x86_64-unknown-linux-gnux32 -O1 -c test.c
objdump test.o --disassemble=test
shows:It stores the value to address
0xffffffff80000000
instead of the expected0x80000000
.Seems to only happen with optimizations enabled, and only if bit 32 is set in the address.
The text was updated successfully, but these errors were encountered: