https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66509
--- Comment #17 from Jack Howarth <howarth.at.gcc at gmail dot com> --- Apple responded on radar as follows... This issue behaves as intended based on the following: I think the first diagnostic is reasonable: there's not particular reason to prefer filds over fildl (or even fildll) so some disambiguation is needed. The second is debatable: MachO does seem to be able to represent it if we wanted, and ld64 seems to handle it correctly, but our execution model never puts any pointers at a location reachable by such a relocation (it's all PAGEZERO). So I think that one is probably best kept too. I'd suggest that GCC use either "filds mem(%rip)" or possibly "filds (%ebp)" (to pick a random example) for something that should assemble in both 64-bit and 32-bit mode -- sidestepping the relocation issue entirely.