-
Notifications
You must be signed in to change notification settings - Fork 12.4k
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
[X86] Suboptimal code for storing double to global (trunk regression) #57449
Comments
@llvm/issue-subscribers-backend-x86 |
Not opaque pointers. It was caused by the change to default to -fpie. https://reviews.llvm.org/D120305 |
See also #56742 |
This is not a regression. This is just a -fno-pic vs -fpie code generation difference. Without PIC, in the small code model, With PIC, the addresses of GCC -fpie has a similar codegen:
|
You patch mentions that “this matches gcc” but codegen of clang and gcc is different here… so gcc does no default to -fpie |
It's a somewhat unfortunate issue in GCC. While the GCC upstream default stays with no-pic for Linux target triples (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103398), all Linux distributions I know (including a lot of GCC build scripts like glibc's |
Ah, ok, thanks for info. |
https://godbolt.org/ doesn't appear to use default PIE, which might be the source of confusion. |
LLVM trunk:
GCC/ICX/LLVM 14
https://godbolt.org/z/15nMMKGof
Possible caused by opaque pointers? cc @nikic
The text was updated successfully, but these errors were encountered: