https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106895
--- Comment #9 from Nicholas Piggin <npiggin at gmail dot com> --- (In reply to Segher Boessenkool from comment #8) > (In reply to Peter Bergner from comment #6) > > (In reply to Segher Boessenkool from comment #5) > > > Constraints are completely the wrong tool for this. Just use modes, which > > > *are* the right tool? > > > > Well you cannot specify modes in the asm, so I think you're saying we need > > use the correct type that maps to a internal to GCC mode that has the > > even/odd register behavior, so something like: > > > > unsigned int foo __attribute__ ((mode (XX))); > > > > ...where XXmode is the new integer mode that gives us even/odd register > > pairs? Of course we have to be careful about how this all works wrt -m32 > > versus -m64. > > No, the type there is "unsigned int". I meant to say exactly what I did say: > just use modes. Which you indeed do in user code by the mode attribute, yes. > > And you do not need a new mode: PTImode should just work. But the user > specifying that is currently broken it seems? I don't know why constraint is wrong and mode is right or why TI doesn't work but PTI apparently would, but I'll take anything that works. Could we get PTI implemented? Does it need a new issue opened? > > Without -mpowerpc64 you cannot *have* 128-bit integers in registers. That > should be > fixed, but you cannot have it in just *two* registers, which is what is > required > here. For most targets that then means -m64 is required.