On 07/21/2011 10:39 AM, Uros Bizjak wrote: > IMO, it is OK to disable 64bit relocations, and that compiler is at > fault here. Consider that something gets written to the d field (see > example of PR49798). Reading a pointer from *m fileld in DImode, we > will get non-zero bits in high 32bits of a pointer. We have to access > the pointer in SImode.
IMO this is only tangentially related to the compiler at all. I think disabling 64bit relocations is unnecessarily awkward for assembly programmers. Consider when one wants to build jump tables. You either have to have a register available for zero-extension, or do the .word x, 0 thing. Which I think is being silly and arbitrary; the assembler damned well knows what I want when I write .quad x. r~