On 10/30/23 09:27, Roger Sayle wrote:

WRT H8.  Bug filed so we don't lose track of it.  We don't have DImode 
operations
defined on the H8.  First step would be DImode loads/stores and basic 
arithmetic.

The H8's machine description is impressively well organized.
Would it make sense to add a doubleword.md, or should DImode
support be added to each of the individual addsub.md, logical.md,
shiftrotate.md etc..?
No strong opinion :-) Back when I reorganized this stuff I was just trying to get it more manageable than a single huge .md file -- especially when I knew the port was going to grow 2x larger with the cc0 conversion.


The fact that register-to-register moves clobber some of the flags bits
must also make reload's task very difficult (impossible?).
The clobbering of CC doesn't show up until after reload. At least they're not supposed to show up until then! If they do, then it's a bug and a correctness issue waiting to happen.

Given the lack of registers on the H8 we never felt that supporting DImode in the target files was a good idea. Just supporting a 64bit destructive add uses 5 of the 6 (or 7 if no frame pointer is needed) available registers.

Jeff

Reply via email to