https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66511

--- Comment #3 from Georg-Johann Lay <gjl at gcc dot gnu.org> ---
(In reply to Matthijs Kooijman from comment #2)
> So, IIUC, this is quite hard to fix? Either you use lib functions, which
> prevents the optimizer from just relabeling or coyping registers to apply
> shifting, or you don't and then more complex operations will become very
> verbose and messy?

avr-gcc is using lib functions, but not as libcall but as transparent call
instead.  You'll find the implementation in avr-dimode.md.  avr-gcc has no
proper DImode support.  For reasoning cf. the comments in the head of that
file.

Reply via email to